LLVolumeImplFlexible Class Reference

#include <llflexibleobject.h>

Inheritance diagram for LLVolumeImplFlexible:

Inheritance graph
[legend]
Collaboration diagram for LLVolumeImplFlexible:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 LLVolumeImplFlexible (LLViewerObject *volume, LLFlexibleObjectData *attributes)
U32 getID () const
LLVector3 getFramePosition () const
LLQuaternion getFrameRotation () const
LLVolumeInterfaceType getInterfaceType () const
BOOL doIdleUpdate (LLAgent &agent, LLWorld &world, const F64 &time)
BOOL doUpdateGeometry (LLDrawable *drawable)
LLVector3 getPivotPosition () const
void onSetVolume (const LLVolumeParams &volume_params, const S32 detail)
void onSetScale (const LLVector3 &scale, BOOL damped)
void onParameterChanged (U16 param_type, LLNetworkData *data, BOOL in_use, bool local_origin)
void onShift (const LLVector3 &shift_vector)
bool isVolumeUnique () const
bool isVolumeGlobal () const
bool isActive () const
const LLMatrix4getWorldMatrix (LLXformMatrix *xform) const
void updateRelativeXform ()
void doFlexibleUpdate ()
void doFlexibleRebuild ()
void preRebuild ()
void setParentPositionAndRotationDirectly (LLVector3 p, LLQuaternion r)
void setUsingCollisionSphere (bool u)
void setCollisionSphere (LLVector3 position, F32 radius)
void setRenderingCollisionSphere (bool r)
LLVector3 getEndPosition ()
LLQuaternion getEndRotation ()
LLVector3 getNodePosition (int nodeIndex)
LLVector3 getAnchorPosition () const

Static Public Attributes

static F32 sUpdateFactor = 1.0f

Private Member Functions

void setAttributesOfAllSections (LLVector3 *inScale=NULL)
void remapSections (LLFlexibleObjectSection *source, S32 source_sections, LLFlexibleObjectSection *dest, S32 dest_sections)

Private Attributes

LLViewerObjectmVO
LLTimer mTimer
LLVector3 mAnchorPosition
LLVector3 mParentPosition
LLQuaternion mParentRotation
LLQuaternion mLastFrameRotation
LLQuaternion mLastSegmentRotation
BOOL mInitialized
BOOL mUpdated
LLFlexibleObjectDatamAttributes
LLFlexibleObjectSection mSection [(1<< FLEXIBLE_OBJECT_MAX_SECTIONS)+1]
S32 mInitializedRes
S32 mSimulateRes
S32 mRenderRes
U32 mFrameNum
LLVector3 mCollisionSpherePosition
F32 mCollisionSphereRadius
U32 mID


Detailed Description

Definition at line 77 of file llflexibleobject.h.


Constructor & Destructor Documentation

LLVolumeImplFlexible::LLVolumeImplFlexible ( LLViewerObject volume,
LLFlexibleObjectData attributes 
)

Definition at line 59 of file llflexibleobject.cpp.

References FALSE, LLViewerObject::mDrawable, mFrameNum, mID, mInitialized, mInitializedRes, mRenderRes, mSimulateRes, mUpdated, mVO, and LLPointer< Type >::notNull().

Here is the call graph for this function:


Member Function Documentation

U32 LLVolumeImplFlexible::getID (  )  const [inline, virtual]

Implements LLVolumeInterface.

Definition at line 83 of file llflexibleobject.h.

References mID.

LLVector3 LLVolumeImplFlexible::getFramePosition (  )  const

Definition at line 77 of file llflexibleobject.cpp.

References LLViewerObject::getRenderPosition(), and mVO.

Referenced by doFlexibleUpdate(), and getAnchorPosition().

Here is the call graph for this function:

Here is the caller graph for this function:

LLQuaternion LLVolumeImplFlexible::getFrameRotation (  )  const

Definition at line 82 of file llflexibleobject.cpp.

References LLViewerObject::getRenderRotation(), and mVO.

Referenced by doFlexibleUpdate(), doUpdateGeometry(), getAnchorPosition(), and setAttributesOfAllSections().

Here is the call graph for this function:

Here is the caller graph for this function:

LLVolumeInterfaceType LLVolumeImplFlexible::getInterfaceType (  )  const [inline, virtual]

Implements LLVolumeInterface.

Definition at line 86 of file llflexibleobject.h.

References INTERFACE_FLEXIBLE.

BOOL LLVolumeImplFlexible::doIdleUpdate ( LLAgent agent,
LLWorld world,
const F64 time 
) [virtual]

BOOL LLVolumeImplFlexible::doUpdateGeometry ( LLDrawable drawable  )  [virtual]

LLVector3 LLVolumeImplFlexible::getPivotPosition (  )  const [virtual]

Implements LLVolumeInterface.

Definition at line 777 of file llflexibleobject.cpp.

References getAnchorPosition().

Here is the call graph for this function:

void LLVolumeImplFlexible::onSetVolume ( const LLVolumeParams volume_params,
const S32  detail 
) [virtual]

Implements LLVolumeInterface.

Definition at line 255 of file llflexibleobject.cpp.

void LLVolumeImplFlexible::onSetScale ( const LLVector3 scale,
BOOL  damped 
) [virtual]

Implements LLVolumeInterface.

Definition at line 653 of file llflexibleobject.cpp.

References setAttributesOfAllSections().

Here is the call graph for this function:

void LLVolumeImplFlexible::onParameterChanged ( U16  param_type,
LLNetworkData data,
BOOL  in_use,
bool  local_origin 
) [virtual]

Implements LLVolumeInterface.

Definition at line 87 of file llflexibleobject.cpp.

References mAttributes, LLNetworkData::PARAMS_FLEXIBLE, and setAttributesOfAllSections().

Here is the call graph for this function:

void LLVolumeImplFlexible::onShift ( const LLVector3 shift_vector  )  [virtual]

bool LLVolumeImplFlexible::isVolumeUnique (  )  const [inline, virtual]

Implements LLVolumeInterface.

Definition at line 94 of file llflexibleobject.h.

bool LLVolumeImplFlexible::isVolumeGlobal (  )  const [inline, virtual]

Implements LLVolumeInterface.

Definition at line 95 of file llflexibleobject.h.

Referenced by doUpdateGeometry().

Here is the caller graph for this function:

bool LLVolumeImplFlexible::isActive ( void   )  const [inline, virtual]

Implements LLVolumeInterface.

Definition at line 96 of file llflexibleobject.h.

const LLMatrix4 & LLVolumeImplFlexible::getWorldMatrix ( LLXformMatrix xform  )  const [virtual]

Implements LLVolumeInterface.

Definition at line 830 of file llflexibleobject.cpp.

References LLXformMatrix::getWorldMatrix().

Here is the call graph for this function:

void LLVolumeImplFlexible::updateRelativeXform (  )  [virtual]

void LLVolumeImplFlexible::doFlexibleUpdate (  ) 

void LLVolumeImplFlexible::doFlexibleRebuild (  ) 

Definition at line 643 of file llflexibleobject.cpp.

References LLPrimitive::getVolume(), mUpdated, mVO, LLVolume::regen(), and TRUE.

Referenced by doUpdateGeometry(), and preRebuild().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVolumeImplFlexible::preRebuild (  )  [virtual]

Implements LLVolumeInterface.

Definition at line 635 of file llflexibleobject.cpp.

References doFlexibleRebuild(), and mUpdated.

Here is the call graph for this function:

void LLVolumeImplFlexible::setParentPositionAndRotationDirectly ( LLVector3  p,
LLQuaternion  r 
)

Definition at line 105 of file llflexibleobject.cpp.

References mParentPosition, and mParentRotation.

void LLVolumeImplFlexible::setUsingCollisionSphere ( bool  u  ) 

Definition at line 741 of file llflexibleobject.cpp.

void LLVolumeImplFlexible::setCollisionSphere ( LLVector3  position,
F32  radius 
)

Definition at line 732 of file llflexibleobject.cpp.

References mCollisionSpherePosition, and mCollisionSphereRadius.

void LLVolumeImplFlexible::setRenderingCollisionSphere ( bool  r  ) 

Definition at line 747 of file llflexibleobject.cpp.

LLVector3 LLVolumeImplFlexible::getEndPosition (  ) 

Definition at line 752 of file llflexibleobject.cpp.

References LLFlexibleObjectData::getSimulateLOD(), mAttributes, LLFlexibleObjectSection::mPosition, mSection, and S32.

Here is the call graph for this function:

LLQuaternion LLVolumeImplFlexible::getEndRotation (  ) 

Definition at line 795 of file llflexibleobject.cpp.

References mLastSegmentRotation.

LLVector3 LLVolumeImplFlexible::getNodePosition ( int  nodeIndex  ) 

Definition at line 761 of file llflexibleobject.cpp.

References LLFlexibleObjectData::getSimulateLOD(), mAttributes, LLFlexibleObjectSection::mPosition, mSection, and S32.

Here is the call graph for this function:

LLVector3 LLVolumeImplFlexible::getAnchorPosition (  )  const

Definition at line 783 of file llflexibleobject.cpp.

References getFramePosition(), getFrameRotation(), LLViewerObject::mDrawable, LLVector3::mV, mVO, VZ, and LLVector3::z_axis.

Referenced by getPivotPosition(), and setAttributesOfAllSections().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLVolumeImplFlexible::setAttributesOfAllSections ( LLVector3 inScale = NULL  )  [private]

void LLVolumeImplFlexible::remapSections ( LLFlexibleObjectSection source,
S32  source_sections,
LLFlexibleObjectSection dest,
S32  dest_sections 
) [private]


Member Data Documentation

Definition at line 120 of file llflexibleobject.h.

Referenced by doFlexibleUpdate().

Definition at line 121 of file llflexibleobject.h.

Definition at line 122 of file llflexibleobject.h.

Referenced by setParentPositionAndRotationDirectly().

Definition at line 123 of file llflexibleobject.h.

Referenced by setParentPositionAndRotationDirectly().

Definition at line 124 of file llflexibleobject.h.

Referenced by doUpdateGeometry().

Definition at line 125 of file llflexibleobject.h.

Referenced by doFlexibleUpdate(), and getEndRotation().

Definition at line 126 of file llflexibleobject.h.

Referenced by doFlexibleUpdate(), doIdleUpdate(), and LLVolumeImplFlexible().

LLFlexibleObjectSection LLVolumeImplFlexible::mSection[(1<< FLEXIBLE_OBJECT_MAX_SECTIONS)+1] [private]

Definition at line 130 of file llflexibleobject.h.

Referenced by LLVolumeImplFlexible(), and setAttributesOfAllSections().

Definition at line 132 of file llflexibleobject.h.

Referenced by doFlexibleUpdate(), doIdleUpdate(), and LLVolumeImplFlexible().

Definition at line 133 of file llflexibleobject.h.

Referenced by LLVolumeImplFlexible().

Definition at line 134 of file llflexibleobject.h.

Referenced by setCollisionSphere().

Definition at line 135 of file llflexibleobject.h.

Referenced by setCollisionSphere().

Definition at line 136 of file llflexibleobject.h.

Referenced by doIdleUpdate(), getID(), and LLVolumeImplFlexible().

Definition at line 148 of file llflexibleobject.h.

Referenced by doIdleUpdate(), handleFlexLODChanged(), and settings_to_globals().


The documentation for this class was generated from the following files:

Generated on Fri May 16 09:37:41 2008 for SecondLife by  doxygen 1.5.5