|
Blender V5.0
|
#include <octree.h>
Public Member Functions | |
| Octree (const BoundBox &bbox) | |
| ~Octree ()=default | |
| void | build (Device *, Progress &, const Object *, const Shader *) |
| void | flatten (KernelOctreeNode *, const int, const std::shared_ptr< OctreeNode > &, int &) const |
| void | set_flattened (const bool=true) |
| bool | is_flattened () const |
| int | flatten_index (int x, int y, int z) const |
| float3 | index_to_position (int x, int y, int z) const |
| float3 | voxel_size () const |
| int | get_num_nodes () const |
| std::shared_ptr< OctreeNode > | get_root () const |
| bool | is_built () const |
| void | visualize (std::ofstream &file, const std::string object_name) const |
| Octree (ModelReader *mr, DualConAllocOutput alloc_output_func, DualConAddVert add_vert_func, DualConAddQuad add_quad_func, DualConFlags flags, DualConMode dualcon_mode, int depth, float threshold, float sharpness) | |
| ~Octree () | |
| void | scanConvert () |
| void * | getOutputMesh () |
Public Attributes | |
| VirtualMemoryAllocator * | alloc [9] |
| VirtualMemoryAllocator * | leafalloc [4] |
| Node * | root |
| ModelReader * | reader |
| Cubes * | cubes |
| int | dimen |
| int | mindimen |
| int | minshift |
| int | maxDepth |
| float | origin [3] |
| float | range |
| int | nodeCount |
| int | nodeSpace |
| int | nodeCounts [9] |
| int | actualQuads |
| int | actualVerts |
| PathList * | ringList |
| int | maxTrianglePerCell |
| int | outType |
| int | use_flood_fill |
| float | thresh |
| int | use_manifold |
| float | hermite_num |
| DualConMode | mode |
Class for building and processing an octree
Definition at line 58 of file cycles/bvh/octree.h.
| Octree::Octree | ( | const BoundBox & | bbox | ) |
Definition at line 381 of file cycles/bvh/octree.cpp.
References BoundBox::min.
|
default |
Definition at line 91 of file dualcon/intern/octree.cpp.
References cubes.
| Octree::Octree | ( | ModelReader * | mr, |
| DualConAllocOutput | alloc_output_func, | ||
| DualConAddVert | add_vert_func, | ||
| DualConAddQuad | add_quad_func, | ||
| DualConFlags | flags, | ||
| DualConMode | dualcon_mode, | ||
| int | depth, | ||
| float | threshold, | ||
| float | sharpness ) |
Construtor
Definition at line 31 of file dualcon/intern/octree.cpp.
References cubes, dc_printf, dimen, DUALCON_FLOOD_FILL, false, GRID_DIMENSION, hermite_num, maxDepth, maxTrianglePerCell, mindimen, minshift, mode, nodeCount, nodeSpace, origin, range, reader, root, thresh, use_flood_fill, and use_manifold.
| Octree::~Octree | ( | ) |
Destructor
| void Octree::build | ( | Device * | device, |
| Progress & | progress, | ||
| const Object * | object, | ||
| const Shader * | shader ) |
Definition at line 350 of file cycles/bvh/octree.cpp.
References Progress::get_cancel(), name, Progress::set_substatus(), and string_printf().
| void Octree::flatten | ( | KernelOctreeNode * | knodes, |
| const int | current_index, | ||
| const std::shared_ptr< OctreeNode > & | node, | ||
| int & | child_index ) const |
Definition at line 317 of file cycles/bvh/octree.cpp.
References KernelOctreeNode::first_child, flatten(), i, KernelOctreeNode::parent, and KernelOctreeNode::sigma.
Referenced by flatten().
| CCL_NAMESPACE_BEGIN __forceinline int Octree::flatten_index | ( | int | x, |
| int | y, | ||
| int | z ) const |
Definition at line 21 of file cycles/bvh/octree.cpp.
References __forceinline, x, y, and z().
Referenced by fill_shader_input(), and read_shader_output().
| int Octree::get_num_nodes | ( | ) | const |
Definition at line 394 of file cycles/bvh/octree.cpp.
| std::shared_ptr< OctreeNode > Octree::get_root | ( | ) | const |
Definition at line 399 of file cycles/bvh/octree.cpp.
|
inline |
Definition at line 279 of file dualcon/intern/octree.h.
Referenced by dualcon().
| __forceinline float3 Octree::index_to_position | ( | int | x, |
| int | y, | ||
| int | z ) const |
Definition at line 72 of file cycles/bvh/octree.cpp.
References __forceinline, make_float3(), x, y, and z().
Referenced by fill_shader_input().
| bool Octree::is_built | ( | ) | const |
Definition at line 389 of file cycles/bvh/octree.cpp.
| bool Octree::is_flattened | ( | ) | const |
Definition at line 345 of file cycles/bvh/octree.cpp.
| void Octree::scanConvert | ( | ) |
Scan convert
Definition at line 97 of file dualcon/intern/octree.cpp.
References dc_printf, root, and use_flood_fill.
Referenced by dualcon().
| void Octree::set_flattened | ( | const bool | flattened = true | ) |
Definition at line 340 of file cycles/bvh/octree.cpp.
| void Octree::visualize | ( | std::ofstream & | file, |
| const std::string | object_name ) const |
Definition at line 445 of file cycles/bvh/octree.cpp.
| __forceinline float3 Octree::voxel_size | ( | ) | const |
Definition at line 77 of file cycles/bvh/octree.cpp.
References __forceinline.
Referenced by fill_shader_input().
| int Octree::actualQuads |
Definition at line 239 of file dualcon/intern/octree.h.
| int Octree::actualVerts |
Definition at line 239 of file dualcon/intern/octree.h.
| VirtualMemoryAllocator* Octree::alloc[9] |
Memory allocators
Definition at line 211 of file dualcon/intern/octree.h.
| Cubes* Octree::cubes |
Marching cubes table
Definition at line 221 of file dualcon/intern/octree.h.
| int Octree::dimen |
| float Octree::hermite_num |
Definition at line 252 of file dualcon/intern/octree.h.
Referenced by Octree().
| VirtualMemoryAllocator* Octree::leafalloc[4] |
Definition at line 212 of file dualcon/intern/octree.h.
| int Octree::maxDepth |
| int Octree::maxTrianglePerCell |
Definition at line 243 of file dualcon/intern/octree.h.
Referenced by Octree().
| int Octree::mindimen |
Definition at line 225 of file dualcon/intern/octree.h.
Referenced by Octree().
| int Octree::minshift |
Definition at line 225 of file dualcon/intern/octree.h.
Referenced by Octree().
| DualConMode Octree::mode |
Definition at line 254 of file dualcon/intern/octree.h.
Referenced by Octree().
| int Octree::nodeCount |
Counting information
Definition at line 235 of file dualcon/intern/octree.h.
Referenced by Octree().
| int Octree::nodeCounts[9] |
Definition at line 237 of file dualcon/intern/octree.h.
| int Octree::nodeSpace |
Definition at line 236 of file dualcon/intern/octree.h.
Referenced by Octree().
| float Octree::origin[3] |
The lower corner of the bounding box and the size
Definition at line 231 of file dualcon/intern/octree.h.
Referenced by Octree().
| int Octree::outType |
Definition at line 244 of file dualcon/intern/octree.h.
| float Octree::range |
Definition at line 232 of file dualcon/intern/octree.h.
Referenced by Octree().
| ModelReader* Octree::reader |
| PathList* Octree::ringList |
Definition at line 241 of file dualcon/intern/octree.h.
| Node* Octree::root |
Root node
Definition at line 215 of file dualcon/intern/octree.h.
Referenced by Octree(), and scanConvert().
| float Octree::thresh |
Definition at line 248 of file dualcon/intern/octree.h.
Referenced by Octree().
| int Octree::use_flood_fill |
Definition at line 247 of file dualcon/intern/octree.h.
Referenced by Octree(), and scanConvert().
| int Octree::use_manifold |
Definition at line 250 of file dualcon/intern/octree.h.
Referenced by Octree().