diff options
Diffstat (limited to 'indra/llmath')
| -rw-r--r-- | indra/llmath/llvolume.cpp | 3 | ||||
| -rw-r--r-- | indra/llmath/llvolume.h | 2 | 
2 files changed, 5 insertions, 0 deletions
| diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index f08657a75c..cc9744756f 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -2078,6 +2078,7 @@ LLVolume::LLVolume(const LLVolumeParams ¶ms, const F32 detail, const BOOL ge  	mFaceMask = 0x0;  	mDetail = detail;  	mSculptLevel = -2; +	mSurfaceArea = 1.f; //only calculated for sculpts, defaults to 1 for all other prims  	mIsMeshAssetLoaded = FALSE;  	mLODScaleBias.setVec(1,1,1);  	mHullPoints = NULL; @@ -3144,6 +3145,8 @@ void LLVolume::sculpt(U16 sculpt_width, U16 sculpt_height, S8 sculpt_components,  		{  			F32 area = sculptGetSurfaceArea(); +			mSurfaceArea = area; +  			const F32 SCULPT_MAX_AREA = 384.f;  			if (area < SCULPT_MIN_AREA || area > SCULPT_MAX_AREA) diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h index afd1ec5eed..76cf9de613 100644 --- a/indra/llmath/llvolume.h +++ b/indra/llmath/llvolume.h @@ -963,6 +963,7 @@ public:  	S32	getNumFaces() const;  	S32 getNumVolumeFaces() const							{ return mVolumeFaces.size(); }  	F32 getDetail() const									{ return mDetail; } +	F32 getSurfaceArea() const								{ return mSurfaceArea; }  	const LLVolumeParams& getParams() const					{ return mParams; }  	LLVolumeParams getCopyOfParams() const					{ return mParams; }  	const LLProfile& getProfile() const						{ return *mProfilep; } @@ -1065,6 +1066,7 @@ public:  	BOOL mUnique;  	F32 mDetail;  	S32 mSculptLevel; +	F32 mSurfaceArea; //unscaled surface area  	BOOL mIsMeshAssetLoaded;  	LLVolumeParams mParams; | 
