diff options
author | Cosmic Linden <cosmic@lindenlab.com> | 2022-04-12 14:05:51 -0700 |
---|---|---|
committer | Cosmic Linden <cosmic@lindenlab.com> | 2022-06-21 12:33:32 -0700 |
commit | 162280cd981b97ffef927553ec230cddcda878ce (patch) | |
tree | 2ab68a3f1bd6f8d48bb4bbae831218bc7668559d /indra/llmath/llvolume.h | |
parent | dbe0cb58653b3199f6abcf640d38e8fb99b2e073 (diff) |
SL-17021: Templatize LLOctreeNode and related classes to allow for option to store elements in octrees as raw pointers. Use for faster allocation in LLVolumeFace::createOctree.
Diffstat (limited to 'indra/llmath/llvolume.h')
-rw-r--r-- | indra/llmath/llvolume.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h index c0b224b1ff..da155c7b41 100644 --- a/indra/llmath/llvolume.h +++ b/indra/llmath/llvolume.h @@ -35,7 +35,8 @@ class LLVolumeParams; class LLProfile; class LLPath; -template <class T> class LLOctreeNode; +template<class T> class LLPointer; +template <class T, typename T_PTR> class LLOctreeNode; class LLVolumeFace; class LLVolume; @@ -974,7 +975,9 @@ public: // vertices per joint. LLJointRiggingInfoTab mJointRiggingInfoTab; - LLOctreeNode<LLVolumeTriangle>* mOctree; + // This octree stores raw pointer references to triangles in mOctreeTriangles + LLOctreeNode<LLVolumeTriangle, LLVolumeTriangle*>* mOctree; + std::vector<LLVolumeTriangle> mOctreeTriangles; //whether or not face has been cache optimized BOOL mOptimized; |