diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-04-17 07:17:24 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-04-17 07:21:24 +0300 |
commit | e12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch) | |
tree | 8cf3453d12edb177a218ef8009357518ec6cab6a /intern/cycles/bvh/bvh_build.h | |
parent | b3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (diff) |
ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
Diffstat (limited to 'intern/cycles/bvh/bvh_build.h')
-rw-r--r-- | intern/cycles/bvh/bvh_build.h | 193 |
1 files changed, 94 insertions, 99 deletions
diff --git a/intern/cycles/bvh/bvh_build.h b/intern/cycles/bvh/bvh_build.h index dd95a5cc0e8..9685e26cfac 100644 --- a/intern/cycles/bvh/bvh_build.h +++ b/intern/cycles/bvh/bvh_build.h @@ -41,106 +41,101 @@ class Progress; /* BVH Builder */ -class BVHBuild -{ -public: - /* Constructor/Destructor */ - BVHBuild(const vector<Object*>& objects, - array<int>& prim_type, - array<int>& prim_index, - array<int>& prim_object, - array<float2>& prim_time, - const BVHParams& params, - Progress& progress); - ~BVHBuild(); - - BVHNode *run(); - -protected: - friend class BVHMixedSplit; - friend class BVHObjectSplit; - friend class BVHSpatialSplit; - friend class BVHBuildTask; - friend class BVHSpatialSplitBuildTask; - friend class BVHObjectBinning; - - /* Adding references. */ - void add_reference_triangles(BoundBox& root, BoundBox& center, Mesh *mesh, int i); - void add_reference_curves(BoundBox& root, BoundBox& center, Mesh *mesh, int i); - void add_reference_mesh(BoundBox& root, BoundBox& center, Mesh *mesh, int i); - void add_reference_object(BoundBox& root, BoundBox& center, Object *ob, int i); - void add_references(BVHRange& root); - - /* Building. */ - BVHNode *build_node(const BVHRange& range, - vector<BVHReference> *references, - int level, - int thread_id); - BVHNode *build_node(const BVHObjectBinning& range, int level); - BVHNode *create_leaf_node(const BVHRange& range, - const vector<BVHReference>& references); - BVHNode *create_object_leaf_nodes(const BVHReference *ref, int start, int num); - - bool range_within_max_leaf_size(const BVHRange& range, - const vector<BVHReference>& references) const; - - /* Threads. */ - enum { THREAD_TASK_SIZE = 4096 }; - void thread_build_node(InnerNode *node, - int child, - BVHObjectBinning *range, - int level); - void thread_build_spatial_split_node(InnerNode *node, - int child, - BVHRange *range, - vector<BVHReference> *references, - int level, - int thread_id); - thread_mutex build_mutex; - - /* Progress. */ - void progress_update(); - - /* Tree rotations. */ - void rotate(BVHNode *node, int max_depth); - void rotate(BVHNode *node, int max_depth, int iterations); - - /* Objects and primitive references. */ - vector<Object*> objects; - vector<BVHReference> references; - int num_original_references; - - /* Output primitive indexes and objects. */ - array<int>& prim_type; - array<int>& prim_index; - array<int>& prim_object; - array<float2>& prim_time; - - bool need_prim_time; - - /* Build parameters. */ - BVHParams params; - - /* Progress reporting. */ - Progress& progress; - double progress_start_time; - size_t progress_count; - size_t progress_total; - size_t progress_original_total; - - /* Spatial splitting. */ - float spatial_min_overlap; - vector<BVHSpatialStorage> spatial_storage; - size_t spatial_free_index; - thread_spin_lock spatial_spin_lock; - - /* Threads. */ - TaskPool task_pool; - - /* Unaligned building. */ - BVHUnaligned unaligned_heuristic; +class BVHBuild { + public: + /* Constructor/Destructor */ + BVHBuild(const vector<Object *> &objects, + array<int> &prim_type, + array<int> &prim_index, + array<int> &prim_object, + array<float2> &prim_time, + const BVHParams ¶ms, + Progress &progress); + ~BVHBuild(); + + BVHNode *run(); + + protected: + friend class BVHMixedSplit; + friend class BVHObjectSplit; + friend class BVHSpatialSplit; + friend class BVHBuildTask; + friend class BVHSpatialSplitBuildTask; + friend class BVHObjectBinning; + + /* Adding references. */ + void add_reference_triangles(BoundBox &root, BoundBox ¢er, Mesh *mesh, int i); + void add_reference_curves(BoundBox &root, BoundBox ¢er, Mesh *mesh, int i); + void add_reference_mesh(BoundBox &root, BoundBox ¢er, Mesh *mesh, int i); + void add_reference_object(BoundBox &root, BoundBox ¢er, Object *ob, int i); + void add_references(BVHRange &root); + + /* Building. */ + BVHNode *build_node(const BVHRange &range, + vector<BVHReference> *references, + int level, + int thread_id); + BVHNode *build_node(const BVHObjectBinning &range, int level); + BVHNode *create_leaf_node(const BVHRange &range, const vector<BVHReference> &references); + BVHNode *create_object_leaf_nodes(const BVHReference *ref, int start, int num); + + bool range_within_max_leaf_size(const BVHRange &range, + const vector<BVHReference> &references) const; + + /* Threads. */ + enum { THREAD_TASK_SIZE = 4096 }; + void thread_build_node(InnerNode *node, int child, BVHObjectBinning *range, int level); + void thread_build_spatial_split_node(InnerNode *node, + int child, + BVHRange *range, + vector<BVHReference> *references, + int level, + int thread_id); + thread_mutex build_mutex; + + /* Progress. */ + void progress_update(); + + /* Tree rotations. */ + void rotate(BVHNode *node, int max_depth); + void rotate(BVHNode *node, int max_depth, int iterations); + + /* Objects and primitive references. */ + vector<Object *> objects; + vector<BVHReference> references; + int num_original_references; + + /* Output primitive indexes and objects. */ + array<int> &prim_type; + array<int> &prim_index; + array<int> &prim_object; + array<float2> &prim_time; + + bool need_prim_time; + + /* Build parameters. */ + BVHParams params; + + /* Progress reporting. */ + Progress &progress; + double progress_start_time; + size_t progress_count; + size_t progress_total; + size_t progress_original_total; + + /* Spatial splitting. */ + float spatial_min_overlap; + vector<BVHSpatialStorage> spatial_storage; + size_t spatial_free_index; + thread_spin_lock spatial_spin_lock; + + /* Threads. */ + TaskPool task_pool; + + /* Unaligned building. */ + BVHUnaligned unaligned_heuristic; }; CCL_NAMESPACE_END -#endif /* __BVH_BUILD_H__ */ +#endif /* __BVH_BUILD_H__ */ |