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

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

VRML Extrusion Desc. More...

#include <OSGVRMLNodeDescs.h>

Inheritance diagram for osg::VRMLExtrusionDesc:

osg::VRMLNodeDesc List of all members.

Member

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

Public Member Functions

Constructors
VRMLExtrusionDesc (void)
Destructor
*virtual ~VRMLExtrusionDesc (void)
Helper
*virtual void init (const Char8 *szName)
Field
*virtual bool prototypeAddField (const Char8 *szFieldType, const UInt32 uiFieldTypeId, const Char8 *szFieldName)
virtual void endProtoInterface (void)
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)
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

Private Types

typedef VRMLNodeDesc Inherited

Private Member Functions

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

Detailed Description

VRML Extrusion description

Definition at line 1572 of file OSGVRMLNodeDescs.h.


Member Typedef Documentation

typedef VRMLNodeDesc osg::VRMLExtrusionDesc::Inherited [private]
 

Definition at line 1643 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

VRMLExtrusionDesc::VRMLExtrusionDesc void   ) 
 

Definition at line 4559 of file OSGVRMLNodeDescs.cpp.

04559                                          :
04560      Inherited()
04561 {
04562 }

VRMLExtrusionDesc::~VRMLExtrusionDesc void   )  [virtual]
 

Definition at line 4567 of file OSGVRMLNodeDescs.cpp.

04568 {
04569 }

osg::VRMLExtrusionDesc::VRMLExtrusionDesc const VRMLExtrusionDesc source  )  [private]
 


Member Function Documentation

void VRMLExtrusionDesc::init const Char8 szName  )  [virtual]
 

Reimplemented from osg::VRMLNodeDesc.

Definition at line 4574 of file OSGVRMLNodeDescs.cpp.

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

04575 {
04576 #ifdef OSG_DEBUG_VRML
04577     indentLog(getIndent(), PINFO);
04578     PINFO << "ExtrusionDesc::init : " << szName << std::endl;
04579 #endif
04580 
04581     _pNodeProto     = Node::create();
04582 //    _pNodeCoreProto = Group::create();
04583 
04584     _pGenAtt        = GenericAtt::create();
04585     _pGenAtt->setInternal(true);
04586 }

bool VRMLExtrusionDesc::prototypeAddField const Char8 szFieldType,
const UInt32  uiFieldTypeId,
const Char8 szFieldName
[virtual]
 

Reimplemented from osg::VRMLNodeDesc.

Definition at line 4591 of file OSGVRMLNodeDescs.cpp.

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

04594 {
04595     _pCurrField = NULL;
04596 
04597     return Inherited::prototypeAddField(szFieldType,
04598                                         uiFieldTypeId,
04599                                         szFieldname);
04600 }

void VRMLExtrusionDesc::endProtoInterface void   )  [virtual]
 

Reimplemented from osg::VRMLNodeDesc.

Definition at line 4602 of file OSGVRMLNodeDescs.cpp.

04603 {
04604 }

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

Reimplemented from osg::VRMLNodeDesc.

Definition at line 4606 of file OSGVRMLNodeDescs.cpp.

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

04611 {
04612 #ifdef OSG_DEBUG_VRML
04613     indentLog(getIndent(), PINFO);
04614     PINFO << "VRMLExtrusionDesc::getFieldAndDesc : looking for "
04615           << szFieldname
04616           << std::endl;
04617 #endif
04618 
04619     if(szFieldname == NULL)
04620         return;
04621 
04622     if(pFC == NullFC)
04623         return;
04624 
04625     incIndent();
04626 
04627     Inherited::getFieldAndDesc(pFC,
04628                                szFieldname,
04629                                pField,
04630                                pDesc);
04631 
04632 #ifdef OSG_DEBUG_VRML
04633     decIndent();
04634 #endif
04635 }

FieldContainerPtr VRMLExtrusionDesc::beginNode const Char8 szTypename,
const Char8 szName,
FieldContainerPtr  pCurrentFC
[virtual]
 

Reimplemented from osg::VRMLNodeDesc.

Definition at line 4640 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeProto, osg::NodePtr::dcast(), and osg::NullFC.

04644 {
04645     FieldContainerPtr returnValue = NullFC;
04646     NodePtr           pNode       = NullFC;
04647     GenericAttPtr     pAtt        = NullFC;
04648 
04649     if(_pNodeProto != NullFC)
04650     {
04651         FieldContainerPtr pAttClone = _pGenAtt->clone();
04652 
04653         pAtt = GenericAttPtr::dcast(pAttClone);
04654 
04655         if(pAtt != NullFC)
04656         {
04657             pAtt->setInternal(true);
04658         }
04659 
04660         returnValue = _pNodeProto->shallowCopy();
04661 
04662         pNode = NodePtr::dcast(returnValue);
04663 
04664         pNode->addAttachment(pAtt);
04665     }
04666 
04667     return returnValue;
04668 }

void VRMLExtrusionDesc::endNode FieldContainerPtr   )  [virtual]
 

Reimplemented from osg::VRMLNodeDesc.

Definition at line 4670 of file OSGVRMLNodeDescs.cpp.

References osg::beginEditCP(), osg::Node::CoreFieldMask, osg::NodePtr::dcast(), osg::endEditCP(), FLOG, FWARNING, osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getIndent(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::MField< FieldTypeT, fieldNameSpace >::getValues(), osg::indentLog(), osg::makeExtrusionGeo(), osg::NullFC, and PINFO.

04671 {
04672           Field            *pField = NULL;
04673     const FieldDescription *pDesc  = NULL;
04674           NodePtr           pNode  = NullFC;
04675 
04676     FLOG (("Run VRMLExtrusionDesc::endNode()\n"));
04677 
04678     if(pFC == NullFC)
04679         return;
04680 
04681     pNode = NodePtr::dcast(pFC);
04682 
04683     if(pNode == NullFC)
04684         return;
04685 
04686     SFBool       *pBeginCap     = NULL;
04687     SFBool       *pCcw          = NULL;
04688     SFBool       *pConvex       = NULL;
04689     SFReal32     *pCreaseAngle  = NULL;
04690     MFPnt2f      *pCrossSection = NULL;
04691     SFBool       *pEndCap       = NULL;
04692     MFQuaternion *pOrientation  = NULL;
04693     MFVec2f      *pScale        = NULL;
04694     SFBool       *pSolid        = NULL;
04695     MFPnt3f      *pSpine        = NULL;
04696 
04697     Inherited::getFieldAndDesc(pFC,
04698                                "beginCap",
04699                                pField,
04700                                pDesc);
04701 
04702     if(pField != NULL)
04703     {
04704         pBeginCap = static_cast<SFBool *>(pField);
04705     }
04706 
04707 
04708     Inherited::getFieldAndDesc(pFC,
04709                                "ccw",
04710                                pField,
04711                                pDesc);
04712 
04713     if(pField != NULL)
04714     {
04715         pCcw = static_cast<SFBool *>(pField);
04716     }
04717 
04718 
04719     Inherited::getFieldAndDesc(pFC,
04720                                "convex",
04721                                pField,
04722                                pDesc);
04723 
04724     if(pField != NULL)
04725     {
04726         pConvex = static_cast<SFBool *>(pField);
04727     }
04728 
04729 
04730     Inherited::getFieldAndDesc(pFC,
04731                                "creaseAngle",
04732                                pField,
04733                                pDesc);
04734 
04735     if(pField != NULL)
04736     {
04737         pCreaseAngle = static_cast<SFReal32 *>(pField);
04738     }
04739 
04740 
04741     Inherited::getFieldAndDesc(pFC,
04742                                "crossSection",
04743                                pField,
04744                                pDesc);
04745 
04746     if(pField != NULL)
04747     {
04748         pCrossSection = static_cast<MFPnt2f *>(pField);
04749     }
04750 
04751 
04752     Inherited::getFieldAndDesc(pFC,
04753                                "endCap",
04754                                pField,
04755                                pDesc);
04756 
04757     if(pField != NULL)
04758     {
04759         pEndCap = static_cast<SFBool *>(pField);
04760     }
04761 
04762 
04763     Inherited::getFieldAndDesc(pFC,
04764                                "orientation",
04765                                pField,
04766                                pDesc);
04767 
04768     if(pField != NULL)
04769     {
04770         pOrientation = static_cast<MFQuaternion *>(pField);
04771     }
04772 
04773 
04774     Inherited::getFieldAndDesc(pFC,
04775                                "scale",
04776                                pField,
04777                                pDesc);
04778 
04779     if(pField != NULL)
04780     {
04781         pScale = static_cast<MFVec2f *>(pField);
04782     }
04783 
04784 
04785     Inherited::getFieldAndDesc(pFC,
04786                                "solid",
04787                                pField,
04788                                pDesc);
04789 
04790     if(pField != NULL)
04791     {
04792         pSolid = static_cast<SFBool *>(pField);
04793     }
04794 
04795 
04796     Inherited::getFieldAndDesc(pFC,
04797                                "spine",
04798                                pField,
04799                                pDesc);
04800 
04801     if(pField != NULL)
04802     {
04803         pSpine = static_cast<MFPnt3f *>(pField);
04804     }
04805 
04806 
04807 
04808     if(pBeginCap     != NULL &&
04809        pCcw          != NULL &&
04810        pConvex       != NULL &&
04811        pCreaseAngle  != NULL &&
04812        pCrossSection != NULL &&
04813        pEndCap       != NULL &&
04814        pOrientation  != NULL &&
04815        pScale        != NULL &&
04816        pSolid        != NULL &&
04817        pSpine        != NULL)
04818     {
04819 #ifdef OSG_DEBUG_VRML
04820         indentLog(getIndent(), PINFO);
04821         PINFO << "VRMLExtrusionDesc::endNode"
04822               << std::endl;
04823 #endif
04824 
04825         // TODO: creaseAngle/numOfSubdivision param/handling ?
04826 
04827         GeometryPtr pGeo = makeExtrusionGeo ( pCrossSection->getValues(),
04828                                               pOrientation ->getValues(),
04829                                               pScale       ->getValues(),
04830                                               pSpine       ->getValues(),
04831                           pCreaseAngle ->getValue (),
04832                                               pBeginCap    ->getValue (),
04833                                               pEndCap      ->getValue (),
04834                                               pCcw         ->getValue (),
04835                                               pConvex      ->getValue (),
04836                                               true, // buildNormal
04837                                               true, // buildTexCoord
04838                                               0     // numOfSubdivision
04839                                               );
04840 
04841 
04842 /*
04843 // snip remove later
04844         fprintf(stderr, "%u %u %u %f | %u | %u | %u %u | %u | %u\n",
04845                 pBeginCap    ->getValue (),
04846                 pCcw         ->getValue (),
04847                 pConvex      ->getValue (),
04848                 pCreaseAngle ->getValue (),
04849                 pCrossSection->size     (),
04850                 pEndCap      ->getValue (),
04851                 pOrientation ->size     (),
04852                 pScale       ->size     (),
04853                 pSolid       ->getValue (),
04854                 pSpine       ->size     ());
04855 
04856 // snap end remove later2
04857 */
04858 
04859         beginEditCP(pNode, Node::CoreFieldMask);
04860         {
04861             pNode->setCore(pGeo);
04862         }
04863         endEditCP  (pNode, Node::CoreFieldMask);
04864     }
04865     else
04866     {
04867         FWARNING(("\n\nExtrusion parameter missing\n"));
04868     }
04869 }

void VRMLExtrusionDesc::dump const Char8 szNodeName  )  [virtual]
 

Reimplemented from osg::VRMLNodeDesc.

Definition at line 4874 of file OSGVRMLNodeDescs.cpp.

04875 {
04876 }

void osg::VRMLExtrusionDesc::operator= const VRMLExtrusionDesc source  )  [private]
 

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

Definition at line 128 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_uiIndent.

Referenced by 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::VRMLFile::endField(), osg::VRMLViewpointDesc::endNode(), osg::VRMLInlineDesc::endNode(), endNode(), osg::VRMLGroupDesc::endNode(), osg::VRMLSwitchDesc::endNode(), osg::VRMLLODDesc::endNode(), osg::VRMLPixelTextureDesc::endNode(), osg::VRMLImageTextureDesc::endNode(), osg::VRMLTextureTransformDesc::endNode(), osg::VRMLAppearanceDesc::endNode(), osg::VRMLGeometryObjectDesc::endNode(), osg::VRMLGeometryPointSetDesc::endNode(), osg::VRMLGeometryDesc::endNode(), osg::VRMLShapeDesc::endNode(), osg::VRMLFile::endNode(), osg::VRMLNodeDesc::getField(), osg::VRMLViewpointDesc::getFieldAndDesc(), osg::VRMLInlineDesc::getFieldAndDesc(), getFieldAndDesc(), osg::VRMLGroupDesc::getFieldAndDesc(), osg::VRMLSwitchDesc::getFieldAndDesc(), osg::VRMLLODDesc::getFieldAndDesc(), osg::VRMLAppearanceDesc::getFieldAndDesc(), osg::VRMLGeometryObjectDesc::getFieldAndDesc(), osg::VRMLGeometryPartDesc::getFieldAndDesc(), osg::VRMLGeometryPointSetDesc::getFieldAndDesc(), osg::VRMLGeometryDesc::getFieldAndDesc(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLFile::getFieldType(), osg::VRMLInlineDesc::init(), 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(), osg::VRMLGeometryObjectDesc::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]
 

Definition at line 133 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_uiIndent.

Referenced by 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::VRMLNodeDesc::getField(), osg::VRMLInlineDesc::getFieldAndDesc(), getFieldAndDesc(), osg::VRMLGroupDesc::getFieldAndDesc(), osg::VRMLSwitchDesc::getFieldAndDesc(), osg::VRMLLODDesc::getFieldAndDesc(), osg::VRMLAppearanceDesc::getFieldAndDesc(), osg::VRMLGeometryObjectDesc::getFieldAndDesc(), osg::VRMLGeometryPartDesc::getFieldAndDesc(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLShapeDesc::prototypeAddField(), and osg::VRMLFile::use().

00134 {
00135     _uiIndent += 4;
00136 }

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

Definition at line 138 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_uiIndent, and PWARNING.

Referenced by osg::VRMLFile::endField(), osg::VRMLViewpointDesc::endNode(), osg::VRMLInlineDesc::endNode(), osg::VRMLGroupDesc::endNode(), osg::VRMLSwitchDesc::endNode(), osg::VRMLLODDesc::endNode(), osg::VRMLPixelTextureDesc::endNode(), osg::VRMLImageTextureDesc::endNode(), osg::VRMLTextureTransformDesc::endNode(), osg::VRMLAppearanceDesc::endNode(), osg::VRMLGeometryPointSetDesc::endNode(), osg::VRMLGeometryDesc::endNode(), osg::VRMLShapeDesc::endNode(), osg::VRMLFile::endNode(), osg::VRMLNodeDesc::getField(), osg::VRMLInlineDesc::getFieldAndDesc(), getFieldAndDesc(), osg::VRMLGroupDesc::getFieldAndDesc(), osg::VRMLSwitchDesc::getFieldAndDesc(), osg::VRMLLODDesc::getFieldAndDesc(), osg::VRMLAppearanceDesc::getFieldAndDesc(), osg::VRMLGeometryObjectDesc::getFieldAndDesc(), osg::VRMLGeometryPartDesc::getFieldAndDesc(), osg::VRMLShapeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLShapeDesc::prototypeAddField(), and osg::VRMLFile::use().

00139 {
00140     if(_uiIndent < 4)
00141     {
00142         PWARNING << "Indent smaller 4 decremented" << std::endl;
00143 
00144         _uiIndent = 4;
00145     }
00146 
00147     _uiIndent -= 4;
00148 }

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

Definition at line 150 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_uiIndent.

Referenced by osg::VRMLFile::createStandardPrototypes(), osg::VRMLFile::scanFile(), osg::VRMLFile::scanStandardPrototypes(), and osg::VRMLFile::scanStream().

00151 {
00152     _uiIndent = 0;
00153 }

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

Reimplemented in osg::VRMLMaterialDesc, osg::VRMLTextureTransformDesc, osg::VRMLImageTextureDesc, osg::VRMLPixelTextureDesc, and osg::VRMLViewpointDesc.

Definition at line 205 of file OSGVRMLNodeDescs.cpp.

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

00206 {
00207 }

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]
 

Definition at line 238 of file OSGVRMLNodeDescs.cpp.

References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeCoreProto, and osg::VRMLNodeDesc::_pNodeProto.

Referenced by osg::VRMLNodeDesc::prototypeAddField().

00239 {
00240     return getField(_pNodeProto, _pNodeCoreProto, _pGenAtt, szFieldname);
00241 }

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

Definition at line 604 of file OSGVRMLNodeDescs.cpp.

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

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

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

Definition at line 474 of file OSGVRMLNodeDescs.cpp.

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

00475 {
00476     if(_pCurrField       != NULL)
00477     {
00478         _pCurrField->pushValueByStr(szFieldVal);
00479     }
00480 }

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

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

Definition at line 548 of file OSGVRMLNodeDescs.cpp.

References osg::Field::pushValueByStr().

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

00550 {
00551     if(pField != NULL)
00552     {
00553         pField->pushValueByStr(szFieldVal);
00554     }
00555 }

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

Reimplemented in osg::VRMLAppearanceDesc.

Definition at line 557 of file OSGVRMLNodeDescs.cpp.

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

00558 {
00559     return false;
00560 }


Member Data Documentation

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

Definition at line 123 of file OSGVRMLNodeDescs.cpp.

Referenced by osg::VRMLNodeDesc::decIndent(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), and osg::VRMLNodeDesc::resetIndent().

FieldNameTypeHash osg::VRMLNodeDesc::_mFieldTypes [protected, inherited]
 

Definition at line 307 of file OSGVRMLNodeDescs.h.

GenericAttPtr osg::VRMLNodeDesc::_pGenAtt [protected, inherited]
 

Definition at line 309 of file OSGVRMLNodeDescs.h.

Referenced by osg::VRMLViewpointDesc::beginNode(), osg::VRMLInlineDesc::beginNode(), beginNode(), osg::VRMLGroupDesc::beginNode(), osg::VRMLSwitchDesc::beginNode(), osg::VRMLLODDesc::beginNode(), osg::VRMLGeometryObjectDesc::beginNode(), osg::VRMLGeometryPointSetDesc::beginNode(), osg::VRMLGeometryDesc::beginNode(), osg::VRMLNodeDesc::beginNode(), osg::VRMLNodeDesc::dump(), osg::VRMLNodeDesc::getField(), osg::VRMLAppearanceDesc::getFieldAndDesc(), osg::VRMLViewpointDesc::init(), osg::VRMLInlineDesc::init(), init(), osg::VRMLGroupDesc::init(), osg::VRMLSwitchDesc::init(), osg::VRMLLODDesc::init(), osg::VRMLAppearanceDesc::init(), osg::VRMLGeometryObjectDesc::init(), osg::VRMLGeometryPartDesc::init(), osg::VRMLGeometryPointSetDesc::init(), osg::VRMLGeometryDesc::init(), osg::VRMLShapeDesc::init(), osg::VRMLNodeDesc::init(), and osg::VRMLNodeDesc::prototypeAddField().

FieldContainerPtr osg::VRMLNodeDesc::_pNodeProto [protected, inherited]
 

Definition at line 311 of file OSGVRMLNodeDescs.h.

Referenced by osg::VRMLViewpointDesc::beginNode(), osg::VRMLInlineDesc::beginNode(), beginNode(), osg::VRMLGroupDesc::beginNode(), osg::VRMLSwitchDesc::beginNode(), osg::VRMLLODDesc::beginNode(), osg::VRMLAppearanceDesc::beginNode(), osg::VRMLGeometryObjectDesc::beginNode(), osg::VRMLGeometryPartDesc::beginNode(), osg::VRMLGeometryPointSetDesc::beginNode(), osg::VRMLGeometryDesc::beginNode(), osg::VRMLShapeDesc::beginNode(), osg::VRMLNodeDesc::beginNode(), osg::VRMLNodeDesc::dump(), osg::VRMLNodeDesc::getField(), osg::VRMLViewpointDesc::init(), osg::VRMLInlineDesc::init(), init(), osg::VRMLGroupDesc::init(), osg::VRMLSwitchDesc::init(), osg::VRMLLODDesc::init(), osg::VRMLAppearanceDesc::init(), osg::VRMLGeometryObjectDesc::init(), osg::VRMLGeometryPartDesc::init(), osg::VRMLGeometryPointSetDesc::init(), osg::VRMLGeometryDesc::init(), osg::VRMLShapeDesc::init(), osg::VRMLNodeDesc::init(), osg::VRMLShapeDesc::prototypeAddField(), and osg::VRMLNodeDesc::prototypeAddField().

FieldContainerPtr osg::VRMLNodeDesc::_pNodeCoreProto [protected, inherited]
 

Definition at line 312 of file OSGVRMLNodeDescs.h.

Referenced by osg::VRMLViewpointDesc::beginNode(), osg::VRMLInlineDesc::beginNode(), osg::VRMLGroupDesc::beginNode(), osg::VRMLSwitchDesc::beginNode(), osg::VRMLLODDesc::beginNode(), osg::VRMLGeometryPointSetDesc::beginNode(), osg::VRMLGeometryDesc::beginNode(), osg::VRMLShapeDesc::beginNode(), osg::VRMLNodeDesc::beginNode(), osg::VRMLNodeDesc::dump(), osg::VRMLNodeDesc::getField(), osg::VRMLViewpointDesc::init(), osg::VRMLInlineDesc::init(), osg::VRMLGroupDesc::init(), osg::VRMLSwitchDesc::init(), osg::VRMLLODDesc::init(), osg::VRMLGeometryPointSetDesc::init(), osg::VRMLGeometryDesc::init(), osg::VRMLShapeDesc::init(), osg::VRMLNodeDesc::init(), osg::VRMLViewpointDesc::prototypeAddField(), osg::VRMLShapeDesc::prototypeAddField(), and osg::VRMLNodeDesc::prototypeAddField().

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

Definition at line 314 of file OSGVRMLNodeDescs.h.

Referenced by osg::VRMLViewpointDesc::prototypeAddField(), osg::VRMLInlineDesc::prototypeAddField(), prototypeAddField(), osg::VRMLGroupDesc::prototypeAddField(), osg::VRMLSwitchDesc::prototypeAddField(), osg::VRMLLODDesc::prototypeAddField(), osg::VRMLPixelTextureDesc::prototypeAddField(), osg::VRMLImageTextureDesc::prototypeAddField(), osg::VRMLTextureTransformDesc::prototypeAddField(), osg::VRMLMaterialDesc::prototypeAddField(), osg::VRMLAppearanceDesc::prototypeAddField(), osg::VRMLGeometryObjectDesc::prototypeAddField(), osg::VRMLGeometryPartDesc::prototypeAddField(), osg::VRMLGeometryPointSetDesc::prototypeAddField(), osg::VRMLGeometryDesc::prototypeAddField(), osg::VRMLShapeDesc::prototypeAddField(), osg::VRMLNodeDesc::prototypeAddField(), and osg::VRMLNodeDesc::prototypeAddFieldValue().

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

Definition at line 316 of file OSGVRMLNodeDescs.h.

Referenced by osg::VRMLNodeDesc::getSavename(), and osg::VRMLNodeDesc::setOnEndSave().

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

Definition at line 317 of file OSGVRMLNodeDescs.h.

Referenced by osg::VRMLNodeDesc::clearOnEndSave(), osg::VRMLNodeDesc::getOnEndSave(), and osg::VRMLNodeDesc::setOnEndSave().


The documentation for this class was generated from the following files:
Generated on Thu Aug 25 04:14:02 2005 for OpenSG by  doxygen 1.4.3