aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llflexibleobject.h
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:44:50 -0500
committerJacek Antonelli2008-08-15 23:44:50 -0500
commit89fe5dab825a62a0e3fd8d248cbc91c65eb2a426 (patch)
treebcff14b7888d04a2fec799c59369f6095224bd08 /linden/indra/newview/llflexibleobject.h
parentSecond Life viewer sources 1.13.3.2 (diff)
downloadmeta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.zip
meta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.tar.gz
meta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.tar.bz2
meta-impy-89fe5dab825a62a0e3fd8d248cbc91c65eb2a426.tar.xz
Second Life viewer sources 1.14.0.0
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/llflexibleobject.h36
1 files changed, 5 insertions, 31 deletions
diff --git a/linden/indra/newview/llflexibleobject.h b/linden/indra/newview/llflexibleobject.h
index c028adb..9772c57 100644
--- a/linden/indra/newview/llflexibleobject.h
+++ b/linden/indra/newview/llflexibleobject.h
@@ -76,6 +76,7 @@ class LLVolumeImplFlexible : public LLVolumeInterface
76 LLVolumeImplFlexible(LLViewerObject* volume, LLFlexibleObjectData* attributes); 76 LLVolumeImplFlexible(LLViewerObject* volume, LLFlexibleObjectData* attributes);
77 77
78 // Implements LLVolumeInterface 78 // Implements LLVolumeInterface
79 U32 getID() const { return mID; }
79 LLVector3 getFramePosition() const; 80 LLVector3 getFramePosition() const;
80 LLQuaternion getFrameRotation() const; 81 LLQuaternion getFrameRotation() const;
81 LLVolumeInterfaceType getInterfaceType() const { return INTERFACE_FLEXIBLE; } 82 LLVolumeInterfaceType getInterfaceType() const { return INTERFACE_FLEXIBLE; }
@@ -90,12 +91,10 @@ class LLVolumeImplFlexible : public LLVolumeInterface
90 bool isVolumeGlobal() const { return true; } 91 bool isVolumeGlobal() const { return true; }
91 bool isActive() const { return true; } 92 bool isActive() const { return true; }
92 const LLMatrix4& getWorldMatrix(LLXformMatrix* xform) const; 93 const LLMatrix4& getWorldMatrix(LLXformMatrix* xform) const;
93 void updateRelativeXform(BOOL global_volume = FALSE); 94 void updateRelativeXform();
94 void doFlexibleUpdate(); // Called to update the simulation 95 void doFlexibleUpdate(); // Called to update the simulation
95 void doFlexibleRebuild(); // Called to rebuild the geometry 96 void doFlexibleRebuild(); // Called to rebuild the geometry
96 static void resetUpdateBins(); 97
97 static void doFlexibleUpdateBins();
98
99 //void setAttributes( LLFlexibleObjectData ); 98 //void setAttributes( LLFlexibleObjectData );
100 void setParentPositionAndRotationDirectly( LLVector3 p, LLQuaternion r ); 99 void setParentPositionAndRotationDirectly( LLVector3 p, LLQuaternion r );
101 void setUsingCollisionSphere( bool u ); 100 void setUsingCollisionSphere( bool u );
@@ -128,10 +127,7 @@ class LLVolumeImplFlexible : public LLVolumeInterface
128 U32 mFrameNum; 127 U32 mFrameNum;
129 LLVector3 mCollisionSpherePosition; 128 LLVector3 mCollisionSpherePosition;
130 F32 mCollisionSphereRadius; 129 F32 mCollisionSphereRadius;
131 130 U32 mID;
132 U64 mLastUpdate;
133
134 BOOL mJustShifted;
135 131
136 //-------------------------------------- 132 //--------------------------------------
137 // private methods 133 // private methods
@@ -140,29 +136,7 @@ class LLVolumeImplFlexible : public LLVolumeInterface
140 136
141 void remapSections(LLFlexibleObjectSection *source, S32 source_sections, 137 void remapSections(LLFlexibleObjectSection *source, S32 source_sections,
142 LLFlexibleObjectSection *dest, S32 dest_sections); 138 LLFlexibleObjectSection *dest, S32 dest_sections);
143 139
144 U64 getLastUpdate() const { return mLastUpdate; }
145
146 // LOD Bins
147 struct FlexCompare
148 {
149 bool operator()(LLVolumeImplFlexible* a, LLVolumeImplFlexible* b) const
150 {
151 U64 a_update = a->getLastUpdate();
152 U64 b_update = b->getLastUpdate();
153 if (a_update == b_update)
154 {
155 return a < b; // compare pointers
156 }
157 return a_update < b_update;
158 }
159 };
160 typedef std::set<LLVolumeImplFlexible*, FlexCompare> lodset_t;
161 static lodset_t sLODBins[ FLEXIBLE_OBJECT_MAX_LOD ];
162 static U64 sCurrentUpdateFrame;
163 static U32 sDebugInserted;
164 static U32 sDebugVisible;
165
166public: 140public:
167 // Global setting for update rate 141 // Global setting for update rate
168 static F32 sUpdateFactor; 142 static F32 sUpdateFactor;