#include <OSGVRMLNodeDescs.h>
Inheritance diagram for osg::VRMLSwitchDesc:

Member | |
| Field * | getField (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 | |
| * | VRMLSwitchDesc (void) |
Destructor | |
| *virtual | ~VRMLSwitchDesc (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 Char8 * | getSavename (void) |
| virtual FieldContainerPtr | getSaveFieldContainer (void) |
Field | |
| *virtual Field * | getField (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 | |
| VRMLSwitchDesc (const VRMLSwitchDesc &source) | |
| prohibit default function (move to 'public' if needed) | |
| void | operator= (const VRMLSwitchDesc &source) |
| prohibit default function (move to 'public' if needed) | |
Definition at line 1397 of file OSGVRMLNodeDescs.h.
|
|
Definition at line 1463 of file OSGVRMLNodeDescs.h. |
|
|
Definition at line 298 of file OSGVRMLNodeDescs.h. |
|
|
Definition at line 4083 of file OSGVRMLNodeDescs.cpp. 04083 : 04084 Inherited() 04085 { 04086 }
|
|
|
Definition at line 4091 of file OSGVRMLNodeDescs.cpp.
|
|
|
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4098 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeCoreProto, osg::VRMLNodeDesc::_pNodeProto, osg::DynFieldAttachment< AttachmentDescT >::create(), osg::SwitchBase::create(), osg::Node::create(), osg::VRMLNodeDesc::getIndent(), osg::indentLog(), and PINFO. 04099 { 04100 #ifdef OSG_DEBUG_VRML 04101 indentLog(getIndent(), PINFO); 04102 PINFO << "SwitchDesc::init : " << szName << std::endl; 04103 #endif 04104 04105 _pNodeProto = Node::create(); 04106 _pNodeCoreProto = Switch::create(); 04107 04108 _pGenAtt = GenericAtt::create(); 04109 _pGenAtt->setInternal(true); 04110 }
|
|
||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4115 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pCurrField, osg::VRMLNodeDesc::prototypeAddField(), and osg::stringcasecmp(). 04118 { 04119 bool bFound = false; 04120 04121 _pCurrField = NULL; 04122 04123 if(stringcasecmp("choice", szFieldname) == 0) 04124 { 04125 bFound = true; 04126 } 04127 else if(stringcasecmp("whichChoice", szFieldname) == 0) 04128 { 04129 bFound = true; 04130 } 04131 04132 if(bFound == true) 04133 { 04134 return true; 04135 } 04136 else 04137 { 04138 return Inherited::prototypeAddField(szFieldType, 04139 uiFieldTypeId, 04140 szFieldname); 04141 } 04142 }
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4144 of file OSGVRMLNodeDescs.cpp.
|
|
||||||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4148 of file OSGVRMLNodeDescs.cpp. References osg::AttachmentContainerPtr::dcast(), osg::NodePtr::dcast(), osg::VRMLNodeDesc::decIndent(), osg::NodePtr::getCore(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::NullFC, PINFO, PWARNING, and osg::stringcasecmp(). 04153 { 04154 if(szFieldname == NULL) 04155 return; 04156 04157 if(pFC == NullFC) 04158 return; 04159 04160 NodePtr pNode = NodePtr::dcast(pFC); 04161 04162 #ifdef OSG_DEBUG_VRML 04163 indentLog(getIndent(), PINFO); 04164 PINFO << "VRMLSwitchDesc::getFieldAndDesc : looking for " 04165 << szFieldname 04166 << std::endl; 04167 #endif 04168 04169 if(pNode == NullFC) 04170 { 04171 PWARNING << "VRMLSwitchDesc::getFieldAndDesc : No Node" << std::endl; 04172 return; 04173 } 04174 04175 NodeCorePtr pNodeCore = pNode->getCore(); 04176 04177 SwitchPtr pSwitch = SwitchPtr::dcast(pNodeCore); 04178 04179 if(pSwitch == NullFC) 04180 { 04181 PWARNING << "VRMLSwitchDesc::getFieldAndDesc : No Switch" << std::endl; 04182 return; 04183 } 04184 04185 incIndent(); 04186 04187 if(stringcasecmp("choice", szFieldname) == 0) 04188 { 04189 #ifdef OSG_DEBUG_VRML 04190 indentLog(getIndent(), PINFO); 04191 PINFO << "VRMLSwitchDesc::getFieldAndDesc : : request internal " 04192 << szFieldname 04193 << std::endl; 04194 #endif 04195 04196 pField = pNode->getField("children"); 04197 04198 if(pField != NULL) 04199 pDesc = pNode->getType().findFieldDescription("children"); 04200 } 04201 else if(stringcasecmp("whichChoice", szFieldname) == 0) 04202 { 04203 #ifdef OSG_DEBUG_VRML 04204 indentLog(getIndent(), PINFO); 04205 PINFO << "VRMLSwitchDesc::getFieldAndDesc : : request internal " 04206 << szFieldname 04207 << std::endl; 04208 #endif 04209 04210 pField = pSwitch->getField("choice"); 04211 04212 if(pField != NULL) 04213 pDesc = pSwitch->getType().findFieldDescription("whichChoice"); 04214 } 04215 else 04216 { 04217 VRMLNodeDesc::getFieldAndDesc(pSwitch, 04218 szFieldname, 04219 pField, 04220 pDesc); 04221 } 04222 04223 #ifdef OSG_DEBUG_VRML 04224 decIndent(); 04225 #endif 04226 }
|
|
||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4231 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeCoreProto, osg::VRMLNodeDesc::_pNodeProto, osg::beginEditCP(), osg::AttachmentContainerPtr::dcast(), osg::NodePtr::dcast(), osg::endEditCP(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::NullFC, and PINFO. 04235 { 04236 FieldContainerPtr pFC = NullFC; 04237 NodePtr pNode = NullFC; 04238 NodeCorePtr pNodeCore = NullFC; 04239 GenericAttPtr pAtt = NullFC; 04240 04241 if(_pNodeProto != NullFC) 04242 { 04243 FieldContainerPtr pAttClone = _pGenAtt->emptyCopy(); 04244 04245 pAtt = GenericAttPtr::dcast(pAttClone); 04246 04247 if(pAtt != NullFC) 04248 { 04249 pAtt->setInternal(true); 04250 } 04251 04252 pFC = _pNodeProto->shallowCopy(); 04253 04254 pNode = NodePtr::dcast(pFC); 04255 04256 pFC = _pNodeCoreProto->shallowCopy(); 04257 04258 pNodeCore = NodeCorePtr::dcast(pFC); 04259 04260 beginEditCP(pNode); 04261 { 04262 pNode ->setCore (pNodeCore); 04263 pNodeCore->addAttachment(pAtt); 04264 } 04265 endEditCP (pNode); 04266 } 04267 04268 #ifdef OSG_DEBUG_VRML 04269 indentLog(getIndent(), PINFO); 04270 PINFO << "Begin Switch " << &(*pNode) << std::endl; 04271 04272 incIndent(); 04273 #endif 04274 04275 return pNode; 04276 }
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4278 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::decIndent(), osg::VRMLNodeDesc::getIndent(), osg::indentLog(), and PINFO. 04279 { 04280 #ifdef OSG_DEBUG_VRML 04281 decIndent(); 04282 04283 indentLog(getIndent(), PINFO); 04284 PINFO << "End Switch " 04285 << &(*pFC) << std::endl; 04286 #endif 04287 }
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4292 of file OSGVRMLNodeDescs.cpp.
|
|
|
|
|
|
|
|
|
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 }
|
|
|
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().
|
|
|
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 }
|
|
|
Definition at line 215 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_bSaveOnEnd. Referenced by osg::VRMLFile::endNode(). 00216 { 00217 _bSaveOnEnd = false; 00218 }
|
|
|
Definition at line 220 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_bSaveOnEnd. Referenced by osg::VRMLFile::endNode(). 00221 { 00222 return _bSaveOnEnd; 00223 }
|
|
|
Definition at line 225 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_szCurrentName. Referenced by osg::VRMLFile::endNode(). 00226 { 00227 return _szCurrentName.c_str(); 00228 }
|
|
|
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 }
|
|
|
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 }
|
|
||||||||||||||||||||
|
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 }
|
|
|
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 }
|
|
||||||||||||
|
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 }
|
|
|
Reimplemented in osg::VRMLAppearanceDesc. Definition at line 557 of file OSGVRMLNodeDescs.cpp. Referenced by osg::VRMLFile::use().
|
|
|
Definition at line 123 of file OSGVRMLNodeDescs.cpp. Referenced by osg::VRMLNodeDesc::decIndent(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), and osg::VRMLNodeDesc::resetIndent(). |
|
|
Definition at line 307 of file OSGVRMLNodeDescs.h. |
|
|
|
|
|
|
Definition at line 316 of file OSGVRMLNodeDescs.h. Referenced by osg::VRMLNodeDesc::getSavename(), and osg::VRMLNodeDesc::setOnEndSave(). |
|
|
Definition at line 317 of file OSGVRMLNodeDescs.h. Referenced by osg::VRMLNodeDesc::clearOnEndSave(), osg::VRMLNodeDesc::getOnEndSave(), and osg::VRMLNodeDesc::setOnEndSave(). |
1.4.3