LLVolumeFace Class Reference

#include <llvolume.h>

Collaboration diagram for LLVolumeFace:

Collaboration graph
[legend]
List of all members.

Public Types

 SINGLE_MASK = 0x0001
 CAP_MASK = 0x0002
 END_MASK = 0x0004
 SIDE_MASK = 0x0008
 INNER_MASK = 0x0010
 OUTER_MASK = 0x0020
 HOLLOW_MASK = 0x0040
 OPEN_MASK = 0x0080
 FLAT_MASK = 0x0100
 TOP_MASK = 0x0200
 BOTTOM_MASK = 0x0400
enum  {
  SINGLE_MASK = 0x0001, CAP_MASK = 0x0002, END_MASK = 0x0004, SIDE_MASK = 0x0008,
  INNER_MASK = 0x0010, OUTER_MASK = 0x0020, HOLLOW_MASK = 0x0040, OPEN_MASK = 0x0080,
  FLAT_MASK = 0x0100, TOP_MASK = 0x0200, BOTTOM_MASK = 0x0400
}

Public Member Functions

 LLVolumeFace ()
BOOL create ()

Static Public Member Functions

static BOOL updateColors (LLColor4U *old_colors, const S32 num_old, const LLVolumeFace &old_face, LLStrider< LLColor4U > &new_colors, const S32 num_new, const LLVolumeFace &new_face)

Public Attributes

S32 mID
U32 mTypeMask
LLVector3 mCenter
S32 mBeginS
S32 mBeginT
S32 mNumS
S32 mNumT
LLVector3 mExtents [2]
std::vector< VertexDatamVertices
std::vector< S32mIndices
std::vector< S32mEdge
LLVolumemVolumep

Protected Member Functions

BOOL createUnCutCubeCap ()
BOOL createCap ()
BOOL createSide ()

Classes

class  VertexData

Detailed Description

Definition at line 761 of file llvolume.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
SINGLE_MASK 
CAP_MASK 
END_MASK 
SIDE_MASK 
INNER_MASK 
OUTER_MASK 
HOLLOW_MASK 
OPEN_MASK 
FLAT_MASK 
TOP_MASK 
BOTTOM_MASK 

Definition at line 776 of file llvolume.h.


Constructor & Destructor Documentation

LLVolumeFace::LLVolumeFace (  ) 

Definition at line 3966 of file llvolume.cpp.

References mBeginS, mBeginT, mID, mNumS, mNumT, and mTypeMask.


Member Function Documentation

BOOL LLVolumeFace::create (  ) 

Definition at line 3977 of file llvolume.cpp.

References CAP_MASK, createCap(), createSide(), END_MASK, FALSE, llendl, llerrs, mTypeMask, and SIDE_MASK.

BOOL LLVolumeFace::createCap (  )  [protected]

Definition at line 4104 of file llvolume.cpp.

References BOTTOM_MASK, calc_binormal_from_triangle(), LLVector3::clearVec(), createUnCutCubeCap(), f, FALSE, LLPathParams::getCurveType(), LLProfileParams::getCurveType(), LLVolume::getMesh(), LLVolume::getPath(), LLVolume::getProfile(), LLProfile::getTotal(), HOLLOW_MASK, i, LL_PCODE_PATH_LINE, LL_PCODE_PROFILE_SQUARE, llassert, LLVector3::magVecSquared(), mBeginS, LLVolumeFace::VertexData::mBinormal, mCenter, mExtents, mIndices, LLVolumeFace::VertexData::mNormal, LLPath::mParams, LLProfile::mParams, LLPath::mPath, LLVolumeFace::VertexData::mPosition, LLProfile::mProfile, LLVolumeFace::VertexData::mTexCoord, mTypeMask, LLVector3::mV, mVertices, mVolumep, LLVector3::normVec(), OPEN_MASK, S32, TRUE, update_min_max(), vector_append(), and VZ.

Referenced by create().

BOOL LLVolumeFace::createSide (  )  [protected]

Definition at line 4487 of file llvolume.cpp.

References calc_binormal_from_triangle(), LLVector3::clearVec(), END_MASK, f, FALSE, FLAT_MASK, LLVolume::getMesh(), LLVolume::getParams(), LLVolume::getPath(), LLVolume::getPathType(), LLVolume::getProfile(), LLVolume::getProfileType(), LLVolumeParams::getSculptType(), LLProfile::getTotal(), i, INNER_MASK, LLPath::isOpen(), LLProfile::isOpen(), j, LL_PCODE_PATH_CIRCLE, LL_PCODE_PROFILE_CIRCLE_HALF, LL_PCODE_PROFILE_MASK, LL_SCULPT_TYPE_CYLINDER, LL_SCULPT_TYPE_NONE, LL_SCULPT_TYPE_SPHERE, LL_SCULPT_TYPE_TORUS, llfloor(), mBeginS, mBeginT, mCenter, mEdge, mExtents, mIndices, mNumS, mNumT, LLPath::mPath, LLProfile::mProfile, mTypeMask, mVertices, mVolumep, OPEN_MASK, s, S32, t, TRUE, update_min_max(), v1, v2, and vector_append().

Referenced by create().

BOOL LLVolumeFace::createUnCutCubeCap (  )  [protected]

Definition at line 4007 of file llvolume.cpp.

References calc_binormal_from_triangle(), f, LLVolume::getMesh(), LLVolume::getPath(), LLVolume::getProfile(), LLProfile::getTotal(), i, LerpPlanarVertex(), mBeginS, LLVolumeFace::VertexData::mBinormal, mCenter, mExtents, mIndices, LLVolumeFace::VertexData::mNormal, LLPath::mPath, LLVolumeFace::VertexData::mPosition, LLProfile::mProfile, LLVolumeFace::VertexData::mTexCoord, mTypeMask, LLVector2::mV, mVertices, mVolumep, LLVector3::normVec(), S32, t, TOP_MASK, TRUE, and update_min_max().

Referenced by createCap().

BOOL LLVolumeFace::updateColors ( LLColor4U old_colors,
const S32  num_old,
const LLVolumeFace old_face,
LLStrider< LLColor4U > &  new_colors,
const S32  num_new,
const LLVolumeFace new_face 
) [static]

Definition at line 4840 of file llvolume.cpp.

References CAP_MASK, END_MASK, FALSE, mTypeMask, S32, and v.


Member Data Documentation

S32 LLVolumeFace::mBeginS

Definition at line 797 of file llvolume.h.

Referenced by createCap(), createSide(), createUnCutCubeCap(), and LLVolumeFace().

S32 LLVolumeFace::mBeginT

Definition at line 798 of file llvolume.h.

Referenced by createSide(), and LLVolumeFace().

LLVector3 LLVolumeFace::mCenter

Definition at line 794 of file llvolume.h.

Referenced by createCap(), createSide(), createUnCutCubeCap(), and LLFace::getGeometryVolume().

std::vector<S32> LLVolumeFace::mEdge

Definition at line 806 of file llvolume.h.

Referenced by createSide().

LLVector3 LLVolumeFace::mExtents[2]

Definition at line 802 of file llvolume.h.

Referenced by createCap(), createSide(), and createUnCutCubeCap().

S32 LLVolumeFace::mID

Definition at line 792 of file llvolume.h.

Referenced by LLVolumeFace().

std::vector<S32> LLVolumeFace::mIndices

Definition at line 805 of file llvolume.h.

Referenced by createCap(), createSide(), createUnCutCubeCap(), LLFace::getGeometryVolume(), LLImagePreviewSculpted::render(), LLVOVolume::updateFaceSize(), and LLVOTextBubble::updateFaceSize().

S32 LLVolumeFace::mNumS

Definition at line 799 of file llvolume.h.

Referenced by createSide(), and LLVolumeFace().

S32 LLVolumeFace::mNumT

Definition at line 800 of file llvolume.h.

Referenced by createSide(), and LLVolumeFace().

U32 LLVolumeFace::mTypeMask

Definition at line 793 of file llvolume.h.

Referenced by create(), createCap(), createSide(), createUnCutCubeCap(), LLVolumeFace(), and updateColors().

std::vector<VertexData> LLVolumeFace::mVertices

Definition at line 804 of file llvolume.h.

Referenced by createCap(), createSide(), createUnCutCubeCap(), LLFace::getGeometryVolume(), LLImagePreviewSculpted::render(), LLVOVolume::updateFaceSize(), and LLVOTextBubble::updateFaceSize().

LLVolume* LLVolumeFace::mVolumep

Definition at line 807 of file llvolume.h.

Referenced by createCap(), createSide(), and createUnCutCubeCap().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:12:02 2010 for Second Life Viewer by  doxygen 1.4.7