Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osg::SurfaceBase Class Reference

Surface Base Class.

#include <OSGSurfaceBase.h>

Inheritance diagram for osg::SurfaceBase:

osg::Geometry osg::GeometryBase osg::MaterialDrawable osg::MaterialDrawableBase osg::Drawable osg::DrawableBase osg::NodeCore osg::AttachmentContainer osg::FieldContainer osg::Surface List of all members.

Class Specific

Int16 calcMappingIndex (UInt16 attrib) const
virtual void changed (BitVector whichField, UInt32 origin)
GeometryPtr getPtr (void) const
GeometryPtr clone (void)
virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
bool isMergeable (const GeometryPtr other)
bool merge (const GeometryPtr other)
*static const char * mapType (UInt8 type)

Public Types

typedef SurfacePtr Ptr
enum  {
  DimUFieldId = Inherited::NextFieldId, DimVFieldId = DimUFieldId + 1, KnotsUFieldId = DimVFieldId + 1, KnotsVFieldId = KnotsUFieldId + 1,
  ControlPointsFieldId = KnotsVFieldId + 1, ErrorFieldId = ControlPointsFieldId + 1, NumCurvesFieldId = ErrorFieldId + 1, KnotLengthsFieldId = NumCurvesFieldId + 1,
  DimensionsFieldId = KnotLengthsFieldId + 1, CurveControlPointsFieldId = DimensionsFieldId + 1, KnotsFieldId = CurveControlPointsFieldId + 1, CurvesPerLoopFieldId = KnotsFieldId + 1,
  IsDelaunayFieldId = CurvesPerLoopFieldId + 1, TextureControlPointsFieldId = IsDelaunayFieldId + 1, DirtyMaskFieldId = TextureControlPointsFieldId + 1, SurfaceGLIdFieldId = DirtyMaskFieldId + 1,
  NextFieldId = SurfaceGLIdFieldId + 1
}

Public Member Functions

Handle Attachments
*void addAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0)
void subAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0)
AttachmentPtr findAttachment (UInt32 groupId, UInt16 binding=0)
AttachmentPtr findAttachment (const FieldContainerType &type, UInt16 binding=0)
Field Access *SFAttachmentMapgetSFAttachments (void)
Get Instance Type Information
UInt32 getTypeId (void) const
UInt16 getGroupId (void) const
const Char8getTypeName (void) const
Generic Field Access *FieldgetField (UInt32 fieldId)
FieldgetField (const Char8 *fieldName)
FieldContainer Get
*virtual FieldContainerTypegetType (void)
virtual const FieldContainerTypegetType (void) const
virtual UInt32 getContainerSize (void) const
Field Get
*SFUInt32getSFDimU (void)
 Get the Surface::_sfDimU field.
SFUInt32getSFDimV (void)
 Get the Surface::_sfDimV field.
MFReal32getMFKnotsU (void)
 Get the Surface::_mfKnotsU field.
MFReal32getMFKnotsV (void)
 Get the Surface::_mfKnotsV field.
SFGeoPositionsPtrgetSFControlPoints (void)
 Get the Surface::_sfControlPoints field.
SFReal32getSFError (void)
 Get the Surface::_sfError field.
SFBoolgetSFIsDelaunay (void)
 Get the Surface::_sfIsDelaunay field.
SFGeoTexCoordsPtrgetSFTextureControlPoints (void)
 Get the Surface::_sfTextureControlPoints field.
UInt32getDimU (void)
 Get the value of the Surface::_sfDimU field.
const UInt32getDimU (void) const
 Get the value of the Surface::_sfDimU field.
UInt32getDimV (void)
 Get the value of the Surface::_sfDimV field.
const UInt32getDimV (void) const
 Get the value of the Surface::_sfDimV field.
GeoPositionsPtrgetControlPoints (void)
 Get the value of the Surface::_sfControlPoints field.
const GeoPositionsPtrgetControlPoints (void) const
 Get the value of the Surface::_sfControlPoints field.
Real32getError (void)
 Get the value of the Surface::_sfError field.
const Real32getError (void) const
 Get the value of the Surface::_sfError field.
bool & getIsDelaunay (void)
 Get the value of the Surface::_sfIsDelaunay field.
const bool & getIsDelaunay (void) const
 Get the value of the Surface::_sfIsDelaunay field.
GeoTexCoordsPtrgetTextureControlPoints (void)
 Get the value of the Surface::_sfTextureControlPoints field.
const GeoTexCoordsPtrgetTextureControlPoints (void) const
 Get the value of the Surface::_sfTextureControlPoints field.
Real32getKnotsU (const UInt32 index)
 Get the value of the index element the Surface::_mfKnotsU field.
MFReal32getKnotsU (void)
 Get the Surface::_mfKnotsU field.
const MFReal32getKnotsU (void) const
 Get the Surface::_mfKnotsU field.
Real32getKnotsV (const UInt32 index)
 Get the value of the index element the Surface::_mfKnotsV field.
MFReal32getKnotsV (void)
 Get the Surface::_mfKnotsV field.
const MFReal32getKnotsV (void) const
 Get the Surface::_mfKnotsV field.
Field Set
*void setDimU (const UInt32 &value)
 Set the value of the Surface::_sfDimU field.
void setDimV (const UInt32 &value)
 Set the value of the Surface::_sfDimV field.
void setControlPoints (const GeoPositionsPtr &value)
 Set the value of the Surface::_sfControlPoints field.
void setError (const Real32 &value)
 Set the value of the Surface::_sfError field.
void setIsDelaunay (const bool &value)
 Set the value of the Surface::_sfIsDelaunay field.
void setTextureControlPoints (const GeoTexCoordsPtr &value)
 Set the value of the Surface::_sfTextureControlPoints field.
Binary Access
*virtual UInt32 getBinSize (const BitVector &whichField)
virtual void copyToBin (BinaryDataHandler &pMem, const BitVector &whichField)
virtual void copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField)
Copy
*virtual FieldContainerPtr shallowCopy (void) const
Abstract
*virtual GeoPropertyArrayInterfacegetProperty (Int32 mapID)
Field Set
*void setTypes (const GeoPTypesPtr &value)
 Set the value of the Geometry::_sfTypes field.
void setLengths (const GeoPLengthsPtr &value)
 Set the value of the Geometry::_sfLengths field.
void setPositions (const GeoPositionsPtr &value)
 Set the value of the Geometry::_sfPositions field.
void setNormals (const GeoNormalsPtr &value)
 Set the value of the Geometry::_sfNormals field.
void setColors (const GeoColorsPtr &value)
 Set the value of the Geometry::_sfColors field.
void setSecondaryColors (const GeoColorsPtr &value)
 Set the value of the Geometry::_sfSecondaryColors field.
void setTexCoords (const GeoTexCoordsPtr &value)
 Set the value of the Geometry::_sfTexCoords field.
void setTexCoords1 (const GeoTexCoordsPtr &value)
 Set the value of the Geometry::_sfTexCoords1 field.
void setTexCoords2 (const GeoTexCoordsPtr &value)
 Set the value of the Geometry::_sfTexCoords2 field.
void setTexCoords3 (const GeoTexCoordsPtr &value)
 Set the value of the Geometry::_sfTexCoords3 field.
void setIndices (const GeoIndicesPtr &value)
 Set the value of the Geometry::_sfIndices field.
void setMaterial (const MaterialPtr &value)
 Set the value of the MaterialDrawable::_sfMaterial field.
Iterator Access
*TriangleIterator beginTriangles (void) const
TriangleIterator endTriangles (void) const
PrimitiveIterator beginPrimitives (void) const
PrimitiveIterator endPrimitives (void) const
FaceIterator beginFaces (void) const
FaceIterator endFaces (void) const
LineIterator beginLines (void) const
LineIterator endLines (void) const
EdgeIterator beginEdges (void) const
EdgeIterator endEdges (void) const
Draw
*virtual Action::ResultE drawPrimitives (DrawActionBase *action)
 initialize the static features of the class, e.g. action callbacks
Action::ResultE intersect (Action *action)
NewActionTypes::ResultE intersect (ActorBase::FunctorArgumentType &funcArg)
void invalidateDlistCache (void)
NodeCore Specific
*void adjustVolume (Volume &volume)
Field Get
*SFGeoPTypesPtrgetSFTypes (void)
 Get the Geometry::_sfTypes field.
SFGeoPLengthsPtrgetSFLengths (void)
 Get the Geometry::_sfLengths field.
SFGeoPositionsPtrgetSFPositions (void)
 Get the Geometry::_sfPositions field.
SFGeoNormalsPtrgetSFNormals (void)
 Get the Geometry::_sfNormals field.
SFGeoColorsPtrgetSFColors (void)
 Get the Geometry::_sfColors field.
SFGeoColorsPtrgetSFSecondaryColors (void)
 Get the Geometry::_sfSecondaryColors field.
SFGeoTexCoordsPtrgetSFTexCoords (void)
 Get the Geometry::_sfTexCoords field.
SFGeoTexCoordsPtrgetSFTexCoords1 (void)
 Get the Geometry::_sfTexCoords1 field.
SFGeoTexCoordsPtrgetSFTexCoords2 (void)
 Get the Geometry::_sfTexCoords2 field.
SFGeoTexCoordsPtrgetSFTexCoords3 (void)
 Get the Geometry::_sfTexCoords3 field.
SFGeoIndicesPtrgetSFIndices (void)
 Get the Geometry::_sfIndices field.
MFUInt16getMFIndexMapping (void)
 Get the Geometry::_mfIndexMapping field.
SFBoolgetSFDlistCache (void)
 Get the Geometry::_sfDlistCache field.
GeoPTypesPtrgetTypes (void)
 Get the value of the Geometry::_sfTypes field.
const GeoPTypesPtrgetTypes (void) const
 Get the value of the Geometry::_sfTypes field.
GeoPLengthsPtrgetLengths (void)
 Get the value of the Geometry::_sfLengths field.
const GeoPLengthsPtrgetLengths (void) const
 Get the value of the Geometry::_sfLengths field.
GeoPositionsPtrgetPositions (void)
 Get the value of the Geometry::_sfPositions field.
const GeoPositionsPtrgetPositions (void) const
 Get the value of the Geometry::_sfPositions field.
GeoNormalsPtrgetNormals (void)
 Get the value of the Geometry::_sfNormals field.
const GeoNormalsPtrgetNormals (void) const
 Get the value of the Geometry::_sfNormals field.
GeoColorsPtrgetColors (void)
 Get the value of the Geometry::_sfColors field.
const GeoColorsPtrgetColors (void) const
 Get the value of the Geometry::_sfColors field.
GeoColorsPtrgetSecondaryColors (void)
 Get the value of the Geometry::_sfSecondaryColors field.
const GeoColorsPtrgetSecondaryColors (void) const
 Get the value of the Geometry::_sfSecondaryColors field.
GeoTexCoordsPtrgetTexCoords (void)
 Get the value of the Geometry::_sfTexCoords field.
const GeoTexCoordsPtrgetTexCoords (void) const
 Get the value of the Geometry::_sfTexCoords field.
GeoTexCoordsPtrgetTexCoords1 (void)
 Get the value of the Geometry::_sfTexCoords1 field.
const GeoTexCoordsPtrgetTexCoords1 (void) const
 Get the value of the Geometry::_sfTexCoords1 field.
GeoTexCoordsPtrgetTexCoords2 (void)
 Get the value of the Geometry::_sfTexCoords2 field.
const GeoTexCoordsPtrgetTexCoords2 (void) const
 Get the value of the Geometry::_sfTexCoords2 field.
GeoTexCoordsPtrgetTexCoords3 (void)
 Get the value of the Geometry::_sfTexCoords3 field.
const GeoTexCoordsPtrgetTexCoords3 (void) const
 Get the value of the Geometry::_sfTexCoords3 field.
GeoIndicesPtrgetIndices (void)
 Get the value of the Geometry::_sfIndices field.
const GeoIndicesPtrgetIndices (void) const
 Get the value of the Geometry::_sfIndices field.
bool & getDlistCache (void)
 Get the value of the Geometry::_sfDlistCache field.
const bool & getDlistCache (void) const
 Get the value of the Geometry::_sfDlistCache field.
UInt16getIndexMapping (const UInt32 index)
 Get the value of the index element the Geometry::_mfIndexMapping field.
MFUInt16getIndexMapping (void)
 Get the Geometry::_mfIndexMapping field.
const MFUInt16getIndexMapping (void) const
 Get the Geometry::_mfIndexMapping field.
Field Set
void setDlistCache (const bool &value)
 Set the value of the Geometry::_sfDlistCache field.
action handler
Action::ResultE drawActionHandler (Action *action)
 initialize the static features of the class, e.g. action callbacks
Action::ResultE renderActionHandler (Action *action)
 initialize the static features of the class, e.g. action callbacks
Field Get
*SFMaterialPtrgetSFMaterial (void)
 Get the MaterialDrawable::_sfMaterial field.
MaterialPtrgetMaterial (void)
 Get the value of the MaterialDrawable::_sfMaterial field.
const MaterialPtrgetMaterial (void) const
 Get the value of the MaterialDrawable::_sfMaterial field.
Parents
*MFNodePtrgetParents (void)
const MFNodePtrgetParents (void) const
MFNodePtrgetMFParents (void)
Volume
*virtual void invalidateVolume (void)
Handle Attachments
*void addAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0)
void subAttachment (const AttachmentPtr &fieldContainerP, UInt16 binding=0)
AttachmentPtr findAttachment (UInt32 groupId, UInt16 binding=0)
AttachmentPtr findAttachment (const FieldContainerType &type, UInt16 binding=0)
Field Access *SFAttachmentMapgetSFAttachments (void)
Get Instance Type Information
UInt32 getTypeId (void) const
UInt16 getGroupId (void) const
const Char8getTypeName (void) const
Generic Field Access *FieldgetField (UInt32 fieldId)
FieldgetField (const Char8 *fieldName)

Static Public Member Functions

Get Class Type Information
static UInt16 getClassGroupId (void)
Class Get
*static FieldContainerTypegetClassType (void)
 access the type of the class
static UInt32 getClassTypeId (void)
 access the numerical type of the class
Construction
*static SurfacePtr create (void)
 create a new instance of the class
static SurfacePtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype
Class Get
*static const char * getClassname (void)
Get Class Type Information
static UInt16 getClassGroupId (void)

Static Public Attributes

static const osg::BitVector DimUFieldMask
static const osg::BitVector DimVFieldMask
static const osg::BitVector KnotsUFieldMask
static const osg::BitVector KnotsVFieldMask
static const osg::BitVector ControlPointsFieldMask
static const osg::BitVector ErrorFieldMask
static const osg::BitVector NumCurvesFieldMask
static const osg::BitVector KnotLengthsFieldMask
static const osg::BitVector DimensionsFieldMask
static const osg::BitVector CurveControlPointsFieldMask
static const osg::BitVector KnotsFieldMask
static const osg::BitVector CurvesPerLoopFieldMask
static const osg::BitVector IsDelaunayFieldMask
static const osg::BitVector TextureControlPointsFieldMask
static const osg::BitVector DirtyMaskFieldMask
static const osg::BitVector SurfaceGLIdFieldMask
static const osg::BitVector MTInfluenceMask
static const osg::BitVector TypesFieldMask
static const osg::BitVector LengthsFieldMask
static const osg::BitVector PositionsFieldMask
static const osg::BitVector NormalsFieldMask
static const osg::BitVector ColorsFieldMask
static const osg::BitVector SecondaryColorsFieldMask
static const osg::BitVector TexCoordsFieldMask
static const osg::BitVector TexCoords1FieldMask
static const osg::BitVector TexCoords2FieldMask
static const osg::BitVector TexCoords3FieldMask
static const osg::BitVector IndicesFieldMask
static const osg::BitVector IndexMappingFieldMask
static const osg::BitVector DlistCacheFieldMask
static const osg::BitVector GLIdFieldMask
static const osg::BitVector MaterialFieldMask
static const BitVector ParentsFieldMask = (1 << NodeCore::ParentsFieldId )
static const BitVector AttachmentsFieldMask
static const BitVector NextFieldMask
IndexMapping Constants
*static const UInt16 MapPosition = 1
static const UInt16 MapNormal = Geometry::MapPosition << 1
static const UInt16 MapColor = Geometry::MapNormal << 1
static const UInt16 MapSecondaryColor = Geometry::MapColor << 1
static const UInt16 MapTexCoords = Geometry::MapSecondaryColor << 1
static const UInt16 MapTexCoords1 = Geometry::MapTexCoords << 1
static const UInt16 MapTexCoords2 = Geometry::MapTexCoords1 << 1
static const UInt16 MapTexCoords3 = Geometry::MapTexCoords2 << 1
static const UInt16 MapEmpty = Geometry::MapTexCoords3 << 1
static stat elem
*static StatElemDesc< StatIntElemstatNTriangles
static StatElemDesc< StatIntElemstatNLines
static StatElemDesc< StatIntElemstatNPoints
static StatElemDesc< StatIntElemstatNVertices
static StatElemDesc< StatIntElemstatNPrimitives
CoredNodePtr helper
*static const bool isNodeCore = true

Protected Member Functions

Sync
void executeSyncImpl (AttachmentContainer *pOther, const BitVector &whichField)
Sync
void executeSyncImpl (FieldContainer *pOther, const BitVector &whichField)
Pointer
*AttachmentContainerPtr getPtr (void)
MT Edit
template<class FieldTypeT>
*void beginEditX (const BitVector &whichField, FieldTypeT &field)
template<class FieldTypeT>
void endEditX (const BitVector &whichField, FieldTypeT &field)
MT Construction
*void onCreate (const FieldContainer *source=NULL)
void onCreateAspect (const FieldContainer *aspect0, const FieldContainer *source=NULL)
Constructors
SurfaceBase (void)
 SurfaceBase (const SurfaceBase &source)
Destructors
*virtual ~SurfaceBase (void)
Field Get
*SFUInt32getSFNumCurves (void)
 Get the Surface::_sfNumCurves field.
MFUInt32getMFKnotLengths (void)
 Get the Surface::_mfKnotLengths field.
MFUInt32getMFDimensions (void)
 Get the Surface::_mfDimensions field.
MFPnt3fgetMFCurveControlPoints (void)
 Get the Surface::_mfCurveControlPoints field.
MFReal32getMFKnots (void)
 Get the Surface::_mfKnots field.
MFUInt32getMFCurvesPerLoop (void)
 Get the Surface::_mfCurvesPerLoop field.
SFUInt32getSFDirtyMask (void)
 Get the Surface::_sfDirtyMask field.
SFInt32getSFSurfaceGLId (void)
 Get the Surface::_sfSurfaceGLId field.
UInt32getNumCurves (void)
 Get the value of the Surface::_sfNumCurves field.
const UInt32getNumCurves (void) const
 Get the value of the Surface::_sfNumCurves field.
UInt32getDirtyMask (void)
 Get the value of the Surface::_sfDirtyMask field.
const UInt32getDirtyMask (void) const
 Get the value of the Surface::_sfDirtyMask field.
Int32getSurfaceGLId (void)
 Get the value of the Surface::_sfSurfaceGLId field.
const Int32getSurfaceGLId (void) const
 Get the value of the Surface::_sfSurfaceGLId field.
UInt32getKnotLengths (UInt32 index)
 Get the value of the index element the Surface::_mfKnotLengths field.
MFUInt32getKnotLengths (void)
 Get the Surface::_mfKnotLengths field.
const MFUInt32getKnotLengths (void) const
 Get the Surface::_mfKnotLengths field.
UInt32getDimensions (UInt32 index)
 Get the value of the index element the Surface::_mfDimensions field.
MFUInt32getDimensions (void)
 Get the Surface::_mfDimensions field.
const MFUInt32getDimensions (void) const
 Get the Surface::_mfDimensions field.
Pnt3fgetCurveControlPoints (UInt32 index)
 Get the value of the index element the Surface::_mfCurveControlPoints field.
MFPnt3fgetCurveControlPoints (void)
 Get the Surface::_mfCurveControlPoints field.
const MFPnt3fgetCurveControlPoints (void) const
 Get the Surface::_mfCurveControlPoints field.
Real32getKnots (UInt32 index)
 Get the value of the index element the Surface::_mfKnots field.
MFReal32getKnots (void)
 Get the Surface::_mfKnots field.
const MFReal32getKnots (void) const
 Get the Surface::_mfKnots field.
UInt32getCurvesPerLoop (UInt32 index)
 Get the value of the index element the Surface::_mfCurvesPerLoop field.
MFUInt32getCurvesPerLoop (void)
 Get the Surface::_mfCurvesPerLoop field.
const MFUInt32getCurvesPerLoop (void) const
 Get the Surface::_mfCurvesPerLoop field.
Field Set
*void setNumCurves (const UInt32 &value)
 Set the value of the Surface::_sfNumCurves field.
void setDirtyMask (const UInt32 &value)
 Set the value of the Surface::_sfDirtyMask field.
void setSurfaceGLId (const Int32 &value)
 Set the value of the Surface::_sfSurfaceGLId field.
Sync
*void executeSyncImpl (SurfaceBase *pOther, const BitVector &whichField)
virtual void executeSync (FieldContainer &other, const BitVector &whichField)
Pointer
*AttachmentContainerPtr getPtr (void)
Class Specific
*void handleGL (Window *win, UInt32 id)
void onCreate (const Geometry *source=NULL)
bool CompareMaterials (MaterialPtr m1, MaterialPtr m2)
Int16 MergeIndex (const GeometryPtr other)
void merge0 (const GeometryPtr other)
void merge1 (const GeometryPtr other)
void merge2 (const GeometryPtr other)
void merge3 (const GeometryPtr other)
void merge4 (const GeometryPtr other)
void merge5 (const GeometryPtr other)
void merge6 (const GeometryPtr other)
MT Construction
*void onCreate (const FieldContainer *source=NULL)
void onCreateAspect (const FieldContainer *aspect0, const FieldContainer *source=NULL)
Field Get
*SFInt32getSFGLId (void)
 Get the Geometry::_sfGLId field.
Int32getGLId (void)
 Get the value of the Geometry::_sfGLId field.
const Int32getGLId (void) const
 Get the value of the Geometry::_sfGLId field.
Field Set
*void setGLId (const Int32 &value)
 Set the value of the Geometry::_sfGLId field.
Sync
*void executeSyncImpl (GeometryBase *pOther, const BitVector &whichField)
Sync
*void executeSyncImpl (MaterialDrawableBase *pOther, const BitVector &whichField)
Sync
*void executeSyncImpl (DrawableBase *pOther, const BitVector &whichField)
Sync
void executeSyncImpl (NodeCore *pOther, const BitVector &whichField)
Sync
void executeSyncImpl (AttachmentContainer *pOther, const BitVector &whichField)
Sync
void executeSyncImpl (FieldContainer *pOther, const BitVector &whichField)
MT Destruction
*virtual void onDestroy (void)
Set / Get Parents
*void addParent (const NodePtr &parent)
void