summaryrefslogtreecommitdiff
path: root/indra/llmath/llvolume.h
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2024-09-04 13:51:31 +0300
committerAndrey Lihatskiy <alihatskiy@productengine.com>2024-09-04 13:51:31 +0300
commite5bcd6f50a8247dde1121210150835d968dc214d (patch)
tree27f2d17c397bbebc1a1071248b63dc6d33a43cb7 /indra/llmath/llvolume.h
parente25d23aaac77f3793207aa0baf59ae64ea5eba41 (diff)
parent2fc8d5ff3cfa1b9ad00b310cd4a6cdb557b9415c (diff)
Merge branch 'develop' into marchcat/b-develop
# Conflicts: # indra/llcommon/llerror.h
Diffstat (limited to 'indra/llmath/llvolume.h')
-rw-r--r--indra/llmath/llvolume.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h
index bbb2a16b0b..27c5fc5a49 100644
--- a/indra/llmath/llvolume.h
+++ b/indra/llmath/llvolume.h
@@ -918,6 +918,15 @@ public:
// Get a reference to the octree, which may be null
const LLVolumeOctree* getOctree() const;
+ // Part of silhouette generation (used by selection outlines)
+ // Populates the provided edge array with numbers corresponding to
+ // *partial* logic of whether a particular index should be rendered
+ // as a silhouette edge. -1 indicates the index should be rendered as a
+ // silhouette edge. See generateSilhouetteVertices for the full logic.
+ // Silhouette edges can only be generated for some types of prims. If a
+ // silhouette edge cannot be generated, the edge array will be left empty.
+ void generateSilhouetteEdge(const LLVolume* volume, std::vector<S32>& edge) const;
+
enum
{
SINGLE_MASK = 0x0001,
@@ -963,8 +972,6 @@ public:
// indexes for mPositions/mNormals/mTexCoords
U16* mIndices;
- std::vector<S32> mEdge;
-
//list of skin weights for rigged volumes
// format is mWeights[vertex_index].mV[influence] = <joint_index>.<weight>
// mWeights.size() should be empty or match mVertices.size()
@@ -1113,9 +1120,9 @@ private:
public:
virtual void setMeshAssetLoaded(bool loaded);
- virtual bool isMeshAssetLoaded();
+ virtual bool isMeshAssetLoaded() const;
virtual void setMeshAssetUnavaliable(bool unavaliable);
- virtual bool isMeshAssetUnavaliable();
+ virtual bool isMeshAssetUnavaliable() const;
protected:
bool mUnique;