osg::VRMLGeometryObjectDesc Class Reference
[VRML-specific File Input/Output]

VRML Gemetry Object Desc. More...

#include <OSGVRMLNodeDescs.h>

Inheritance diagram for osg::VRMLGeometryObjectDesc:

osg::VRMLNodeDesc

List of all members.

Member



FieldNameTypeHash _mFieldTypes
GenericAttPtr _pGenAtt
FieldContainerPtr _pNodeProto
FieldContainerPtr _pNodeCoreProto
Field_pCurrField
std::string _szCurrentName
bool _bSaveOnEnd
static UInt32 _uiIndent = 0
FieldgetField (FieldContainerPtr pFC1, FieldContainerPtr pFC2, GenericAttPtr pGenAtt, const Char8 *szFieldname)

Public Member Functions

Constructors


 VRMLGeometryObjectDesc (Char8 *szVRMLObjectname)
Destructor


virtual ~VRMLGeometryObjectDesc (void)
Helper


virtual void init (const Char8 *szName)
Field


virtual bool prototypeAddField (const Char8 *szFieldType, const UInt32 uiFieldTypeId, const Char8 *szFieldName)
virtual void getFieldAndDesc (FieldContainerPtr pFC, const Char8 *szFieldname, Field *&pField, const FieldDescription *&pDesc)
Node


virtual FieldContainerPtr beginNode (const Char8 *szTypename, const Char8 *szName, FieldContainerPtr pCurrentFC)
virtual void endNode (FieldContainerPtr)
Dump


virtual void dump (const Char8 *szNodeName)
Helper


virtual void reset (void)
virtual void setOnEndSave (const Char8 *szName)
virtual void clearOnEndSave (void)
virtual bool getOnEndSave (void)
virtual const Char8getSavename (void)
virtual FieldContainerPtr getSaveFieldContainer (void)
Field


virtual FieldgetField (const Char8 *szFieldname)
Prototypes


virtual void prototypeAddFieldValue (const Char8 *szFieldVal)
virtual void endProtoInterface (void)
FieldValue


virtual void addFieldValue (Field *pField, const Char8 *szFieldVal)
virtual bool use (FieldContainerPtr)

Static Public Member Functions

Class Get


static UInt32 getIndent (void)
static void incIndent (void)
static void decIndent (void)
static void resetIndent (void)

Protected Types

typedef std::map< const Char8
*, UInt32, LTString
FieldNameTypeHash

Protected Attributes

Member


Char8_szVRMLObjectname

Private Types

typedef VRMLNodeDesc Inherited

Private Member Functions

 VRMLGeometryObjectDesc (const VRMLGeometryObjectDesc &source)
 prohibit default function (move to 'public' if needed)
void operator= (const VRMLGeometryObjectDesc &source)
 prohibit default function (move to 'public' if needed)


Detailed Description

VRML Geometry Object Set description

Definition at line 723 of file OSGVRMLNodeDescs.h.


Member Typedef Documentation

Definition at line 794 of file OSGVRMLNodeDescs.h.

typedef std::map< const Char8 *, UInt32, LTString> osg::VRMLNodeDesc::FieldNameTypeHash [protected, inherited]

Definition at line 298 of file OSGVRMLNodeDescs.h.


Constructor & Destructor Documentation

VRMLGeometryObjectDesc::VRMLGeometryObjectDesc ( Char8 szVRMLObjectname  ) 

Definition at line 2228 of file OSGVRMLNodeDescs.cpp.

References _szVRMLObjectname, and osg::stringDup().

02228                                                                       :
02229     Inherited(),
02230 
02231     _szVRMLObjectname(NULL)
02232 {
02233     stringDup(szVRMLObjectname, _szVRMLObjectname);
02234 }

VRMLGeometryObjectDesc::~VRMLGeometryObjectDesc ( void   )  [virtual]

Definition at line 2239 of file OSGVRMLNodeDescs.cpp.

02240 {
02241 }

osg::VRMLGeometryObjectDesc::VRMLGeometryObjectDesc ( const VRMLGeometryObjectDesc source  )  [private]


Member Function Documentation

void VRMLGeometryObjectDesc::init ( const Char8 szName  )  [virtual]

Reimplemented from osg::VRMLNodeDesc.

Definition at line 2246 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeProto, _szVRMLObjectname, osg::DynFieldAttachment< AttachmentDescT >::create(), osg::Node::create(), osg::VRMLNodeDesc::getIndent(), osg::indentLog(), osg::NullFC, PINFO, and PWARNING.

02247 {
02248 #ifdef OSG_DEBUG_VRML
02249     indentLog(getIndent(), PINFO);
02250     PINFO << "GeoObjDesc::init : "
02251           << szName << " "
02252           << _szVRMLObjectname
02253           << std::endl;
02254 #endif
02255 
02256     _pNodeProto = Node::create();
02257 
02258     if(_pNodeProto == NullFC)
02259     {
02260         PWARNING << "GeoObjDesc::init : no prototype available" << std::endl;
02261     }
02262 
02263     _pGenAtt = GenericAtt::create();
02264     _pGenAtt->setInternal(true);
02265 }

bool VRMLGeometryObjectDesc::prototypeAddField ( const Char8 szFieldType,
const UInt32  uiFieldTypeId,
const Char8 szFieldName 
) [virtual]

Reimplemented from osg::VRMLNodeDesc.

Definition at line 2270 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_pCurrField, and osg::VRMLNodeDesc::prototypeAddField().

02273 {
02274     _pCurrField = NULL;
02275 
02276     bool rc = VRMLNodeDesc::prototypeAddField(szFieldType,
02277                                               uiFieldTypeId,
02278                                               szFieldname);
02279 
02280     return rc;
02281 }

void VRMLGeometryObjectDesc::getFieldAndDesc ( FieldContainerPtr  pFC,
const Char8 szFieldname,
Field *&  pField,
const FieldDescription *&  pDesc 
) [virtual]

Reimplemented from osg::VRMLNodeDesc.

Definition at line 2283 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::decIndent(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::NullFC, and PINFO.

02288 {
02289 #ifdef OSG_DEBUG_VRML
02290     indentLog(getIndent(), PINFO);
02291     PINFO << "VRMLGeometryObjectDesc::getFieldAndDesc : looking for "
02292           << szFieldname
02293           << std::endl;
02294 #endif
02295 
02296     if(szFieldname == NULL)
02297         return;
02298 
02299     if(pFC == NullFC)
02300         return;
02301 
02302     incIndent();
02303 
02304     Inherited::getFieldAndDesc(pFC,
02305                                szFieldname,
02306                                pField,
02307                                pDesc);
02308 
02309 #ifdef OSG_DEBUG_VRML
02310     decIndent();
02311 #endif
02312 }

FieldContainerPtr VRMLGeometryObjectDesc::beginNode ( const Char8 szTypename,
const Char8 szName,
FieldContainerPtr  pCurrentFC 
) [virtual]

Reimplemented from osg::VRMLNodeDesc.

Definition at line 2317 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeProto, osg::NodePtr::dcast(), osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::dcast(), and osg::NullFC.

02321 {
02322     FieldContainerPtr returnValue = NullFC;
02323     NodePtr           pNode       = NullFC;
02324     GenericAttPtr     pAtt        = NullFC;
02325 
02326     if(_pNodeProto != NullFC)
02327     {
02328         FieldContainerPtr pAttClone = _pGenAtt->clone();
02329 
02330         pAtt = GenericAttPtr::dcast(pAttClone);
02331 
02332         if(pAtt != NullFC)
02333         {
02334             pAtt->setInternal(true);
02335         }
02336 
02337         returnValue = _pNodeProto->shallowCopy();
02338 
02339         pNode = NodePtr::dcast(returnValue);
02340 
02341         pNode->addAttachment(pAtt);
02342     }
02343 
02344     return returnValue;
02345 }

void VRMLGeometryObjectDesc::endNode ( FieldContainerPtr  pFC  )  [virtual]

Reimplemented from osg::VRMLNodeDesc.

Definition at line 2347 of file OSGVRMLNodeDescs.cpp.

References _szVRMLObjectname, osg::beginEditCP(), osg::Node::CoreFieldMask, osg::NodePtr::dcast(), osg::endEditCP(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getIndent(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::indentLog(), osg::makeBoxGeo(), osg::makeConeGeo(), osg::makeCylinderGeo(), osg::makeLatLongSphereGeo(), osg::NullFC, PINFO, and osg::stringcasecmp().

02348 {
02349           Field            *pField = NULL;
02350     const FieldDescription *pDesc  = NULL;
02351           NodePtr           pNode  = NullFC;
02352 
02353     if(pFC == NullFC)
02354         return;
02355 
02356     pNode = NodePtr::dcast(pFC);
02357 
02358     if(pNode == NullFC)
02359         return;
02360 
02361     if(     stringcasecmp("Box",      _szVRMLObjectname) == 0)
02362     {
02363         Inherited::getFieldAndDesc(pFC,
02364                                    "size",
02365                                    pField,
02366                                    pDesc);
02367 
02368         if(pField != NULL)
02369         {
02370             SFVec3f *pVec = static_cast<SFVec3f *>(pField);
02371 
02372 #ifdef OSG_DEBUG_VRML
02373             indentLog(getIndent(), PINFO);
02374             PINFO << "VRMLGeometryObjectDesc::endNode : Create box"
02375                   << std::endl;
02376 #endif
02377 
02378             GeometryPtr pGeo = makeBoxGeo(pVec->getValue()[0],
02379                                           pVec->getValue()[1],
02380                                           pVec->getValue()[2],
02381                                           1,1,1);
02382 
02383             beginEditCP(pNode, Node::CoreFieldMask);
02384             {
02385                 pNode->setCore(pGeo);
02386             }
02387             endEditCP  (pNode, Node::CoreFieldMask);
02388         }
02389     }
02390     else if(stringcasecmp("Cone",     _szVRMLObjectname) == 0)
02391     {
02392         SFReal32 *pBotRad = NULL;
02393         SFReal32 *pHeight = NULL;
02394         SFBool   *pSide   = NULL;
02395         SFBool   *pBottom = NULL;
02396 
02397         Inherited::getFieldAndDesc(pFC,
02398                                    "bottomRadius",
02399                                    pField,
02400                                    pDesc);
02401 
02402         if(pField != NULL)
02403         {
02404             pBotRad = static_cast<SFReal32 *>(pField);
02405         }
02406 
02407         Inherited::getFieldAndDesc(pFC,
02408                                    "height",
02409                                    pField,
02410                                    pDesc);
02411 
02412         if(pField != NULL)
02413         {
02414             pHeight = static_cast<SFReal32 *>(pField);
02415         }
02416 
02417         Inherited::getFieldAndDesc(pFC,
02418                                    "side",
02419                                    pField,
02420                                    pDesc);
02421 
02422         if(pField != NULL)
02423         {
02424             pSide = static_cast<SFBool *>(pField);
02425         }
02426 
02427         Inherited::getFieldAndDesc(pFC,
02428                                    "bottom",
02429                                    pField,
02430                                    pDesc);
02431 
02432         if(pField != NULL)
02433         {
02434             pBottom = static_cast<SFBool *>(pField);
02435         }
02436 
02437         if(pBotRad != NULL &&
02438            pHeight != NULL &&
02439            pSide   != NULL &&
02440            pBottom != NULL)
02441         {
02442 #ifdef OSG_DEBUG_VRML
02443             indentLog(getIndent(), PINFO);
02444             PINFO << "VRMLGeometryObjectDesc::endNode : Create cone"
02445                   << std::endl;
02446 #endif
02447 
02448             GeometryPtr pGeo = makeConeGeo(pHeight->getValue(),
02449                                            pBotRad->getValue(),
02450                                            32,
02451                                            pSide  ->getValue(),
02452                                            pBottom->getValue());
02453 
02454             beginEditCP(pNode, Node::CoreFieldMask);
02455             {
02456                 pNode->setCore(pGeo);
02457             }
02458             endEditCP  (pNode, Node::CoreFieldMask);
02459         }
02460     }
02461     else if(stringcasecmp("Cylinder", _szVRMLObjectname) == 0)
02462     {
02463         SFBool   *pBottom = NULL;
02464         SFReal32 *pHeight = NULL;
02465         SFReal32 *pRadius = NULL;
02466         SFBool   *pSide   = NULL;
02467         SFBool   *pTop    = NULL;
02468 
02469         Inherited::getFieldAndDesc(pFC,
02470                                    "bottom",
02471                                    pField,
02472                                    pDesc);
02473 
02474         if(pField != NULL)
02475         {
02476             pBottom = static_cast<SFBool *>(pField);
02477         }
02478 
02479         Inherited::getFieldAndDesc(pFC,
02480                                    "height",
02481                                    pField,
02482                                    pDesc);
02483 
02484         if(pField != NULL)
02485         {
02486             pHeight = static_cast<SFReal32 *>(pField);
02487         }
02488 
02489         Inherited::getFieldAndDesc(pFC,
02490                                    "radius",
02491                                    pField,
02492                                    pDesc);
02493 
02494         if(pField != NULL)
02495         {
02496             pRadius = static_cast<SFReal32 *>(pField);
02497         }
02498 
02499         Inherited::getFieldAndDesc(pFC,
02500                                    "side",
02501                                    pField,
02502                                    pDesc);
02503 
02504         if(pField != NULL)
02505         {
02506             pSide = static_cast<SFBool *>(pField);
02507         }
02508 
02509         Inherited::getFieldAndDesc(pFC,
02510                                    "top",
02511                                    pField,
02512                                    pDesc);
02513 
02514         if(pField != NULL)
02515         {
02516             pTop = static_cast<SFBool *>(pField);
02517         }
02518 
02519 
02520         if(pBottom != NULL &&
02521            pHeight != NULL &&
02522            pRadius != NULL &&
02523            pSide   != NULL &&
02524            pTop    != NULL)
02525         {
02526 #ifdef OSG_DEBUG_VRML
02527             indentLog(getIndent(), PINFO);
02528             PINFO << "VRMLGeometryObjectDesc::endNode : Create cylinder"
02529                   << std::endl;
02530 #endif
02531 
02532             GeometryPtr pGeo = makeCylinderGeo(pHeight->getValue(),
02533                                                pRadius->getValue(),
02534                                                32,
02535                                                pSide  ->getValue(),
02536                                                pTop   ->getValue(),
02537                                                pBottom->getValue());
02538 
02539             beginEditCP(pNode, Node::CoreFieldMask);
02540             {
02541                 pNode->setCore(pGeo);
02542             }
02543             endEditCP  (pNode, Node::CoreFieldMask);
02544         }
02545     }
02546     else if(stringcasecmp("Sphere",   _szVRMLObjectname) == 0)
02547     {
02548         Inherited::getFieldAndDesc(pFC,
02549                                    "radius",
02550                                    pField,
02551                                    pDesc);
02552 
02553         if(pField != NULL)
02554         {
02555             SFReal32 *pValue = static_cast<SFReal32 *>(pField);
02556 
02557 #ifdef OSG_DEBUG_VRML
02558             indentLog(getIndent(), PINFO);
02559             PINFO << "VRMLGeometryObjectDesc::endNode : Create sphere"
02560                   << std::endl;
02561 #endif
02562 
02563             GeometryPtr pGeo = makeLatLongSphereGeo(8, 16, pValue->getValue());
02564 
02565             beginEditCP(pNode, Node::CoreFieldMask);
02566             {
02567                 pNode->setCore(pGeo);
02568             }
02569             endEditCP  (pNode, Node::CoreFieldMask);
02570         }
02571 
02572     }
02573 }

void VRMLGeometryObjectDesc::dump ( const Char8 szNodeName  )  [virtual]

Reimplemented from osg::VRMLNodeDesc.

Definition at line 2578 of file OSGVRMLNodeDescs.cpp.

02579 {
02580 }

void osg::VRMLGeometryObjectDesc::operator= ( const VRMLGeometryObjectDesc source  )  [private]

UInt32 VRMLNodeDesc::getIndent ( void   )  [static, inherited]

Definition at line 128 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_uiIndent.

Referenced by osg::VRMLNodeFactory< BaseT >::addFieldValue(), osg::VRMLNodeFactory< BaseT >::beginEventInDecl(), osg::VRMLNodeFactory< BaseT >::beginEventOutDecl(), osg::VRMLViewpointDesc::beginNode(), osg::VRMLInlineDesc::beginNode(), osg::VRMLGroupDesc::beginNode(), osg::VRMLSwitchDesc::beginNode(), osg::VRMLLODDesc::beginNode(), osg::VRMLPixelTextureDesc::beginNode(), osg::VRMLImageTextureDesc::beginNode(), osg::VRMLTextureTransformDesc::beginNode(), osg::VRMLAppearanceDesc::beginNode(), osg::VRMLGeometryPointSetDesc::beginNode(), osg::VRMLGeometryDesc::beginNode(), osg::VRMLShapeDesc::beginNode(), osg::VRMLFile::beginNode(), osg::VRMLNodeFactory< BaseT >::beginProto(), osg::VRMLFile::endField(), osg::VRMLViewpointDesc::endNode(), osg::VRMLInlineDesc::endNode(), osg::VRMLExtrusionDesc::endNode(), osg::VRMLGroupDesc::endNode(), osg::VRMLSwitchDesc::endNode(), osg::VRMLLODDesc::endNode(), osg::VRMLPixelTextureDesc::endNode(), osg::VRMLImageTextureDesc::endNode(), osg::VRMLTextureTransformDesc::endNode(), osg::VRMLAppearanceDesc::endNode(), endNode(), osg::VRMLGeometryPointSetDesc::endNode(), osg::VRMLGeometryDesc::endNode(), osg::VRMLShapeDesc::endNode(), osg::VRMLFile::endNode(), osg::VRMLNodeFactory< BaseT >::findNodeDesc(), osg::VRMLNodeDesc::getField(), osg::VRMLViewpointDesc::getFieldAndDesc(), osg::VRMLInlineDesc::getFieldAndDesc(), osg::VRMLExtrusionDesc::getFieldAndDesc(), osg::VRMLGroupDesc::getFieldAndDesc(), osg::VRMLSwitchDesc::getFieldAndDesc(), osg::VRMLLODDesc::getFieldAndDesc(), osg::VRMLAppearanceDesc::getFieldAndDesc(), getFieldAndDesc(), osg::VRMLGeometryPartDesc::getFieldAndDesc(), osg::VRMLGeometryPointSetDesc::getFieldAndDesc(), osg::VRMLGeometryDesc::getFieldAndDesc(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLFile::getFieldType(), osg::VRMLInlineDesc::init(), osg::VRMLExtrusionDesc::init(), osg::VRMLGroupDesc::init(), osg::VRMLSwitchDesc::init(), osg::VRMLLODDesc::init(), osg::VRMLPixelTextureDesc::init(), osg::VRMLImageTextureDesc::init(), osg::VRMLTextureTransformDesc::init(), osg::VRMLMaterialDesc::init(), osg::VRMLAppearanceDesc::init(), init(), osg::VRMLGeometryPartDesc::init(), osg::VRMLGeometryPointSetDesc::init(), osg::VRMLGeometryDesc::init(), osg::VRMLShapeDesc::init(), osg::VRMLPixelTextureDesc::prototypeAddField(), osg::VRMLImageTextureDesc::prototypeAddField(), osg::VRMLTextureTransformDesc::prototypeAddField(), osg::VRMLMaterialDesc::prototypeAddField(), osg::VRMLGeometryPartDesc::prototypeAddField(), osg::VRMLGeometryPointSetDesc::prototypeAddField(), osg::VRMLGeometryDesc::prototypeAddField(), osg::VRMLShapeDesc::prototypeAddField(), osg::VRMLNodeDesc::prototypeAddField(), osg::VRMLFile::setContainerFieldValue(), and osg::VRMLFile::use().

00129 {
00130     return _uiIndent;
00131 }

void VRMLNodeDesc::incIndent ( void   )  [static, inherited]

void VRMLNodeDesc::decIndent ( void   )  [static, inherited]

void VRMLNodeDesc::resetIndent ( void   )  [static, inherited]

void VRMLNodeDesc::reset ( void   )  [virtual, inherited]

void VRMLNodeDesc::setOnEndSave ( const Char8 szName  )  [virtual, inherited]

Definition at line 209 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_bSaveOnEnd, and osg::VRMLNodeDesc::_szCurrentName.

Referenced by osg::VRMLFile::beginNode().

00210 {
00211     _szCurrentName = szName; // does that make a copy? I expect it to...
00212     _bSaveOnEnd = true;
00213 }

void VRMLNodeDesc::clearOnEndSave ( void   )  [virtual, inherited]

Definition at line 215 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_bSaveOnEnd.

Referenced by osg::VRMLFile::endNode().

00216 {
00217     _bSaveOnEnd = false;
00218 }

bool VRMLNodeDesc::getOnEndSave ( void   )  [virtual, inherited]

Definition at line 220 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_bSaveOnEnd.

Referenced by osg::VRMLFile::endNode().

00221 {
00222     return _bSaveOnEnd;
00223 }

const Char8 * VRMLNodeDesc::getSavename ( void   )  [virtual, inherited]

Definition at line 225 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_szCurrentName.

Referenced by osg::VRMLFile::endNode().

00226 {
00227     return _szCurrentName.c_str();
00228 }

FieldContainerPtr VRMLNodeDesc::getSaveFieldContainer ( void   )  [virtual, inherited]

Reimplemented in osg::VRMLAppearanceDesc.

Definition at line 230 of file OSGVRMLNodeDescs.cpp.

References osg::NullFC.

Referenced by osg::VRMLFile::endNode().

00231 {
00232     return NullFC;
00233 }

Field * VRMLNodeDesc::getField ( const Char8 szFieldname  )  [virtual, inherited]

Field * VRMLNodeDesc::getField ( FieldContainerPtr  pFC1,
FieldContainerPtr  pFC2,
GenericAttPtr  pGenAtt,
const Char8 szFieldname 
) [protected, inherited]

Definition at line 607 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::decIndent(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::NullFC, and PINFO.

00611 {
00612     Field *returnValue = NULL;
00613 
00614     if(szFieldname == NULL)
00615     {
00616         return returnValue;
00617     }
00618 
00619 #ifdef OSG_DEBUG_VRML
00620     indentLog(getIndent(), PINFO);
00621     PINFO << "VRMLNodeDesc::getField " << std::endl;
00622 
00623     incIndent();
00624 
00625     indentLog(getIndent(), PINFO);
00626     PINFO << "Trying to find field : " << szFieldname << std::endl;
00627 #endif
00628 
00629     if(pFC1 != NullFC)
00630     {
00631         returnValue = pFC1->getField(szFieldname);
00632     }
00633 
00634 #ifdef OSG_DEBUG_VRML
00635     incIndent();
00636 
00637     indentLog(getIndent(), PINFO);
00638     PINFO << "Got this from node : " << returnValue << std::endl;
00639 #endif
00640 
00641     if(returnValue != NULL)
00642         return returnValue;
00643 
00644     if(pFC2 != NullFC)
00645     {
00646         returnValue = pFC2->getField(szFieldname);
00647 
00648 #ifdef OSG_DEBUG_VRML
00649         indentLog(getIndent(), PINFO);
00650         PINFO << "Got this from nodecore : " << returnValue << std::endl;
00651 #endif
00652     }
00653     else
00654     {
00655 #ifdef OSG_DEBUG_VRML
00656         indentLog(getIndent(), PINFO);
00657         PINFO << "No core to check" << std::endl;
00658 #endif
00659     }
00660 
00661 
00662     if(returnValue != NULL)
00663         return returnValue;
00664 
00665     if(pGenAtt != NullFC)
00666     {
00667         returnValue = pGenAtt->getField(szFieldname);
00668     }
00669 
00670 #ifdef OSG_DEBUG_VRML
00671     indentLog(getIndent(), PINFO);
00672     PINFO << "Got this from attachment : " << returnValue << std::endl;
00673 
00674     decIndent();
00675     decIndent();
00676 #endif
00677 
00678     return returnValue;
00679 }

void VRMLNodeDesc::prototypeAddFieldValue ( const Char8 szFieldVal  )  [virtual, inherited]

Definition at line 477 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_pCurrField, and osg::Field::pushValueByStr().

Referenced by osg::VRMLNodeFactory< BaseT >::addFieldValue().

00478 {
00479     if(_pCurrField       != NULL)
00480     {
00481         _pCurrField->pushValueByStr(szFieldVal);
00482     }
00483 }

void VRMLNodeDesc::endProtoInterface ( void   )  [virtual, inherited]

void VRMLNodeDesc::addFieldValue ( Field pField,
const Char8 szFieldVal 
) [virtual, inherited]

Reimplemented in osg::VRMLGeometryDesc, osg::VRMLGeometryPointSetDesc, and osg::VRMLPixelTextureDesc.

Definition at line 551 of file OSGVRMLNodeDescs.cpp.

References osg::Field::pushValueByStr().

Referenced by osg::VRMLFile::addFieldValue().

00553 {
00554     if(pField != NULL)
00555     {
00556         pField->pushValueByStr(szFieldVal);
00557     }
00558 }

bool VRMLNodeDesc::use ( FieldContainerPtr   )  [virtual, inherited]

Reimplemented in osg::VRMLAppearanceDesc.

Definition at line 560 of file OSGVRMLNodeDescs.cpp.

Referenced by osg::VRMLFile::use().

00561 {
00562     return false;
00563 }


Member Data Documentation

Definition at line 788 of file OSGVRMLNodeDescs.h.

Referenced by endNode(), init(), and VRMLGeometryObjectDesc().

UInt32 VRMLNodeDesc::_uiIndent = 0 [static, protected, inherited]

Definition at line 307 of file OSGVRMLNodeDescs.h.

Field* osg::VRMLNodeDesc::_pCurrField [protected, inherited]

std::string osg::VRMLNodeDesc::_szCurrentName [protected, inherited]

bool osg::VRMLNodeDesc::_bSaveOnEnd [protected, inherited]


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

Generated on Mon Mar 17 12:05:17 2008 for OpenSG by  doxygen 1.5.5