summaryrefslogtreecommitdiff
path: root/indra/llmath/llvolume.h
diff options
context:
space:
mode:
authorCosmic Linden <cosmic@lindenlab.com>2022-04-12 14:05:51 -0700
committerCosmic Linden <cosmic@lindenlab.com>2022-06-21 12:33:32 -0700
commit162280cd981b97ffef927553ec230cddcda878ce (patch)
tree2ab68a3f1bd6f8d48bb4bbae831218bc7668559d /indra/llmath/llvolume.h
parentdbe0cb58653b3199f6abcf640d38e8fb99b2e073 (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.h7
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;