#include <OSGVRMLFile.h>

Member | |
| NodePtr | _pSceneRootNode |
| NodePtr | _pLightRoot |
| NodePtr | _pCurrentGlobalLight |
| VRMLNodeDesc * | _pCurrNodeDesc |
| std::stack< VRMLNodeDesc * > | _sNodeDescs |
| FieldContainerPtr | _pCurrentFC |
| Field * | _pCurrentField |
| const FieldDescription * | _pCurrentFieldDesc |
| std::stack< FieldContainerPtr > | _fcStack |
| std::stack< Field * > | _fStack |
| std::stack< const FieldDescription * > | _fdStack |
| MaskPair | _bvChanged |
| MaskStack | _sChangedStack |
| NameContainerMap | _nameFCMap |
| NameDescriptionMap | _nameDescMap |
| void | initIntExtFieldTypeMapper (void) |
| void | initExtIntFieldTypeMapper (void) |
| FieldContainerPtr | findFCByName (const Char8 *szName, NodePtr pNode) |
| void | setContainerFieldValue (const FieldContainerPtr &pFC) |
| FieldContainerPtr | findReference (const Char8 *szName) |
Member | |
| VRMLNodeDesc * | _pCurrentNodeDesc |
| NodeNameDescHash | _mNodeDescHash |
| bool | _bInFieldProto |
| bool | _bIgnoreProto |
| VRMLNodeDesc * | findNodeDesc (const Char8 *szNodeTypename) |
| void | addNodeDesc (const Char8 *szNodeTypename, VRMLNodeDesc *pDesc) |
| virtual void | preStandardProtos (void) |
| virtual void | postStandardProtos (void) |
Public Types | |
| enum | { CreateNormals = Inherited::LastOption << 1, StripeGeometry = CreateNormals << 1, LogProtoGeneration = StripeGeometry << 1, LogObjectGeneration = LogProtoGeneration << 1, LastOption = LogObjectGeneration } |
Public Member Functions | |
Constructors | |
| VRMLFile (void) | |
Destructor | |
| virtual | ~VRMLFile (void) |
Skel replacements | |
| virtual void | scanStream (std::istream &is) |
| virtual void | scanFile (const Char8 *szFilename) |
| virtual void | handleError (const Char8 *szErrorText) |
| virtual void | beginFieldDecl (const Char8 *szFieldType, const UInt32 uiFieldTypeId, const Char8 *szFieldName) |
| virtual void | beginNode (const Char8 *szNodeTypename, const Char8 *szNodename) |
| virtual void | endNode (void) |
| virtual void | beginScript (const Char8 *szNodename) |
| virtual void | endScript (void) |
| virtual void | beginField (const Char8 *szFieldname, const UInt32 uiFieldTypeId) |
| virtual void | endField (void) |
| virtual void | addFieldValue (const Char8 *szFieldVal) |
| virtual UInt32 | getFieldType (const Char8 *szFieldname) |
| virtual void | use (const Char8 *szName) |
Helper | |
| void | scanStandardPrototypes (const Char8 *szFilename) |
| void | createStandardPrototypes (void) |
| NodePtr | getRoot (void) |
Skel replacements | |
| virtual void | beginProto (const Char8 *szProtoname) |
| virtual void | endProto (void) |
| virtual void | beginEventInDecl (const Char8 *szEventType, const UInt32 uiFieldTypeId, const Char8 *szEventName) |
| virtual void | beginEventOutDecl (const Char8 *szEventType, const UInt32 uiFieldTypeId, const Char8 *szEventName) |
| virtual void | endFieldDecl (void) |
| virtual void | beginExposedFieldDecl (const Char8 *szFieldType, const UInt32 uiFieldTypeId, const Char8 *szFieldName) |
| virtual void | endExposedFieldDecl (void) |
Dump | |
| void | dumpTable (void) |
Protected Types | |
| typedef Parent | Inherited |
| typedef VRMLFile | Self |
| typedef std::pair< BitVector, BitVector > | MaskPair |
| typedef std::map< IDString, FieldContainerPtr > | NameContainerMap |
| typedef std::map< IDString, VRMLNodeDesc * > | NameDescriptionMap |
| typedef std::stack< MaskPair > | MaskStack |
| typedef std::map< const Char8 *, VRMLNodeDesc *, LTString > | NodeNameDescHash |
Private Member Functions | |
| VRMLFile (const VRMLFile &source) | |
| prohibit default function (move to 'public' if needed) | |
| void | operator= (const VRMLFile &source) |
| prohibit default function (move to 'public' if needed) | |
Definition at line 91 of file OSGVRMLFile.h.
typedef Parent osg::VRMLFile::Inherited [protected] |
typedef VRMLFile osg::VRMLFile::Self [protected] |
typedef std::pair<BitVector, BitVector> osg::VRMLFile::MaskPair [protected] |
Definition at line 181 of file OSGVRMLFile.h.
typedef std::map<IDString, FieldContainerPtr> osg::VRMLFile::NameContainerMap [protected] |
Definition at line 183 of file OSGVRMLFile.h.
typedef std::map<IDString, VRMLNodeDesc *> osg::VRMLFile::NameDescriptionMap [protected] |
Definition at line 184 of file OSGVRMLFile.h.
typedef std::stack< MaskPair > osg::VRMLFile::MaskStack [protected] |
Definition at line 185 of file OSGVRMLFile.h.
typedef std::map< const Char8 *, VRMLNodeDesc *, LTString > osg::VRMLNodeFactory< BaseT >::NodeNameDescHash [protected, inherited] |
Definition at line 96 of file OSGVRMLNodeFactory.h.
| anonymous enum |
Definition at line 102 of file OSGVRMLFile.h.
00103 { 00104 CreateNormals = Inherited::LastOption << 1, 00105 StripeGeometry = CreateNormals << 1, 00106 LogProtoGeneration = StripeGeometry << 1, 00107 LogObjectGeneration = LogProtoGeneration << 1, 00108 00109 LastOption = LogObjectGeneration 00110 };
| VRMLFile::VRMLFile | ( | void | ) |
Definition at line 103 of file OSGVRMLFile.cpp.
References _bvChanged, initExtIntFieldTypeMapper(), and initIntExtFieldTypeMapper().
00103 : 00104 Inherited(), 00105 00106 // _pRootNode (NullFC), 00107 _pSceneRootNode (NullFC), 00108 00109 _pLightRoot (NullFC), 00110 _pCurrentGlobalLight(NullFC), 00111 00112 _pCurrNodeDesc(NULL), 00113 _sNodeDescs (), 00114 00115 _pCurrentFC (NullFC), 00116 _pCurrentField (NULL), 00117 _pCurrentFieldDesc(NULL), 00118 00119 _fcStack (), 00120 _fStack (), 00121 _fdStack (), 00122 00123 _bvChanged (), 00124 _sChangedStack(), 00125 00126 _nameFCMap (), 00127 _nameDescMap() 00128 { 00129 Self::setReferenceHeader("#VRML V2.0 "); 00130 00131 initIntExtFieldTypeMapper(); 00132 initExtIntFieldTypeMapper(); 00133 00134 _bvChanged.first = 0; 00135 _bvChanged.second = 0; 00136 }
| VRMLFile::~VRMLFile | ( | void | ) | [virtual] |
| osg::VRMLFile::VRMLFile | ( | const VRMLFile & | source | ) | [private] |
| void VRMLFile::scanStream | ( | std::istream & | is | ) | [virtual] |
Definition at line 148 of file OSGVRMLFile.cpp.
References _nameFCMap, _pCurrentGlobalLight, _pLightRoot, _pSceneRootNode, FINFO, osg::getSystemTime(), osg::NullFC, osg::VRMLNodeDesc::resetIndent(), startTime, osg::SceneFileHandler::the(), osg::SceneFileHandler::updateReadProgress(), and useTime.
Referenced by osg::VRMLSceneFileType::read().
00149 { 00150 startTime = getSystemTime(); 00151 00152 // _pRootNode = NullFC; 00153 _pSceneRootNode = NullFC; 00154 _pLightRoot = NullFC; 00155 _pCurrentGlobalLight = NullFC; 00156 00157 _nameFCMap.clear(); 00158 00159 #ifdef OSG_DEBUG_VRML 00160 VRMLNodeDesc::resetIndent(); 00161 #endif 00162 00163 if(is) 00164 { 00165 Inherited::scanStream(is); 00166 } 00167 00168 SceneFileHandler::the().updateReadProgress(100); 00169 00170 FINFO(("Full Time : %lf | Use Time %lf\n", 00171 getSystemTime() - startTime, 00172 useTime)); 00173 }
| void VRMLFile::scanFile | ( | const Char8 * | szFilename | ) | [virtual] |
Definition at line 175 of file OSGVRMLFile.cpp.
References _nameFCMap, _pCurrentGlobalLight, _pLightRoot, _pSceneRootNode, FINFO, osg::getSystemTime(), osg::NullFC, osg::VRMLNodeDesc::resetIndent(), startTime, osg::SceneFileHandler::the(), osg::SceneFileHandler::updateReadProgress(), and useTime.
Referenced by scanStandardPrototypes().
00176 { 00177 startTime = getSystemTime(); 00178 00179 // _pRootNode = NullFC; 00180 _pSceneRootNode = NullFC; 00181 _pLightRoot = NullFC; 00182 _pCurrentGlobalLight = NullFC; 00183 00184 _nameFCMap.clear(); 00185 00186 #ifdef OSG_DEBUG_VRML 00187 VRMLNodeDesc::resetIndent(); 00188 #endif 00189 00190 if(szFilename != NULL) 00191 { 00192 Inherited::scanFile(szFilename); 00193 } 00194 00195 SceneFileHandler::the().updateReadProgress(100); 00196 00197 FINFO(("Full Time : %lf | Use Time %lf\n", 00198 getSystemTime() - startTime, 00199 useTime)); 00200 }
| void VRMLFile::handleError | ( | const Char8 * | szErrorText | ) | [virtual] |
Definition at line 202 of file OSGVRMLFile.cpp.
References _pSceneRootNode, osg::NullFC, and osg::subRefCP().
00203 { 00204 Inherited::handleError(szErrorText); 00205 // on an error we destroy the incomplete scene. 00206 if(_pSceneRootNode != NullFC) 00207 { 00208 subRefCP(_pSceneRootNode); 00209 _pSceneRootNode = NullFC; 00210 } 00211 }
| void VRMLFile::beginFieldDecl | ( | const Char8 * | szFieldType, | |
| const UInt32 | uiFieldTypeId, | |||
| const Char8 * | szFieldName | |||
| ) | [virtual] |
Reimplemented from osg::VRMLNodeFactory< BaseT >.
Definition at line 683 of file OSGVRMLFile.cpp.
References _pCurrentFC, _pCurrentField, _pCurrentFieldDesc, _pCurrNodeDesc, osg::VRMLNodeFactory< BaseT >::beginFieldDecl(), and osg::VRMLNodeDesc::getFieldAndDesc().
Referenced by createStandardPrototypes().
00686 { 00687 Inherited::beginFieldDecl(szFieldType, uiFieldTypeId, szFieldName); 00688 00689 00690 if(_pCurrNodeDesc == 0) 00691 return; 00692 00693 if(szFieldName == NULL) 00694 return; 00695 00696 _pCurrentField = NULL; 00697 _pCurrentFieldDesc = NULL; 00698 00699 _pCurrNodeDesc->getFieldAndDesc(_pCurrentFC, 00700 szFieldName, 00701 _pCurrentField, 00702 _pCurrentFieldDesc); 00703 }
Definition at line 213 of file OSGVRMLFile.cpp.
References _bvChanged, _fcStack, _nameDescMap, _nameFCMap, _pCurrentFC, _pCurrNodeDesc, _pSceneRootNode, _sChangedStack, _sNodeDescs, osg::AttachmentContainer::AttachmentsFieldMask, osg::beginEditCP(), osg::VRMLNodeDesc::beginNode(), osg::Node::ChildrenFieldMask, osg::Node::CoreFieldMask, osg::Node::create(), osg::GroupBase::create(), osg::SimpleAttachment< AttachmentDescT >::create(), osg::AttachmentContainerPtr::dcast(), osg::NodePtr::dcast(), osg::endEditCP(), osg::VRMLNodeFactory< BaseT >::findNodeDesc(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::NullFC, PINFO, osg::VRMLNodeDesc::reset(), setContainerFieldValue(), osg::VRMLNodeDesc::setOnEndSave(), osg::SceneFileHandler::the(), and osg::SceneFileHandler::updateReadProgress().
Referenced by beginScript().
00215 { 00216 SceneFileHandler::the().updateReadProgress(); 00217 FieldContainerPtr pNewNode; 00218 00219 _pCurrNodeDesc = findNodeDesc(szNodeTypename); 00220 00221 if(_pCurrNodeDesc == NULL) 00222 return; 00223 00224 _sNodeDescs.push(_pCurrNodeDesc); 00225 00226 _pCurrNodeDesc->reset(); 00227 00228 pNewNode = _pCurrNodeDesc->beginNode(szNodeTypename, 00229 szNodename, 00230 _pCurrentFC); 00231 00232 #ifdef OSG_DEBUG_VRML 00233 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00234 PINFO << "Begin Node " << szNodeTypename << std::endl; 00235 00236 VRMLNodeDesc::incIndent(); 00237 #endif 00238 00239 if(szNodename != NULL) 00240 { 00241 if(pNewNode != NullFC) 00242 { 00243 if(pNewNode->getType().isNode() == true) 00244 { 00245 #ifdef OSG_DEBUG_VRML 00246 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00247 PINFO << "Node named : " << szNodename << std::endl; 00248 #endif 00249 00250 NodePtr pNode = NodePtr::dcast(pNewNode); 00251 NamePtr pNodename = Name::create(); 00252 00253 beginEditCP(pNodename); 00254 beginEditCP(pNode,Node::AttachmentsFieldMask); 00255 00256 pNodename->getFieldPtr()->getValue().assign(szNodename); 00257 pNode->addAttachment(pNodename); 00258 00259 endEditCP(pNode,Node::AttachmentsFieldMask); 00260 endEditCP(pNodename); 00261 00262 NameContainerMap::iterator mIt = 00263 _nameFCMap.find(IDStringLink(szNodename)); 00264 00265 // amz - I removed the map checks that's more spec conform. 00266 // From the spec: 00267 // If multiple nodes are given the same name, 00268 // each USE statement refers to the closest node with the given name preceding it 00269 // in either the VRML file or prototype definition. 00270 00271 //if(mIt == _nameFCMap.end()) 00272 { 00273 _nameFCMap[IDString(szNodename)] = pNewNode; 00274 00275 #ifdef OSG_DEBUG_VRML 00276 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00277 PINFO << "Fieldcontainer " << szNodename 00278 << " added to map " << std::endl; 00279 #endif 00280 } 00281 } 00282 else if(pNewNode->getType().isNodeCore() == true) 00283 { 00284 #ifdef OSG_DEBUG_VRML 00285 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00286 PINFO << "Nodecore named : " << szNodename << std::endl; 00287 #endif 00288 NodeCorePtr pNodeCore = NodeCorePtr::dcast(pNewNode); 00289 NamePtr pNodename = Name::create(); 00290 00291 beginEditCP(pNodename); 00292 beginEditCP(pNodeCore,NodeCore::AttachmentsFieldMask); 00293 00294 pNodename->getFieldPtr()->getValue().assign(szNodename); 00295 pNodeCore->addAttachment(pNodename); 00296 00297 endEditCP(pNodeCore,NodeCore::AttachmentsFieldMask); 00298 endEditCP(pNodename); 00299 00300 NameContainerMap::iterator mIt = 00301 _nameFCMap.find(IDStringLink(szNodename)); 00302 00303 //if(mIt == _nameFCMap.end()) 00304 { 00305 _nameFCMap[IDString(szNodename)] = pNewNode; 00306 00307 #ifdef OSG_DEBUG_VRML 00308 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00309 PINFO << "Fieldcontainer " << szNodename 00310 << " added to map " << std::endl; 00311 #endif 00312 } 00313 } 00314 else 00315 { 00316 // could be a material and material names a quite usefull ;-) 00317 AttachmentContainerPtr pAC = AttachmentContainerPtr::dcast(pNewNode); 00318 if(pAC != NullFC) 00319 { 00320 NamePtr pNodename = Name::create(); 00321 00322 beginEditCP(pNodename); 00323 beginEditCP(pAC, AttachmentContainer::AttachmentsFieldMask); 00324 pNodename->getFieldPtr()->getValue().assign(szNodename); 00325 pAC->addAttachment(pNodename); 00326 endEditCP(pAC, AttachmentContainer::AttachmentsFieldMask); 00327 endEditCP(pNodename); 00328 } 00329 00330 #ifdef OSG_DEBUG_VRML 00331 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00332 PINFO << "Fieldcontainer " << szNodeTypename 00333 << " is neither node nor nodecore " << std::endl; 00334 #endif 00335 00336 NameContainerMap::iterator mIt = 00337 _nameFCMap.find(IDStringLink(szNodename)); 00338 00339 //if(mIt == _nameFCMap.end()) 00340 { 00341 _nameFCMap[IDString(szNodename)] = pNewNode; 00342 00343 #ifdef OSG_DEBUG_VRML 00344 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00345 PINFO << "Fieldcontainer " << szNodename 00346 << " added to map " << std::endl; 00347 #endif 00348 } 00349 00350 } 00351 00352 _nameDescMap[IDString(szNodename)] = _pCurrNodeDesc; 00353 00354 #ifdef OSG_DEBUG_VRML 00355 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00356 PINFO << "Desc for " 00357 << szNodename 00358 << " added to map " 00359 << std::endl; 00360 #endif 00361 } 00362 else 00363 { 00364 #ifdef OSG_DEBUG_VRML 00365 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00366 PINFO << "Fieldcontainer " 00367 << szNodeTypename 00368 << "is empty, save on end " 00369 << std::endl; 00370 #endif 00371 00372 if(_pCurrNodeDesc != NULL) 00373 _pCurrNodeDesc->setOnEndSave(szNodename); 00374 00375 _nameDescMap[IDString(szNodename)] = _pCurrNodeDesc; 00376 00377 #ifdef OSG_DEBUG_VRML 00378 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00379 PINFO << "Desc for " 00380 << szNodename 00381 << " added to map " 00382 << std::endl; 00383 #endif 00384 } 00385 } 00386 00387 setContainerFieldValue(pNewNode); 00388 00389 _pCurrentFC = pNewNode; 00390 00391 _fcStack.push(_pCurrentFC); 00392 00393 if(_fcStack.size() == 1) 00394 { 00395 NodePtr pNode = NodePtr::dcast(_pCurrentFC); 00396 00397 if(_pSceneRootNode == NullFC) 00398 { 00399 GroupPtr pGroup = Group::create(); 00400 00401 _pSceneRootNode = Node::create(); 00402 00403 beginEditCP(_pSceneRootNode, Node::CoreFieldMask); 00404 { 00405 _pSceneRootNode->setCore(pGroup); 00406 } 00407 endEditCP (_pSceneRootNode, Node::CoreFieldMask); 00408 } 00409 00410 beginEditCP(_pSceneRootNode, Node::ChildrenFieldMask); 00411 { 00412 _pSceneRootNode->addChild(pNode); 00413 } 00414 endEditCP (_pSceneRootNode, Node::ChildrenFieldMask); 00415 } 00416 00417 _sChangedStack.push(_bvChanged); 00418 00419 _bvChanged.first = 0; 00420 _bvChanged.second = 0; 00421 }
| void VRMLFile::endNode | ( | void | ) | [virtual] |
Definition at line 423 of file OSGVRMLFile.cpp.
References _bvChanged, _fcStack, _nameFCMap, _pCurrentFC, _pCurrentField, _pCurrNodeDesc, _sChangedStack, _sNodeDescs, osg::ChangedOrigin::Abstract, osg::ChangedOrigin::AbstrCheckValid, osg::ChangedOrigin::AbstrIgnoreChild, osg::ChangedOrigin::AbstrIgnoreCore, osg::beginEditCP(), osg::VRMLNodeDesc::clearOnEndSave(), osg::Node::CoreFieldMask, osg::GroupBase::create(), osg::NodePtr::dcast(), osg::VRMLNodeDesc::decIndent(), osg::endEditCP(), osg::VRMLNodeDesc::endNode(), osg::NodePtr::getCore(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::getOnEndSave(), osg::VRMLNodeDesc::getSaveFieldContainer(), osg::VRMLNodeDesc::getSavename(), osg::indentLog(), osg::NullFC, PINFO, SLOG, osg::SceneFileHandler::the(), and osg::SceneFileHandler::updateReadProgress().
Referenced by endScript().
00424 { 00425 SceneFileHandler::the().updateReadProgress(); 00426 if(_pCurrNodeDesc == NULL) 00427 { 00428 #ifdef OSG_DEBUG_VRML 00429 VRMLNodeDesc::decIndent(); 00430 00431 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00432 PINFO << "End Node " << std::endl; 00433 #endif 00434 return; 00435 } 00436 00437 _pCurrNodeDesc->endNode(_pCurrentFC); 00438 00439 if(_pCurrNodeDesc->getOnEndSave() == true) 00440 { 00441 SLOG << "Fieldcontainer " << _pCurrNodeDesc->getSavename() 00442 << " on end Save " << std::endl; 00443 00444 NameContainerMap::iterator mIt = 00445 _nameFCMap.find(IDStringLink(_pCurrNodeDesc->getSavename())); 00446 00447 if(mIt == _nameFCMap.end()) 00448 { 00449 _nameFCMap[IDString(_pCurrNodeDesc->getSavename())] = 00450 _pCurrNodeDesc->getSaveFieldContainer(); 00451 00452 SLOG << "Fieldcontainer " << _pCurrNodeDesc->getSavename() 00453 << " added to map " << std::endl; 00454 } 00455 00456 _pCurrNodeDesc->clearOnEndSave(); 00457 } 00458 00459 _sNodeDescs.pop(); 00460 00461 if(_sNodeDescs.size() != 0) 00462 { 00463 _pCurrNodeDesc = _sNodeDescs.top(); 00464 } 00465 else 00466 { 00467 _pCurrNodeDesc = NULL; 00468 _pCurrentField = NULL; 00469 } 00470 00471 if(_pCurrentFC != NullFC) 00472 { 00473 if(_pCurrentFC->getType().isNode() == true) 00474 { 00475 NodePtr pNode = NodePtr::dcast(_pCurrentFC); 00476 00477 if(pNode->getCore() == NullFC) 00478 { 00479 GroupPtr pGroup = Group::create(); 00480 00481 beginEditCP(pNode, Node::CoreFieldMask); 00482 pNode->setCore(pGroup); 00483 endEditCP(pNode, Node::CoreFieldMask); 00484 } 00485 00486 endEditCP(pNode->getCore(), 00487 _bvChanged.first, 00488 ChangedOrigin::Abstract | 00489 ChangedOrigin::AbstrIgnoreCore | 00490 ChangedOrigin::AbstrIgnoreChild | 00491 ChangedOrigin::AbstrCheckValid ); 00492 } 00493 00494 endEditCP(_pCurrentFC, 00495 _bvChanged.first, 00496 ChangedOrigin::Abstract | 00497 ChangedOrigin::AbstrIgnoreCore | 00498 ChangedOrigin::AbstrIgnoreChild | 00499 ChangedOrigin::AbstrCheckValid ); 00500 } 00501 00502 _fcStack.pop(); 00503 00504 if(_fcStack.size() != 0) 00505 { 00506 _pCurrentFC = _fcStack.top(); 00507 } 00508 else 00509 { 00510 _pCurrentFC = NullFC; 00511 } 00512 00513 if(_sChangedStack.size() != 0) 00514 { 00515 _bvChanged = _sChangedStack.top(); 00516 } 00517 else 00518 { 00519 _bvChanged.first = 0; 00520 _bvChanged.second = 0; 00521 } 00522 00523 _sChangedStack.pop(); 00524 00525 #ifdef OSG_DEBUG_VRML 00526 VRMLNodeDesc::decIndent(); 00527 00528 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00529 PINFO << "End Node " << std::endl; 00530 #endif 00531 }
| void VRMLFile::beginScript | ( | const Char8 * | szNodename | ) | [virtual] |
Definition at line 533 of file OSGVRMLFile.cpp.
References beginNode().
00534 { 00535 beginNode("Script", szNodename); 00536 }
| void VRMLFile::endScript | ( | void | ) | [virtual] |
Definition at line 538 of file OSGVRMLFile.cpp.
References endNode().
00539 { 00540 endNode(); 00541 }
| virtual void osg::VRMLFile::beginField | ( | const Char8 * | szFieldname, | |
| const UInt32 | uiFieldTypeId | |||
| ) | [virtual] |
| void VRMLFile::endField | ( | void | ) | [virtual] |
Definition at line 603 of file OSGVRMLFile.cpp.
References _fdStack, _fStack, _pCurrentFC, _pCurrentField, _pCurrentFieldDesc, osg::ChangedOrigin::Abstract, osg::ChangedOrigin::AbstrCheckValid, osg::ChangedOrigin::AbstrIgnoreChild, osg::ChangedOrigin::AbstrIgnoreCore, osg::NodePtr::dcast(), osg::VRMLNodeDesc::decIndent(), osg::endEditCP(), osg::NodePtr::getCore(), osg::FieldDescription::getFieldMask(), osg::VRMLNodeDesc::getIndent(), osg::indentLog(), osg::NullFC, and PINFO.
00604 { 00605 _fStack.pop(); 00606 00607 if(_fStack.size() != 0) 00608 { 00609 _pCurrentField = _fStack.top(); 00610 } 00611 else 00612 { 00613 _pCurrentField = NULL; 00614 } 00615 00616 00617 if(_pCurrentFieldDesc != NULL) 00618 { 00619 NodeCorePtr pCore; 00620 NodePtr pNode; 00621 00622 if(_pCurrentFC != NullFC) 00623 { 00624 #if 0 00625 endEditCP(_pCurrentFC, 00626 // FieldBits::AllFields, 00627 _pCurrentFieldDesc->getFieldMask(), 00628 ChangedOrigin::Abstract | 00629 ChangedOrigin::AbstrIgnoreCore | 00630 ChangedOrigin::AbstrIgnoreChild | 00631 ChangedOrigin::AbstrCheckValid ); 00632 #endif 00633 00634 if(_pCurrentFC->getType().isNode()) 00635 { 00636 pNode = NodePtr::dcast(_pCurrentFC); 00637 00638 pCore = pNode->getCore(); 00639 00640 #if 0 00641 endEditCP( pCore, 00642 // FieldBits::AllFields, 00643 _pCurrentFieldDesc->getFieldMask(), 00644 ChangedOrigin::Abstract | 00645 ChangedOrigin::AbstrIgnoreCore | 00646 ChangedOrigin::AbstrIgnoreChild | 00647 ChangedOrigin::AbstrCheckValid ); 00648 #endif 00649 } 00650 } 00651 } 00652 00653 _fdStack.pop(); 00654 00655 if(_fdStack.size() != 0) 00656 { 00657 _pCurrentFieldDesc = _fdStack.top(); 00658 } 00659 else 00660 { 00661 _pCurrentFieldDesc = NULL; 00662 } 00663 00664 #ifdef OSG_DEBUG_VRML 00665 VRMLNodeDesc::decIndent(); 00666 00667 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00668 PINFO << "VRMLFile::endField " << std::endl; 00669 #endif 00670 }
| void VRMLFile::addFieldValue | ( | const Char8 * | szFieldVal | ) | [virtual] |
Reimplemented from osg::VRMLNodeFactory< BaseT >.
Definition at line 673 of file OSGVRMLFile.cpp.
References _pCurrentField, _pCurrNodeDesc, osg::VRMLNodeDesc::addFieldValue(), and osg::VRMLNodeFactory< BaseT >::addFieldValue().
Referenced by createStandardPrototypes().
00674 { 00675 Inherited::addFieldValue(szFieldVal); 00676 00677 if(_pCurrNodeDesc != NULL) 00678 { 00679 _pCurrNodeDesc->addFieldValue(_pCurrentField, szFieldVal); 00680 } 00681 }
Definition at line 706 of file OSGVRMLFile.cpp.
References _pCurrentFC, _pCurrentField, _pCurrentFieldDesc, _pCurrNodeDesc, osg::VRMLNodeDesc::getFieldAndDesc(), osg::TypeBase::getId(), osg::VRMLNodeDesc::getIndent(), osg::TypeBase::getName(), osg::Field::getType(), osg::indentLog(), and PINFO.
00707 { 00708 UInt32 returnValue = 0; 00709 00710 if(_pCurrNodeDesc == 0) 00711 return returnValue; 00712 00713 if(szFieldname == NULL) 00714 return returnValue; 00715 00716 _pCurrentField = NULL; 00717 _pCurrentFieldDesc = NULL; 00718 00719 _pCurrNodeDesc->getFieldAndDesc(_pCurrentFC, 00720 szFieldname, 00721 _pCurrentField, 00722 _pCurrentFieldDesc); 00723 00724 if(_pCurrentField != NULL) 00725 returnValue = _pCurrentField->getType().getId(); 00726 00727 #ifdef OSG_DEBUG_VRML 00728 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00729 PINFO << "VRMLFile::getFieldType : Got Field and type " 00730 << returnValue << " " 00731 << _pCurrentField << " " 00732 << _pCurrentFieldDesc << " "; 00733 00734 if(_pCurrentField != NULL) 00735 PINFO << _pCurrentField->getType().getName() << std::endl; 00736 else 00737 PINFO << std::endl; 00738 #endif 00739 00740 return returnValue; 00741 }
| void VRMLFile::use | ( | const Char8 * | szName | ) | [virtual] |
Definition at line 743 of file OSGVRMLFile.cpp.
References _nameDescMap, osg::cloneTree(), osg::NodePtr::dcast(), osg::VRMLNodeDesc::decIndent(), findReference(), osg::VRMLNodeDesc::getIndent(), osg::getSystemTime(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::NullFC, PINFO, PWARNING, setContainerFieldValue(), osg::SceneFileHandler::the(), osg::SceneFileHandler::updateReadProgress(), osg::VRMLNodeDesc::use(), and useTime.
00744 { 00745 SceneFileHandler::the().updateReadProgress(); 00746 Time beginUse = getSystemTime(); 00747 00748 FieldContainerPtr pUsedFC; 00749 00750 // try to find a container with the given name attachment 00751 00752 #ifdef OSG_DEBUG_VRML 00753 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00754 PINFO << "VRMLFile::use : looking for " 00755 << szName 00756 << std::endl; 00757 00758 VRMLNodeDesc::incIndent(); 00759 #endif 00760 00761 00762 00763 pUsedFC = findReference(szName); 00764 00765 if(pUsedFC == NullFC) 00766 { 00767 PWARNING << "No fieldContainer with name found to use" 00768 << szName 00769 << std::endl; 00770 } 00771 else 00772 { 00773 // assign nodepointer to current sf|mf field 00774 00775 VRMLNodeDesc *pDesc = NULL; 00776 00777 NameDescriptionMap::iterator mIt = 00778 _nameDescMap.find(IDStringLink(szName)); 00779 00780 if(mIt != _nameDescMap.end()) 00781 { 00782 pDesc = mIt->second; 00783 } 00784 00785 if(pUsedFC->getType().isNode()) 00786 { 00787 NodePtr pRootNode = NodePtr::dcast(pUsedFC); 00788 00789 pUsedFC = cloneTree(pRootNode); 00790 } 00791 00792 if(pDesc != NULL) 00793 { 00794 if(pDesc->use(pUsedFC) == false) 00795 { 00796 setContainerFieldValue(pUsedFC); 00797 } 00798 } 00799 else 00800 { 00801 setContainerFieldValue(pUsedFC); 00802 } 00803 } 00804 00805 #ifdef OSG_DEBUG_VRML 00806 VRMLNodeDesc::decIndent(); 00807 #endif 00808 00809 useTime += (getSystemTime() - beginUse); 00810 }
| void VRMLFile::scanStandardPrototypes | ( | const Char8 * | szFilename | ) |
Definition at line 815 of file OSGVRMLFile.cpp.
References osg::VRMLNodeFactory< BaseT >::postStandardProtos(), osg::VRMLNodeFactory< BaseT >::preStandardProtos(), osg::VRMLNodeDesc::resetIndent(), and scanFile().
00816 { 00817 #ifdef OSG_DEBUG_VRML 00818 VRMLNodeDesc::resetIndent(); 00819 #endif 00820 00821 preStandardProtos(); 00822 scanFile(szFilename); 00823 postStandardProtos(); 00824 00825 // dumpTable(); 00826 }
| void VRMLFile::createStandardPrototypes | ( | void | ) |
Definition at line 828 of file OSGVRMLFile.cpp.
References addFieldValue(), osg::VRMLNodeFactory< BaseT >::beginEventInDecl(), osg::VRMLNodeFactory< BaseT >::beginEventOutDecl(), osg::VRMLNodeFactory< BaseT >::beginExposedFieldDecl(), beginFieldDecl(), osg::VRMLNodeFactory< BaseT >::beginProto(), osg::VRMLNodeFactory< BaseT >::endExposedFieldDecl(), osg::VRMLNodeFactory< BaseT >::endFieldDecl(), osg::VRMLNodeFactory< BaseT >::endProto(), osg::VRMLNodeFactory< BaseT >::postStandardProtos(), osg::VRMLNodeFactory< BaseT >::preStandardProtos(), osg::VRMLNodeDesc::resetIndent(), and startTime.
Referenced by osg::VRMLSceneFileType::read().
00829 { 00830 #ifdef OSG_DEBUG_VRML 00831 VRMLNodeDesc::resetIndent(); 00832 #endif 00833 00834 preStandardProtos(); 00835 00836 #if 0 00837 PROTO Anchor [ 00838 eventIn MFNode addChildren 00839 eventIn MFNode removeChildren 00840 exposedField MFNode children [] 00841 exposedField SFString description "" 00842 exposedField MFString parameter [] 00843 exposedField MFString url [] 00844 field SFVec3f bboxCenter 0 0 0 00845 field SFVec3f bboxSize -1 -1 -1 00846 ] { } 00847 #endif 00848 00849 beginProto ("Anchor"); 00850 { 00851 beginEventInDecl ("MFNode", Self::OSGmfNode, "addChildren"); 00852 endEventDecl (); 00853 00854 beginEventInDecl ("MFNode", Self::OSGmfNode, "removeChildren"); 00855 endEventDecl (); 00856 00857 beginExposedFieldDecl("MFNode", Self::OSGmfNode, "children"); 00858 endExposedFieldDecl (); 00859 00860 beginExposedFieldDecl("SFString", Self::OSGsfString, "description"); 00861 endExposedFieldDecl (); 00862 00863 beginExposedFieldDecl("MFString", Self::OSGmfString, "parameter"); 00864 endExposedFieldDecl (); 00865 00866 beginExposedFieldDecl("MFString", Self::OSGmfString, "url"); 00867 endExposedFieldDecl (); 00868 00869 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxCenter"); 00870 addFieldValue ("0 0 0"); 00871 endFieldDecl (); 00872 00873 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxSize"); 00874 addFieldValue ("-1 -1 -1"); 00875 endFieldDecl (); 00876 } 00877 endProto (); 00878 00879 00880 #if 0 00881 PROTO Appearance [ 00882 exposedField SFNode material NULL 00883 exposedField SFNode texture NULL 00884 exposedField SFNode textureTransform NULL 00885 ] { } 00886 #endif 00887 00888 beginProto("Appearance"); 00889 { 00890 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "material"); 00891 // addFieldValue ("NULL"); 00892 endExposedFieldDecl (); 00893 00894 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "texture"); 00895 // addFieldValue ("NULL"); 00896 endExposedFieldDecl (); 00897 00898 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "textureTransform"); 00899 // addFieldValue ("NULL"); 00900 endExposedFieldDecl (); 00901 } 00902 endProto (); 00903 00904 #if 0 00905 PROTO AudioClip [ 00906 exposedField SFString description "" 00907 exposedField SFBool loop FALSE 00908 exposedField SFFloat pitch 1.0 00909 exposedField SFTime startTime 0 00910 exposedField SFTime stopTime 0 00911 exposedField MFString url [] 00912 eventOut SFTime duration_changed 00913 eventOut SFBool isActive 00914 ] { } 00915 #endif 00916 00917 beginProto("AudioClip"); 00918 { 00919 beginExposedFieldDecl("SFString", Self::OSGsfString, "description"); 00920 addFieldValue (""); 00921 endExposedFieldDecl (); 00922 00923 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "loop"); 00924 addFieldValue ("FALSE"); 00925 endExposedFieldDecl (); 00926 00927 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "pitch"); 00928 addFieldValue ("1.0"); 00929 endExposedFieldDecl (); 00930 00931 beginExposedFieldDecl("SFTime", Self::OSGsfTime, "startTime"); 00932 addFieldValue ("0"); 00933 endExposedFieldDecl (); 00934 00935 beginExposedFieldDecl("SFTime", Self::OSGsfTime, "stopTime"); 00936 addFieldValue ("0"); 00937 endExposedFieldDecl (); 00938 00939 beginExposedFieldDecl("MFString", Self::OSGmfString, "url"); 00940 endExposedFieldDecl (); 00941 00942 beginEventOutDecl ("SFTime", Self::OSGsfTime, "duration_changed"); 00943 endEventDecl (); 00944 00945 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isActive"); 00946 endEventDecl (); 00947 } 00948 endProto (); 00949 00950 #if 0 00951 PROTO Background [ 00952 eventIn SFBool set_bind 00953 exposedField MFFloat groundAngle [] 00954 exposedField MFColor groundColor [] 00955 exposedField MFString backUrl [] 00956 exposedField MFString bottomUrl [] 00957 exposedField MFString frontUrl [] 00958 exposedField MFString leftUrl [] 00959 exposedField MFString rightUrl [] 00960 exposedField MFString topUrl [] 00961 exposedField MFFloat skyAngle [] 00962 exposedField MFColor skyColor [ 0 0 0 ] 00963 eventOut SFBool isBound 00964 ] { } 00965 #endif 00966 00967 beginProto("Background"); 00968 { 00969 beginEventInDecl ("SFBool", Self::OSGsfBool, "set_bind"); 00970 endEventDecl (); 00971 00972 beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "groundAngle"); 00973 endExposedFieldDecl (); 00974 00975 beginExposedFieldDecl("MFColor", Self::OSGmfColor, "groundColor"); 00976 endExposedFieldDecl (); 00977 00978 beginExposedFieldDecl("MFString", Self::OSGmfString, "backUrl"); 00979 endExposedFieldDecl (); 00980 00981 beginExposedFieldDecl("MFString", Self::OSGmfString, "bottomUrl"); 00982 endExposedFieldDecl (); 00983 00984 beginExposedFieldDecl("MFString", Self::OSGmfString, "frontUrl"); 00985 endExposedFieldDecl (); 00986 00987 beginExposedFieldDecl("MFString", Self::OSGmfString, "leftUrl"); 00988 endExposedFieldDecl (); 00989 00990 beginExposedFieldDecl("MFString", Self::OSGmfString, "rightUrl"); 00991 endExposedFieldDecl (); 00992 00993 beginExposedFieldDecl("MFString", Self::OSGmfString, "topUrl"); 00994 endExposedFieldDecl (); 00995 00996 beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "skyAngle"); 00997 endExposedFieldDecl (); 00998 00999 beginExposedFieldDecl("MFColor", Self::OSGmfColor, "skyColor"); 01000 addFieldValue ("0 0 0"); 01001 endExposedFieldDecl (); 01002 01003 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isBound"); 01004 endEventDecl (); 01005 } 01006 endProto (); 01007 01008 01009 #if 0 01010 PROTO Billboard [ 01011 eventIn MFNode addChildren 01012 eventIn MFNode removeChildren 01013 exposedField SFVec3f axisOfRotation 0 1 0 01014 exposedField MFNode children [] 01015 field SFVec3f bboxCenter 0 0 0 01016 field SFVec3f bboxSize -1 -1 -1 01017 ] { } 01018 #endif 01019 01020 beginProto("Billboard"); 01021 { 01022 beginEventInDecl ("MFNode", Self::OSGmfNode, "addChildren"); 01023 endEventDecl (); 01024 01025 beginEventInDecl ("MFNode", Self::OSGmfNode, "removeChildren"); 01026 endEventDecl (); 01027 01028 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "axisOfRotation"); 01029 addFieldValue ("0 1 0"); 01030 endExposedFieldDecl (); 01031 01032 beginExposedFieldDecl("MFNode", Self::OSGmfNode, "children"); 01033 endExposedFieldDecl (); 01034 01035 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxCenter"); 01036 addFieldValue ("0 0 0"); 01037 endFieldDecl (); 01038 01039 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxSize"); 01040 addFieldValue ("-1 -1 -1"); 01041 endFieldDecl (); 01042 } 01043 endProto (); 01044 01045 #if 0 01046 PROTO Box [ 01047 field SFVec3f size 2 2 2 01048 ] { } 01049 #endif 01050 01051 beginProto("Box"); 01052 { 01053 beginFieldDecl("SFVec3f", Self::OSGsfVec3f, "size"); 01054 addFieldValue ("2 2 2"); 01055 endFieldDecl (); 01056 } 01057 endProto (); 01058 01059 #if 0 01060 PROTO Collision [ 01061 eventIn MFNode addChildren 01062 eventIn MFNode removeChildren 01063 exposedField MFNode children [] 01064 exposedField SFBool collide TRUE 01065 field SFVec3f bboxCenter 0 0 0 01066 field SFVec3f bboxSize -1 -1 -1 01067 field SFNode proxy NULL 01068 eventOut SFTime collideTime 01069 ] { } 01070 #endif 01071 01072 beginProto("Collision"); 01073 { 01074 beginEventInDecl ("MFNode", Self::OSGmfNode, "addChildren"); 01075 endEventDecl (); 01076 01077 beginEventInDecl ("MFNode", Self::OSGmfNode, "removeChildren"); 01078 endEventDecl (); 01079 01080 beginExposedFieldDecl("MFNode", Self::OSGmfNode, "children"); 01081 endExposedFieldDecl (); 01082 01083 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "collide"); 01084 addFieldValue ("TRUE"); 01085 endExposedFieldDecl (); 01086 01087 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxCenter"); 01088 addFieldValue ("0 0 0"); 01089 endFieldDecl (); 01090 01091 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxSize"); 01092 addFieldValue ("-1 -1 -1"); 01093 endFieldDecl (); 01094 01095 beginFieldDecl ("SFNode", Self::OSGsfNode, "proxy"); 01096 endFieldDecl (); 01097 01098 beginEventOutDecl ("SFTime", OSGsfTime, "collideTime"); 01099 endEventDecl (); 01100 } 01101 endProto (); 01102 01103 #if 0 01104 PROTO Color [ 01105 exposedField MFColor color [] 01106 ] { } 01107 #endif 01108 01109 beginProto("Color"); 01110 { 01111 beginExposedFieldDecl("MFColor", Self::OSGmfColor, "color"); 01112 endExposedFieldDecl (); 01113 } 01114 endProto (); 01115 01116 #if 0 01117 PROTO ColorInterpolator [ 01118 eventIn SFFloat set_fraction 01119 exposedField MFFloat key [] 01120 exposedField MFColor keyValue [] 01121 eventOut SFColor value_changed 01122 ] { } 01123 #endif 01124 01125 beginProto("ColorInterpolator"); 01126 { 01127 beginEventInDecl ("SFFloat", OSGsfFloat, "set_fraction"); 01128 endEventDecl (); 01129 01130 beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key"); 01131 endExposedFieldDecl (); 01132 01133 beginExposedFieldDecl("MFColor", Self::OSGmfColor, "keyValue"); 01134 endExposedFieldDecl (); 01135 01136 beginEventOutDecl ("SFColor", Self::OSGsfColor, "value_changed"); 01137 endEventDecl (); 01138 } 01139 endProto (); 01140 01141 #if 0 01142 PROTO Cone [ 01143 field SFFloat bottomRadius 1 01144 field SFFloat height 2 01145 field SFBool side TRUE 01146 field SFBool bottom TRUE 01147 ] { } 01148 #endif 01149 01150 beginProto("Cone"); 01151 { 01152 beginFieldDecl("SFFloat", Self::OSGsfFloat, "bottomRadius"); 01153 addFieldValue ("1"); 01154 endFieldDecl (); 01155 01156 beginFieldDecl("SFFloat", Self::OSGsfFloat, "height"); 01157 addFieldValue ("2"); 01158 endFieldDecl (); 01159 01160 beginFieldDecl("SFBool", Self::OSGsfBool, "side"); 01161 addFieldValue ("TRUE"); 01162 endFieldDecl (); 01163 01164 beginFieldDecl("SFBool", Self::OSGsfBool, "bottom"); 01165 addFieldValue ("TRUE"); 01166 endFieldDecl (); 01167 } 01168 endProto (); 01169 01170 #if 0 01171 PROTO Coordinate [ 01172 exposedField MFVec3f point [] 01173 ] { } 01174 #endif 01175 01176 beginProto("Coordinate"); 01177 { 01178 beginExposedFieldDecl("MFVec3f", Self::OSGmfVec3f, "point"); 01179 endExposedFieldDecl (); 01180 } 01181 endProto (); 01182 01183 #if 0 01184 PROTO CoordinateInterpolator [ 01185 eventIn SFFloat set_fraction 01186 exposedField MFFloat key [] 01187 exposedField MFVec3f keyValue [] 01188 eventOut MFVec3f value_changed 01189 ] { } 01190 #endif 01191 01192 beginProto("CoordinateInterpolator"); 01193 { 01194 beginEventInDecl ("SFFloat", Self::OSGsfFloat, "set_fraction"); 01195 endEventDecl (); 01196 01197 beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key"); 01198 endExposedFieldDecl (); 01199 01200 beginExposedFieldDecl("MFVec3f", Self::OSGmfVec3f, "keyValue"); 01201 endExposedFieldDecl (); 01202 01203 beginEventOutDecl ("MFVec3f", Self::OSGmfVec3f, "value_changed"); 01204 endEventDecl (); 01205 } 01206 endProto (); 01207 01208 #if 0 01209 PROTO Cylinder [ 01210 field SFBool bottom TRUE 01211 field SFFloat height 2 01212 field SFFloat radius 1 01213 field SFBool side TRUE 01214 field SFBool top TRUE 01215 ] { } 01216 #endif 01217 01218 beginProto("Cylinder"); 01219 { 01220 beginFieldDecl("SFBool", Self::OSGsfBool, "bottom"); 01221 addFieldValue ("TRUE"); 01222 endFieldDecl (); 01223 01224 beginFieldDecl("SFFloat", Self::OSGsfFloat, "height"); 01225 addFieldValue ("2"); 01226 endFieldDecl (); 01227 01228 beginFieldDecl("SFFloat", Self::OSGsfFloat, "radius"); 01229 addFieldValue ("1"); 01230 endFieldDecl (); 01231 01232 beginFieldDecl("SFBool", Self::OSGsfBool, "side"); 01233 addFieldValue ("TRUE"); 01234 endFieldDecl (); 01235 01236 beginFieldDecl("SFBool", Self::OSGsfBool, "top"); 01237 addFieldValue ("TRUE"); 01238 endFieldDecl (); 01239 } 01240 endProto (); 01241 01242 #if 0 01243 PROTO CylinderSensor [ 01244 exposedField SFBool autoOffset TRUE 01245 exposedField SFFloat diskAngle 0.262 01246 exposedField SFBool enabled TRUE 01247 exposedField SFFloat maxAngle -1 01248 exposedField SFFloat minAngle 0 01249 exposedField SFFloat offset 0 01250 eventOut SFBool isActive 01251 eventOut SFRotation rotation_changed 01252 eventOut SFVec3f trackPoint_changed 01253 ] { } 01254 #endif 01255 01256 beginProto("CylinderSensor"); 01257 { 01258 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "autoOffset"); 01259 addFieldValue ("TRUE"); 01260 endExposedFieldDecl (); 01261 01262 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "diskAngle"); 01263 addFieldValue ("0.262"); 01264 endExposedFieldDecl (); 01265 01266 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled"); 01267 addFieldValue ("TRUE"); 01268 endExposedFieldDecl (); 01269 01270 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "maxAngle"); 01271 addFieldValue ("-1"); 01272 endExposedFieldDecl (); 01273 01274 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "minAngle"); 01275 addFieldValue ("0"); 01276 endExposedFieldDecl (); 01277 01278 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "offset"); 01279 addFieldValue ("0"); 01280 endExposedFieldDecl (); 01281 01282 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isActive"); 01283 endEventDecl (); 01284 01285 beginEventOutDecl ("SFRotation", 01286 Self::OSGsfRotation, 01287 "rotation_changed"); 01288 endEventDecl (); 01289 01290 beginEventOutDecl ("SFVec3f", Self::OSGsfVec3f, "trackPoint_changed"); 01291 endEventDecl (); 01292 } 01293 endProto (); 01294 01295 #if 0 01296 PROTO DirectionalLight [ 01297 exposedField SFFloat ambientIntensity 0 01298 exposedField SFColor color 1 1 1 01299 exposedField SFVec3f direction 0 0 -1 01300 exposedField SFFloat intensity 1 01301 exposedField SFBool on TRUE 01302 ] { } 01303 #endif 01304 01305 beginProto("DirectionalLight"); 01306 { 01307 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "ambientIntensity"); 01308 addFieldValue ("0"); 01309 endExposedFieldDecl (); 01310 01311 beginExposedFieldDecl("SFColor", Self::OSGsfColor, "color"); 01312 addFieldValue ("1 1 1"); 01313 endExposedFieldDecl (); 01314 01315 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "direction"); 01316 addFieldValue ("0 0 -1"); 01317 endExposedFieldDecl (); 01318 01319 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "intensity"); 01320 addFieldValue ("1"); 01321 endExposedFieldDecl (); 01322 01323 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "on"); 01324 addFieldValue ("TRUE"); 01325 endExposedFieldDecl (); 01326 } 01327 endProto (); 01328 01329 #if 0 01330 PROTO ElevationGrid [ 01331 eventIn MFFloat set_height 01332 exposedField SFNode color NULL 01333 exposedField SFNode normal NULL 01334 exposedField SFNode texCoord NULL 01335 field SFBool ccw TRUE 01336 field SFBool colorPerVertex TRUE 01337 field SFFloat creaseAngle 0 01338 field MFFloat height [] 01339 field SFBool normalPerVertex TRUE 01340 field SFBool solid TRUE 01341 field SFInt32 xDimension 0 01342 field SFFloat xSpacing 0.0 01343 field SFInt32 zDimension 0 01344 field SFFloat zSpacing 0.0 01345 01346 ] { } 01347 #endif 01348 01349 beginProto("ElevationGrid"); 01350 { 01351 beginEventInDecl ("MFFloat", Self::OSGmfFloat, "set_height"); 01352 endEventDecl (); 01353 01354 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "color"); 01355 // addFieldValue ("NULL"); 01356 endExposedFieldDecl (); 01357 01358 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "normal"); 01359 // addFieldValue ("NULL"); 01360 endExposedFieldDecl (); 01361 01362 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "texCoord"); 01363 // addFieldValue ("NULL"); 01364 endExposedFieldDecl (); 01365 01366 beginFieldDecl ("SFBool", Self::OSGsfBool, "ccw"); 01367 addFieldValue ("TRUE"); 01368 endFieldDecl (); 01369 01370 beginFieldDecl ("SFBool", Self::OSGsfBool, "colorPerVertex"); 01371 addFieldValue ("TRUE"); 01372 endFieldDecl (); 01373 01374 beginFieldDecl ("SFFloat", Self::OSGsfFloat, "creaseAngle"); 01375 addFieldValue ("0"); 01376 endFieldDecl (); 01377 01378 beginFieldDecl ("MFFloat", Self::OSGmfFloat, "height"); 01379 endFieldDecl (); 01380 01381 beginFieldDecl ("SFBool", Self::OSGsfBool, "normalPerVertex"); 01382 addFieldValue ("TRUE"); 01383 endFieldDecl (); 01384 01385 beginFieldDecl ("SFBool", Self::OSGsfBool, "solid"); 01386 addFieldValue ("TRUE"); 01387 endFieldDecl (); 01388 01389 beginFieldDecl ("SFInt32", Self::OSGsfInt32, "xDimension"); 01390 addFieldValue ("0"); 01391 endFieldDecl (); 01392 01393 beginFieldDecl ("SFFloat", Self::OSGsfFloat, "xSpacing"); 01394 addFieldValue ("0.0"); 01395 endFieldDecl (); 01396 01397 beginFieldDecl ("SFInt32", Self::OSGsfInt32, "zDimension"); 01398 addFieldValue ("0"); 01399 endFieldDecl (); 01400 01401 beginFieldDecl ("SFFloat", Self::OSGsfFloat, "zSpacing"); 01402 addFieldValue ("0.0"); 01403 endFieldDecl (); 01404 } 01405 endProto (); 01406 01407 #if 0 01408 PROTO Extrusion [ 01409 eventIn MFVec2f set_crossSection 01410 eventIn MFRotation set_orientation 01411 eventIn MFVec2f set_scale 01412 eventIn MFVec3f set_spine 01413 field SFBool beginCap TRUE 01414 field SFBool ccw TRUE 01415 field SFBool convex TRUE 01416 field SFFloat creaseAngle 0 01417 field MFVec2f crossSection [ 1 1, 1 -1, -1 -1, -1 1, 1 1 ] 01418 field SFBool endCap TRUE 01419 field MFRotation orientation 0 0 1 0 01420 field MFVec2f scale 1 1 01421 field SFBool solid TRUE 01422 field MFVec3f spine [ 0 0 0, 0 1 0 ] 01423 ] { } 01424 #endif 01425 01426 beginProto("Extrusion"); 01427 { 01428 beginEventInDecl("MFVec2f", Self::OSGmfVec2f, "set_crossSection"); 01429 endEventDecl (); 01430 beginEventInDecl("MFRotation", Self::OSGmfRotation, "set_orientation"); 01431 endEventDecl (); 01432 01433 beginEventInDecl("MFVec2f", Self::OSGmfVec2f, "set_scale"); 01434 endEventDecl (); 01435 01436 beginEventInDecl("MFVec3f", Self::OSGmfVec3f, "set_spine"); 01437 endEventDecl (); 01438 01439 beginFieldDecl("SFBool", Self::OSGsfBool, "beginCap"); 01440 addFieldValue ("TRUE"); 01441 endFieldDecl (); 01442 01443 beginFieldDecl("SFBool", Self::OSGsfBool, "ccw"); 01444 addFieldValue ("TRUE"); 01445 endFieldDecl (); 01446 01447 beginFieldDecl("SFBool", Self::OSGsfBool, "convex"); 01448 addFieldValue ("TRUE"); 01449 endFieldDecl (); 01450 01451 beginFieldDecl("SFFloat", Self::OSGsfFloat, "creaseAngle"); 01452 addFieldValue ("0"); 01453 endFieldDecl (); 01454 01455 beginFieldDecl("MFVec2f", Self::OSGmfVec2f, "crossSection"); 01456 endFieldDecl (); 01457 01458 beginFieldDecl("SFBool", Self::OSGsfBool, "endCap"); 01459 addFieldValue ("TRUE"); 01460 endFieldDecl (); 01461 01462 beginFieldDecl("MFRotation", Self::OSGmfRotation, "orientation"); 01463 endFieldDecl (); 01464 01465 beginFieldDecl("MFVec2f", Self::OSGmfVec2f, "scale"); 01466 endFieldDecl (); 01467 01468 beginFieldDecl("SFBool", Self::OSGsfBool, "solid"); 01469 addFieldValue ("TRUE"); 01470 endFieldDecl (); 01471 01472 beginFieldDecl("MFVec3f", Self::OSGmfVec3f, "spine"); 01473 endFieldDecl (); 01474 } 01475 endProto (); 01476 01477 #if 0 01478 PROTO Fog [ 01479 exposedField SFColor color 1 1 1 01480 exposedField SFString fogType "LINEAR" 01481 exposedField SFFloat visibilityRange 0 01482 eventIn SFBool set_bind 01483 eventOut SFBool isBound 01484 ] { } 01485 #endif 01486 01487 beginProto("Fog"); 01488 { 01489 beginExposedFieldDecl("SFColor", Self::OSGsfColor, "color"); 01490 addFieldValue ("1 1 1"); 01491 endExposedFieldDecl (); 01492 01493 beginExposedFieldDecl("SFString", Self::OSGsfString, "fogType"); 01494 addFieldValue ("LINEAR"); 01495 endExposedFieldDecl (); 01496 01497 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "visibilityRange"); 01498 addFieldValue ("0"); 01499 endExposedFieldDecl (); 01500 01501 beginEventInDecl ("SFBool", Self::OSGsfBool, "set_bind"); 01502 endEventDecl (); 01503 01504 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isBound"); 01505 endEventDecl (); 01506 } 01507 endProto (); 01508 01509 #if 0 01510 PROTO FontStyle [ 01511 field SFString family "SERIF" 01512 field SFBool horizontal TRUE 01513 field MFString justify "BEGIN" 01514 field SFString language "" 01515 field SFBool leftToRight TRUE 01516 field SFFloat size 1.0 01517 field SFFloat spacing 1.0 01518 field SFString style "PLAIN" 01519 field SFBool topToBottom TRUE 01520 ] { } 01521 #endif 01522 01523 beginProto("FontStyle"); 01524 { 01525 beginFieldDecl("SFString", Self::OSGsfString, "family"); 01526 addFieldValue ("SERIF"); 01527 endFieldDecl (); 01528 01529 beginFieldDecl("SFBool", Self::OSGsfBool, "horizontal"); 01530 addFieldValue ("TRUE"); 01531 endFieldDecl (); 01532 01533 beginFieldDecl("MFString", Self::OSGmfString, "justify"); 01534 addFieldValue ("BEGIN"); 01535 endFieldDecl (); 01536 01537 beginFieldDecl("SFString", Self::OSGsfString, "language"); 01538 addFieldValue (""); 01539 endFieldDecl (); 01540 01541 beginFieldDecl("SFBool", Self::OSGsfBool, "leftToRight"); 01542 addFieldValue ("TRUE"); 01543 endFieldDecl (); 01544 01545 beginFieldDecl("SFFloat", Self::OSGsfFloat, "size"); 01546 addFieldValue ("1.0"); 01547 endFieldDecl (); 01548 01549 beginFieldDecl("SFFloat", Self::OSGsfFloat, "spacing"); 01550 addFieldValue ("1.0"); 01551 endFieldDecl (); 01552 01553 beginFieldDecl("SFString", Self::OSGsfString, "style"); 01554 addFieldValue ("PLAIN"); 01555 endFieldDecl (); 01556 01557 beginFieldDecl("SFBool", Self::OSGsfBool, "topToBottom"); 01558 addFieldValue ("TRUE"); 01559 endFieldDecl (); 01560 } 01561 endProto (); 01562 01563 #if 0 01564 PROTO Group [ 01565 eventIn MFNode addChildren 01566 eventIn MFNode removeChildren 01567 exposedField MFNode children [] 01568 field SFVec3f bboxCenter 0 0 0 01569 field SFVec3f bboxSize -1 -1 -1 01570 ] { } 01571 #endif 01572 01573 beginProto("Group"); 01574 { 01575 beginEventInDecl ("MFNode", Self::OSGmfNode, "addChildren"); 01576 endEventDecl (); 01577 01578 beginEventInDecl ("MFNode", Self::OSGmfNode, "removeChildren"); 01579 endEventDecl (); 01580 01581 beginExposedFieldDecl("MFNode", Self::OSGmfNode, "children"); 01582 endExposedFieldDecl (); 01583 01584 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxCenter"); 01585 addFieldValue ("0 0 0"); 01586 endFieldDecl (); 01587 01588 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxSize"); 01589 addFieldValue ("-1 -1 -1"); 01590 endFieldDecl (); 01591 } 01592 endProto (); 01593 01594 #if 0 01595 PROTO ImageTexture [ 01596 exposedField MFString url [] 01597 field SFBool repeatS TRUE 01598 field SFBool repeatT TRUE 01599 ] { } 01600 #endif 01601 01602 beginProto("ImageTexture"); 01603 { 01604 beginExposedFieldDecl("MFString", Self::OSGmfString, "url"); 01605 endExposedFieldDecl (); 01606 01607 beginFieldDecl ("SFBool", Self::OSGsfBool, "repeatS"); 01608 addFieldValue ("TRUE"); 01609 endFieldDecl (); 01610 01611 beginFieldDecl ("SFBool", Self::OSGsfBool, "repeatT"); 01612 addFieldValue ("TRUE"); 01613 endFieldDecl (); 01614 } 01615 endProto (); 01616 01617 #if 0 01618 PROTO IndexedFaceSet [ 01619 eventIn MFInt32 set_colorIndex 01620 eventIn MFInt32 set_coordIndex 01621 eventIn MFInt32 set_normalIndex 01622 eventIn MFInt32 set_texCoordIndex 01623 exposedField SFNode color NULL 01624 exposedField SFNode coord NULL 01625 exposedField SFNode normal NULL 01626 exposedField SFNode texCoord NULL 01627 field SFBool ccw TRUE 01628 field MFInt32 colorIndex [] 01629 field SFBool colorPerVertex TRUE 01630 field SFBool convex TRUE 01631 field MFInt32 coordIndex [] 01632 field SFFloat creaseAngle 0 01633 field MFInt32 normalIndex [] 01634 field SFBool normalPerVertex TRUE 01635 field SFBool solid TRUE 01636 field MFInt32 texCoordIndex [] 01637 ] { } 01638 #endif 01639 01640 beginProto("IndexedFaceSet"); 01641 { 01642 beginEventInDecl ("MFInt32", Self::OSGmfInt32, "set_colorIndex"); 01643 endEventDecl (); 01644 01645 beginEventInDecl ("MFInt32", Self::OSGmfInt32, "set_coordIndex"); 01646 endEventDecl (); 01647 01648 beginEventInDecl ("MFInt32", Self::OSGmfInt32, "set_normalIndex"); 01649 endEventDecl (); 01650 01651 beginEventInDecl ("MFInt32", Self::OSGmfInt32, "set_texCoordIndex"); 01652 endEventDecl (); 01653 01654 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "color"); 01655 // addFieldValue ("NULL"); 01656 endExposedFieldDecl (); 01657 01658 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "coord"); 01659 // addFieldValue ("NULL"); 01660 endExposedFieldDecl (); 01661 01662 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "normal"); 01663 // addFieldValue ("NULL"); 01664 endExposedFieldDecl (); 01665 01666 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "texCoord"); 01667 // addFieldValue ("NULL"); 01668 endExposedFieldDecl (); 01669 01670 beginFieldDecl ("SFBool", Self::OSGsfBool, "ccw"); 01671 addFieldValue ("TRUE"); 01672 endFieldDecl (); 01673 01674 beginFieldDecl ("MFInt32", Self::OSGmfInt32, "colorIndex"); 01675 endFieldDecl (); 01676 01677 beginFieldDecl ("SFBool", Self::OSGsfBool, "colorPerVertex"); 01678 addFieldValue ("TRUE"); 01679 endFieldDecl (); 01680 01681 beginFieldDecl ("SFBool", Self::OSGsfBool, "convex"); 01682 addFieldValue ("TRUE"); 01683 endFieldDecl (); 01684 01685 beginFieldDecl ("MFInt32", Self::OSGmfInt32, "coordIndex"); 01686 endFieldDecl (); 01687 01688 beginFieldDecl ("SFFloat", Self::OSGsfFloat, "creaseAngle"); 01689 addFieldValue ("0"); 01690 endFieldDecl (); 01691 01692 beginFieldDecl ("MFInt32", Self::OSGmfInt32, "normalIndex"); 01693 endFieldDecl (); 01694 01695 beginFieldDecl ("SFBool", Self::OSGsfBool, "normalPerVertex"); 01696 addFieldValue ("TRUE"); 01697 endFieldDecl (); 01698 01699 beginFieldDecl ("SFBool", Self::OSGsfBool, "solid"); 01700 addFieldValue ("TRUE"); 01701 endFieldDecl (); 01702 01703 beginFieldDecl ("MFInt32", Self::OSGmfInt32, "texCoordIndex"); 01704 endFieldDecl(); 01705 } 01706 endProto (); 01707 01708 #if 0 01709 PROTO IndexedLineSet [ 01710 eventIn MFInt32 set_colorIndex 01711 eventIn MFInt32 set_coordIndex 01712 exposedField SFNode color NULL 01713 exposedField SFNode coord NULL 01714 field MFInt32 colorIndex [] 01715 field SFBool colorPerVertex TRUE 01716 field MFInt32 coordIndex [] 01717 ] { } 01718 #endif 01719 01720 beginProto("IndexedLineSet"); 01721 { 01722 beginEventInDecl ("MFInt32", Self::OSGmfInt32, "set_colorIndex"); 01723 endEventDecl (); 01724 01725 beginEventInDecl ("MFInt32", Self::OSGmfInt32, "set_coordIndex"); 01726 endEventDecl (); 01727 01728 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "color"); 01729 // addFieldValue ("NULL"); 01730 endExposedFieldDecl (); 01731 01732 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "coord"); 01733 // addFieldValue ("NULL"); 01734 endExposedFieldDecl (); 01735 01736 beginFieldDecl ("MFInt32", Self::OSGmfInt32, "colorIndex"); 01737 endFieldDecl (); 01738 01739 beginFieldDecl ("SFBool", Self::OSGsfBool, "colorPerVertex"); 01740 addFieldValue ("TRUE"); 01741 endFieldDecl (); 01742 01743 beginFieldDecl ("MFInt32", Self::OSGmfInt32, "coordIndex"); 01744 endFieldDecl (); 01745 } 01746 endProto (); 01747 01748 #if 0 01749 PROTO Inline [ 01750 exposedField MFString url [] 01751 field SFVec3f bboxCenter 0 0 0 01752 field SFVec3f bboxSize -1 -1 -1 01753 ] { } 01754 #endif 01755 01756 beginProto("Inline"); 01757 { 01758 beginExposedFieldDecl("MFString", Self::OSGmfString, "url"); 01759 endExposedFieldDecl (); 01760 01761 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxCenter"); 01762 addFieldValue ("0 0 0"); 01763 endFieldDecl (); 01764 01765 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxSize"); 01766 addFieldValue ("-1 -1 -1"); 01767 endFieldDecl (); 01768 } 01769 endProto (); 01770 01771 #if 0 01772 PROTO LOD [ 01773 exposedField MFNode level [] 01774 field SFVec3f center 0 0 0 01775 field MFFloat range [] 01776 ] { } 01777 #endif 01778 01779 beginProto("LOD"); 01780 { 01781 beginExposedFieldDecl("MFNode", Self::OSGmfNode, "level"); 01782 endExposedFieldDecl (); 01783 01784 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "center"); 01785 addFieldValue ("0 0 0"); 01786 endFieldDecl (); 01787 01788 beginFieldDecl ("MFFloat", Self::OSGmfFloat, "range"); 01789 endFieldDecl (); 01790 } 01791 endProto (); 01792 01793 #if 0 01794 PROTO Material [ 01795 exposedField SFFloat ambientIntensity 0.2 01796 exposedField SFColor diffuseColor 0.8 0.8 0.8 01797 exposedField SFColor emissiveColor 0 0 0 01798 exposedField SFFloat shininess 0.2 01799 exposedField SFColor specularColor 0 0 0 01800 exposedField SFFloat transparency 0 01801 ] { } 01802 #endif 01803 01804 beginProto("Material"); 01805 { 01806 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "ambientIntensity"); 01807 addFieldValue ("0.2"); 01808 endExposedFieldDecl (); 01809 01810 beginExposedFieldDecl("SFColor", Self::OSGsfColor, "diffuseColor"); 01811 addFieldValue ("0.8 0.8 0.8"); 01812 endExposedFieldDecl (); 01813 01814 beginExposedFieldDecl("SFColor", Self::OSGsfColor, "emissiveColor"); 01815 addFieldValue ("0 0 0"); 01816 endExposedFieldDecl (); 01817 01818 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "shininess"); 01819 addFieldValue ("0.2"); 01820 endExposedFieldDecl (); 01821 01822 beginExposedFieldDecl("SFColor", Self::OSGsfColor, "specularColor"); 01823 addFieldValue ("0 0 0"); 01824 endExposedFieldDecl (); 01825 01826 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "transparency"); 01827 addFieldValue ("0"); 01828 endExposedFieldDecl (); 01829 } 01830 endProto (); 01831 01832 #if 0 01833 PROTO MovieTexture [ 01834 exposedField SFBool loop FALSE 01835 exposedField SFFloat speed 1 01836 exposedField SFTime startTime 0 01837 exposedField SFTime stopTime 0 01838 exposedField MFString url [] 01839 field SFBool repeatS TRUE 01840 field SFBool repeatT TRUE 01841 eventOut SFFloat duration_changed 01842 eventOut SFBool isActive 01843 ] { } 01844 #endif 01845 01846 beginProto("MovieTexture"); 01847 { 01848 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "loop"); 01849 addFieldValue ("FALSE"); 01850 endExposedFieldDecl (); 01851 01852 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "speed"); 01853 addFieldValue ("1"); 01854 endExposedFieldDecl (); 01855 01856 beginExposedFieldDecl("SFTime", Self::OSGsfTime, "startTime"); 01857 addFieldValue ("0"); 01858 endExposedFieldDecl (); 01859 01860 beginExposedFieldDecl("SFTime", Self::OSGsfTime, "stopTime"); 01861 addFieldValue ("0"); 01862 endExposedFieldDecl (); 01863 01864 beginExposedFieldDecl("MFString", Self::OSGmfString, "url"); 01865 endExposedFieldDecl (); 01866 01867 beginFieldDecl ("SFBool", Self::OSGsfBool, "repeatS"); 01868 addFieldValue ("TRUE"); 01869 endFieldDecl (); 01870 01871 beginFieldDecl ("SFBool", Self::OSGsfBool, "repeatT"); 01872 addFieldValue ("TRUE"); 01873 endFieldDecl (); 01874 01875 beginEventOutDecl ("SFFloat", Self::OSGsfFloat, "duration_changed"); 01876 endEventDecl (); 01877 01878 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isActive"); 01879 endEventDecl (); 01880 } 01881 endProto (); 01882 01883 #if 0 01884 PROTO NavigationInfo [ 01885 eventIn SFBool set_bind 01886 exposedField MFFloat avatarSize [ 0.25, 1.6, 0.75 ] 01887 exposedField SFBool headlight TRUE 01888 exposedField SFFloat speed 1.0 01889 exposedField MFString type "WALK" 01890 exposedField SFFloat visibilityLimit 0.0 01891 eventOut SFBool isBound 01892 ] { } 01893 #endif 01894 01895 beginProto("NavigationInfo"); 01896 { 01897 beginEventInDecl ("SFBool", Self::OSGsfBool, "set_bind"); 01898 endEventDecl (); 01899 01900 beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "avatarSize"); 01901 addFieldValue ("0.25"); 01902 addFieldValue ("1.6 "); 01903 addFieldValue ("0.75"); 01904 endExposedFieldDecl (); 01905 01906 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "headlight"); 01907 addFieldValue ("TRUE"); 01908 endExposedFieldDecl (); 01909 01910 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "speed"); 01911 addFieldValue ("1.0"); 01912 endExposedFieldDecl (); 01913 01914 beginExposedFieldDecl("MFString", Self::OSGmfString, "type"); 01915 addFieldValue ("WALK"); 01916 endExposedFieldDecl (); 01917 01918 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "visibilityLimit"); 01919 addFieldValue ("0.0"); 01920 endExposedFieldDecl (); 01921 01922 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isBound"); 01923 endEventDecl (); 01924 } 01925 endProto (); 01926 01927 #if 0 01928 PROTO Normal [ 01929 exposedField MFVec3f vector [] 01930 ] { } 01931 #endif 01932 01933 beginProto("Normal"); 01934 { 01935 beginExposedFieldDecl("MFVec3f", Self::OSGmfVec3f, "vector"); 01936 endExposedFieldDecl (); 01937 } 01938 endProto (); 01939 01940 #if 0 01941 PROTO NormalInterpolator [ 01942 eventIn SFFloat set_fraction 01943 exposedField MFFloat key [] 01944 exposedField MFVec3f keyValue [] 01945 eventOut MFVec3f value_changed 01946 ] { } 01947 #endif 01948 01949 beginProto("NormalInterpolator"); 01950 { 01951 beginEventInDecl ("SFFloat", Self::OSGsfFloat, "set_fraction"); 01952 endEventDecl (); 01953 01954 beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key"); 01955 endExposedFieldDecl (); 01956 01957 beginExposedFieldDecl("MFVec3f", Self::OSGmfVec3f, "keyValue"); 01958 endExposedFieldDecl (); 01959 01960 beginEventOutDecl ("MFVec3f", Self::OSGmfVec3f, "value_changed"); 01961 endEventDecl (); 01962 } 01963 endProto (); 01964 01965 #if 0 01966 PROTO OrientationInterpolator [ 01967 eventIn SFFloat set_fraction 01968 exposedField MFFloat key [] 01969 exposedField MFRotation keyValue [] 01970 eventOut SFRotation value_changed 01971 ] { } 01972 #endif 01973 01974 beginProto("OrientationInterpolator"); 01975 { 01976 beginEventInDecl ("SFFloat", Self::OSGsfFloat, "set_fraction"); 01977 endEventDecl (); 01978 01979 beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key"); 01980 endExposedFieldDecl (); 01981 01982 beginExposedFieldDecl("MFRotation", Self::OSGmfRotation, "keyValue"); 01983 endExposedFieldDecl (); 01984 01985 beginEventOutDecl ("SFRotation", Self::OSGsfRotation, "value_changed"); 01986 endEventDecl (); 01987 } 01988 endProto (); 01989 01990 #if 0 01991 PROTO PixelTexture [ 01992 exposedField SFImage image 0 0 0 01993 field SFBool repeatS TRUE 01994 field SFBool repeatT TRUE 01995 ] { } 01996 #endif 01997 01998 beginProto("PixelTexture"); 01999 { 02000 beginExposedFieldDecl("SFImage", Self::OSGsfImage, "image"); 02001 // addFieldValue ("0 0 0"); 02002 endExposedFieldDecl (); 02003 02004 beginFieldDecl ("SFBool", Self::OSGsfBool, "repeatS"); 02005 addFieldValue ("TRUE"); 02006 endFieldDecl (); 02007 02008 beginFieldDecl ("SFBool", Self::OSGsfBool, "repeatT"); 02009 addFieldValue ("TRUE"); 02010 endFieldDecl (); 02011 } 02012 endProto (); 02013 02014 #if 0 02015 PROTO PlaneSensor [ 02016 exposedField SFBool autoOffset TRUE 02017 exposedField SFBool enabled TRUE 02018 exposedField SFVec2f maxPosition -1 -1 02019 exposedField SFVec2f minPosition 0 0 02020 exposedField SFVec3f offset 0 0 0 02021 eventOut SFBool isActive 02022 eventOut SFVec3f trackPoint_changed 02023 eventOut SFVec3f translation_changed 02024 ] { } 02025 #endif 02026 02027 beginProto("PlaneSensor"); 02028 { 02029 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "autoOffset"); 02030 addFieldValue ("TRUE"); 02031 endExposedFieldDecl (); 02032 02033 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled"); 02034 addFieldValue ("TRUE"); 02035 endExposedFieldDecl (); 02036 02037 beginExposedFieldDecl("SFVec2f", Self::OSGsfVec2f, "maxPosition"); 02038 addFieldValue ("-1 -1"); 02039 endExposedFieldDecl (); 02040 02041 beginExposedFieldDecl("SFVec2f", Self::OSGsfVec2f, "minPosition"); 02042 addFieldValue ("0 0"); 02043 endExposedFieldDecl (); 02044 02045 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "offset"); 02046 addFieldValue ("0 0 0"); 02047 endExposedFieldDecl (); 02048 02049 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isActive"); 02050 endEventDecl (); 02051 02052 beginEventOutDecl ("SFVec3f", Self::OSGsfVec3f, "trackPoint_changed"); 02053 endEventDecl (); 02054 02055 beginEventOutDecl ("SFVec3f", Self::OSGsfVec3f, "translation_changed"); 02056 endEventDecl (); 02057 } 02058 endProto (); 02059 02060 02061 #if 0 02062 PROTO PointLight [ 02063 exposedField SFFloat ambientIntensity 0 02064 exposedField SFVec3f attenuation 1 0 0 02065 exposedField SFColor color 1 1 1 02066 exposedField SFFloat intensity 1 02067 exposedField SFVec3f location 0 0 0 02068 exposedField SFBool on TRUE 02069 exposedField SFFloat radius 100 02070 ] { } 02071 #endif 02072 02073 beginProto("PointLight"); 02074 { 02075 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "ambientIntensity"); 02076 addFieldValue ("0"); 02077 endExposedFieldDecl (); 02078 02079 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "attenuation"); 02080 addFieldValue ("1 0 0"); 02081 endExposedFieldDecl (); 02082 02083 beginExposedFieldDecl("SFColor", Self::OSGsfColor, "color"); 02084 addFieldValue ("1 1 1"); 02085 endExposedFieldDecl (); 02086 02087 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "intensity"); 02088 addFieldValue ("1"); 02089 endExposedFieldDecl (); 02090 02091 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "location"); 02092 addFieldValue ("0 0 0"); 02093 endExposedFieldDecl (); 02094 02095 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "on"); 02096 addFieldValue ("TRUE"); 02097 endExposedFieldDecl (); 02098 02099 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "radius"); 02100 addFieldValue ("100"); 02101 endExposedFieldDecl (); 02102 } 02103 endProto (); 02104 02105 #if 0 02106 PROTO PointSet [ 02107 exposedField SFNode color NULL 02108 exposedField SFNode coord NULL 02109 ] { } 02110 #endif 02111 02112 beginProto("PointSet"); 02113 { 02114 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "color"); 02115 // addFieldValue ("NULL"); 02116 endFieldDecl (); 02117 02118 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "coord"); 02119 // addFieldValue ("NULL"); 02120 endFieldDecl (); 02121 } 02122 endProto (); 02123 02124 #if 0 02125 PROTO PositionInterpolator [ 02126 eventIn SFFloat set_fraction 02127 exposedField MFFloat key [] 02128 exposedField MFVec3f keyValue [] 02129 eventOut SFVec3f value_changed 02130 ] { } 02131 #endif 02132 02133 beginProto("PositionInterpolator"); 02134 { 02135 beginEventInDecl ("SFFloat", Self::OSGsfFloat, "set_fraction"); 02136 endEventDecl (); 02137 02138 beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key"); 02139 endExposedFieldDecl(); 02140 02141 beginExposedFieldDecl("MFVec3f", Self::OSGmfVec3f, "keyValue"); 02142 endExposedFieldDecl (); 02143 02144 beginEventOutDecl ("SFVec3f", Self::OSGsfVec3f, "value_changed"); 02145 endEventDecl (); 02146 } 02147 endProto (); 02148 02149 #if 0 02150 PROTO ProximitySensor [ 02151 exposedField SFVec3f center 0 0 0 02152 exposedField SFVec3f size 0 0 0 02153 exposedField SFBool enabled TRUE 02154 eventOut SFBool isActive 02155 eventOut SFVec3f position_changed 02156 eventOut SFRotation orientation_changed 02157 eventOut SFTime enterTime 02158 eventOut SFTime exitTime 02159 ] { } 02160 #endif 02161 02162 beginProto("ProximitySensor"); 02163 { 02164 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "center"); 02165 addFieldValue ("0 0 0"); 02166 endExposedFieldDecl (); 02167 02168 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "size"); 02169 addFieldValue ("0 0 0"); 02170 endExposedFieldDecl (); 02171 02172 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled"); 02173 addFieldValue ("TRUE"); 02174 endExposedFieldDecl (); 02175 02176 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isActive"); 02177 endEventDecl (); 02178 02179 beginEventOutDecl ("SFVec3f", Self::OSGsfVec3f, "position_changed"); 02180 endEventDecl (); 02181 02182 beginEventOutDecl ("SFRotation", 02183 Self::OSGsfRotation, 02184 "orientation_changed"); 02185 endEventDecl (); 02186 02187 beginEventOutDecl ("SFTime", Self::OSGsfTime, "enterTime"); 02188 endEventDecl (); 02189 02190 beginEventOutDecl ("SFTime", Self::OSGsfTime, "exitTime"); 02191 endEventDecl (); 02192 } 02193 endProto (); 02194 02195 #if 0 02196 PROTO ScalarInterpolator [ 02197 eventIn SFFloat set_fraction 02198 exposedField MFFloat key [] 02199 exposedField MFFloat keyValue [] 02200 eventOut SFFloat value_changed 02201 ] { } 02202 #endif 02203 02204 beginProto("ScalarInterpolator"); 02205 { 02206 beginEventInDecl ("SFFloat", Self::OSGsfFloat, "set_fraction"); 02207 endEventDecl (); 02208 02209 beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "key"); 02210 endExposedFieldDecl (); 02211 02212 beginExposedFieldDecl("MFFloat", Self::OSGmfFloat, "keyValue"); 02213 endExposedFieldDecl (); 02214 02215 beginEventOutDecl ("SFFloat", Self::OSGsfFloat, "value_changed"); 02216 endEventDecl (); 02217 } 02218 endProto (); 02219 02220 #if 0 02221 PROTO Script [ 02222 exposedField MFString url [ ] 02223 field SFBool directOutput FALSE 02224 field SFBool mustEvaluate FALSE 02225 ] { } 02226 #endif 02227 02228 beginProto("Script"); 02229 { 02230 beginExposedFieldDecl("MFString", Self::OSGmfString, "url"); 02231 endExposedFieldDecl (); 02232 02233 beginFieldDecl ("SFBool", Self::OSGsfBool, "directOutput"); 02234 addFieldValue ("FALSE"); 02235 endFieldDecl (); 02236 02237 beginFieldDecl ("SFBool", Self::OSGsfBool, "mustEvaluate"); 02238 addFieldValue ("FALSE"); 02239 endFieldDecl (); 02240 } 02241 endProto (); 02242 02243 #if 0 02244 PROTO Shape [ 02245 field SFNode appearance NULL 02246 field SFNode geometry NULL 02247 ] { } 02248 #endif 02249 02250 beginProto("Shape"); 02251 { 02252 beginFieldDecl("SFNode", Self::OSGsfNode, "appearance"); 02253 // addFieldValue ("NULL"); 02254 endFieldDecl (); 02255 02256 beginFieldDecl("SFNode", Self::OSGsfNode, "geometry"); 02257 // addFieldValue ("NULL"); 02258 endFieldDecl (); 02259 } 02260 endProto (); 02261 02262 #if 0 02263 PROTO Sound [ 02264 exposedField SFVec3f direction 0 0 1 02265 exposedField SFFloat intensity 1 02266 exposedField SFVec3f location 0 0 0 02267 exposedField SFFloat maxBack 10 02268 exposedField SFFloat maxFront 10 02269 exposedField SFFloat minBack 1 02270 exposedField SFFloat minFront 1 02271 exposedField SFFloat priority 0 02272 exposedField SFNode source NULL 02273 field SFBool spatialize TRUE 02274 ] { } 02275 #endif 02276 02277 beginProto("Sound"); 02278 { 02279 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "direction"); 02280 addFieldValue ("0 0 1"); 02281 endExposedFieldDecl (); 02282 02283 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "intensity"); 02284 addFieldValue ("1"); 02285 endExposedFieldDecl (); 02286 02287 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "location"); 02288 addFieldValue ("0 0 0"); 02289 endExposedFieldDecl (); 02290 02291 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "maxBack"); 02292 addFieldValue ("10"); 02293 endExposedFieldDecl (); 02294 02295 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "maxFront"); 02296 addFieldValue ("10"); 02297 endExposedFieldDecl (); 02298 02299 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "minBack"); 02300 addFieldValue ("1"); 02301 endExposedFieldDecl (); 02302 02303 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "minFront"); 02304 addFieldValue ("1"); 02305 endExposedFieldDecl (); 02306 02307 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "priority"); 02308 addFieldValue ("0"); 02309 endExposedFieldDecl (); 02310 02311 beginExposedFieldDecl("SFNode", Self::OSGsfNode, "source"); 02312 // addFieldValue ("NULL"); 02313 endExposedFieldDecl (); 02314 02315 beginFieldDecl ("SFBool", Self::OSGsfBool, "spatialize"); 02316 addFieldValue ("TRUE"); 02317 endFieldDecl (); 02318 } 02319 endProto (); 02320 02321 #if 0 02322 PROTO Sphere [ 02323 field SFFloat radius 1 02324 ] { } 02325 #endif 02326 02327 beginProto("Sphere"); 02328 { 02329 beginFieldDecl("SFFloat", Self::OSGsfFloat, "radius"); 02330 addFieldValue ("1"); 02331 endFieldDecl (); 02332 } 02333 endProto (); 02334 02335 #if 0 02336 PROTO SphereSensor [ 02337 exposedField SFBool autoOffset TRUE 02338 exposedField SFBool enabled TRUE 02339 exposedField SFRotation offset 0 1 0 0 02340 eventOut SFBool isActive 02341 eventOut SFRotation rotation_changed 02342 eventOut SFVec3f trackPoint_changed 02343 ] { } 02344 #endif 02345 02346 beginProto("SphereSensor"); 02347 { 02348 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "autoOffset"); 02349 addFieldValue ("TRUE"); 02350 endExposedFieldDecl (); 02351 02352 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled"); 02353 addFieldValue ("TRUE"); 02354 endExposedFieldDecl (); 02355 02356 beginExposedFieldDecl("SFRotation", Self::OSGsfRotation, "offset"); 02357 addFieldValue ("0 1 0 0"); 02358 endExposedFieldDecl (); 02359 02360 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isActive"); 02361 endEventDecl (); 02362 02363 beginEventOutDecl ("SFRotation", 02364 Self::OSGsfRotation, 02365 "rotation_changed"); 02366 endEventDecl (); 02367 02368 beginEventOutDecl ("SFVec3f", Self::OSGsfVec3f, "trackPoint_changed"); 02369 endEventDecl (); 02370 } 02371 endProto (); 02372 02373 #if 0 02374 PROTO SpotLight [ 02375 exposedField SFFloat ambientIntensity 0 02376 exposedField SFVec3f attenuation 1 0 0 02377 exposedField SFFloat beamWidth 1.570796 02378 exposedField SFColor color 1 1 1 02379 exposedField SFFloat cutOffAngle 0.785398 02380 exposedField SFVec3f direction 0 0 -1 02381 exposedField SFFloat intensity 1 02382 exposedField SFVec3f location 0 0 0 02383 exposedField SFBool on TRUE 02384 exposedField SFFloat radius 100 02385 ] { } 02386 #endif 02387 02388 beginProto("SpotLight"); 02389 { 02390 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "ambientIntensity"); 02391 addFieldValue ("0"); 02392 endExposedFieldDecl (); 02393 02394 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "attenuation"); 02395 addFieldValue ("1 0 0"); 02396 endExposedFieldDecl (); 02397 02398 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "beamWidth"); 02399 addFieldValue ("1.570796"); 02400 endExposedFieldDecl (); 02401 02402 beginExposedFieldDecl("SFColor", Self::OSGsfColor, "color"); 02403 addFieldValue ("1 1 1"); 02404 endExposedFieldDecl (); 02405 02406 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "cutOffAngle"); 02407 addFieldValue ("0.785398"); 02408 endExposedFieldDecl (); 02409 02410 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "direction"); 02411 addFieldValue ("0 0 -1"); 02412 endExposedFieldDecl (); 02413 02414 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "intensity"); 02415 addFieldValue ("1"); 02416 endExposedFieldDecl (); 02417 02418 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "location"); 02419 addFieldValue ("0 0 0"); 02420 endExposedFieldDecl (); 02421 02422 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "on"); 02423 addFieldValue ("TRUE"); 02424 endExposedFieldDecl (); 02425 02426 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "radius"); 02427 addFieldValue ("100"); 02428 endExposedFieldDecl (); 02429 } 02430 endProto (); 02431 02432 #if 0 02433 PROTO Switch [ 02434 exposedField MFNode choice [] 02435 exposedField SFInt32 whichChoice -1 02436 ] { } 02437 #endif 02438 02439 beginProto("Switch"); 02440 { 02441 beginExposedFieldDecl("MFNode", Self::OSGmfNode, "choice"); 02442 endExposedFieldDecl (); 02443 02444 beginExposedFieldDecl("SFInt32", Self::OSGsfInt32, "whichChoice"); 02445 addFieldValue ("-1"); 02446 endExposedFieldDecl (); 02447 } 02448 endProto (); 02449 02450 #if 0 02451 PROTO Text [ 02452 exposedField MFString string [] 02453 field SFNode fontStyle NULL 02454 field MFFloat length [] 02455 field SFFloat maxExtent 0.0 02456 ] { } 02457 #endif 02458 02459 beginProto("Text"); 02460 { 02461 beginExposedFieldDecl("MFString", Self::OSGmfString, "string"); 02462 endExposedFieldDecl (); 02463 02464 beginFieldDecl ("SFNode", Self::OSGsfNode, "fontStyle"); 02465 // addFieldValue ("NULL"); 02466 endFieldDecl (); 02467 02468 beginFieldDecl ("MFFloat", Self::OSGmfFloat, "length"); 02469 endFieldDecl (); 02470 02471 beginFieldDecl ("SFFloat", Self::OSGsfFloat, "maxExtent"); 02472 addFieldValue ("0.0"); 02473 endFieldDecl (); 02474 } 02475 endProto (); 02476 02477 #if 0 02478 PROTO TextureCoordinate [ 02479 exposedField MFVec2f point [] 02480 ] { } 02481 #endif 02482 02483 beginProto("TextureCoordinate"); 02484 { 02485 beginExposedFieldDecl("MFVec2f", Self::OSGmfVec2f, "point"); 02486 endExposedFieldDecl (); 02487 } 02488 endProto (); 02489 02490 #if 0 02491 PROTO TextureTransform [ 02492 exposedField SFVec2f center 0 0 02493 exposedField SFFloat rotation 0 02494 exposedField SFVec2f scale 1 1 02495 exposedField SFVec2f translation 0 0 02496 ] { } 02497 #endif 02498 02499 beginProto("TextureTransform"); 02500 { 02501 beginExposedFieldDecl("SFVec2f", Self::OSGsfVec2f, "center"); 02502 addFieldValue ("0 0"); 02503 endExposedFieldDecl (); 02504 02505 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "rotation"); 02506 addFieldValue ("0"); 02507 endExposedFieldDecl (); 02508 02509 beginExposedFieldDecl("SFVec2f", Self::OSGsfVec2f, "scale"); 02510 addFieldValue ("1 1"); 02511 endExposedFieldDecl (); 02512 02513 beginExposedFieldDecl("SFVec2f", Self::OSGsfVec2f, "translation"); 02514 addFieldValue ("0 0"); 02515 endExposedFieldDecl (); 02516 } 02517 endProto (); 02518 02519 #if 0 02520 PROTO TimeSensor [ 02521 exposedField SFTime cycleInterval 1 02522 exposedField SFBool enabled TRUE 02523 exposedField SFBool loop FALSE 02524 exposedField SFTime startTime 0 02525 exposedField SFTime stopTime 0 02526 eventOut SFTime cycleTime 02527 eventOut SFFloat fraction_changed 02528 eventOut SFBool isActive 02529 eventOut SFTime time 02530 ] { } 02531 #endif 02532 02533 beginProto("TimeSensor"); 02534 { 02535 beginExposedFieldDecl("SFTime", Self::OSGsfTime, "cycleInterval"); 02536 addFieldValue ("1"); 02537 endExposedFieldDecl (); 02538 02539 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled"); 02540 addFieldValue ("TRUE"); 02541 endExposedFieldDecl (); 02542 02543 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "loop"); 02544 addFieldValue ("FALSE"); 02545 endExposedFieldDecl (); 02546 02547 beginExposedFieldDecl("SFTime", Self::OSGsfTime, "startTime"); 02548 addFieldValue ("0"); 02549 endExposedFieldDecl (); 02550 02551 beginExposedFieldDecl("SFTime", Self::OSGsfTime, "stopTime"); 02552 addFieldValue ("0"); 02553 endExposedFieldDecl (); 02554 02555 beginEventOutDecl ("SFTime", Self::OSGsfTime, "cycleTime"); 02556 endEventDecl (); 02557 02558 beginEventOutDecl ("SFFloat", Self::OSGsfFloat, "fraction_changed"); 02559 endEventDecl (); 02560 02561 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isActive"); 02562 endEventDecl (); 02563 02564 beginEventOutDecl ("SFTime", Self::OSGsfTime, "time"); 02565 endEventDecl (); 02566 } 02567 endProto (); 02568 02569 #if 0 02570 PROTO TouchSensor [ 02571 exposedField SFBool enabled TRUE 02572 eventOut SFVec3f hitNormal_changed 02573 eventOut SFVec3f hitPoint_changed 02574 eventOut SFVec2f hitTexCoord_changed 02575 eventOut SFBool isActive 02576 eventOut SFBool isOver 02577 eventOut SFTime touchTime 02578 ] { } 02579 #endif 02580 02581 beginProto("TouchSensor"); 02582 { 02583 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled"); 02584 addFieldValue ("TRUE"); 02585 endExposedFieldDecl (); 02586 02587 beginEventOutDecl ("SFVec3f", Self::OSGsfVec3f, "hitNormal_changed"); 02588 endEventDecl (); 02589 02590 beginEventOutDecl ("SFVec3f", Self::OSGsfVec3f, "hitPoint_changed"); 02591 endEventDecl (); 02592 02593 beginEventOutDecl ("SFVec2f", Self::OSGsfVec2f, "hitTexCoord_changed"); 02594 endEventDecl (); 02595 02596 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isActive"); 02597 endEventDecl (); 02598 02599 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isOver"); 02600 endEventDecl (); 02601 02602 beginEventOutDecl ("SFTime", Self::OSGsfTime, "touchTime"); 02603 endEventDecl (); 02604 } 02605 endProto (); 02606 02607 #if 0 02608 PROTO Transform [ 02609 eventIn MFNode addChildren 02610 eventIn MFNode removeChildren 02611 exposedField SFVec3f center 0 0 0 02612 exposedField MFNode children [] 02613 exposedField SFRotation rotation 0 0 1 0 02614 exposedField SFVec3f scale 1 1 1 02615 exposedField SFRotation scaleOrientation 0 0 1 0 02616 exposedField SFVec3f translation 0 0 0 02617 field SFVec3f bboxCenter 0 0 0 02618 field SFVec3f bboxSize -1 -1 -1 02619 ] { } 02620 #endif 02621 02622 beginProto("Transform"); 02623 { 02624 beginEventInDecl ("MFNode", Self::OSGsfNode, "addChildren"); 02625 endEventDecl (); 02626 02627 beginEventInDecl ("MFNode", Self::OSGsfNode, "removeChildren"); 02628 endEventDecl (); 02629 02630 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "center"); 02631 addFieldValue ("0 0 0"); 02632 endExposedFieldDecl (); 02633 02634 beginExposedFieldDecl("MFNode", Self::OSGmfNode, "children"); 02635 endExposedFieldDecl (); 02636 02637 beginExposedFieldDecl("SFRotation", Self::OSGsfRotation, "rotation"); 02638 addFieldValue ("0 0 1 0"); 02639 endExposedFieldDecl (); 02640 02641 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "scale"); 02642 addFieldValue ("1 1 1"); 02643 endExposedFieldDecl (); 02644 02645 beginExposedFieldDecl("SFRotation", Self::OSGsfRotation, "scaleOrientation"); 02646 addFieldValue ("0 0 1 0"); 02647 endExposedFieldDecl (); 02648 02649 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "translation"); 02650 addFieldValue ("0 0 0"); 02651 endExposedFieldDecl (); 02652 02653 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxCenter"); 02654 addFieldValue ("0 0 0"); 02655 endFieldDecl (); 02656 02657 beginFieldDecl ("SFVec3f", Self::OSGsfVec3f, "bboxSize"); 02658 addFieldValue ("-1 -1 -1"); 02659 endFieldDecl (); 02660 } 02661 endProto (); 02662 02663 #if 0 02664 PROTO Viewpoint [ 02665 eventIn SFBool set_bind 02666 exposedField SFFloat fieldOfView 0.785398 02667 exposedField SFBool jump TRUE 02668 exposedField SFRotation orientation 0 0 1 0 02669 exposedField SFVec3f position 0 0 10 02670 field SFString description "" 02671 eventOut SFTime bindTime 02672 eventOut SFBool isBound 02673 ] { } 02674 #endif 02675 02676 beginProto("Viewpoint"); 02677 { 02678 beginEventInDecl ("SFBool", Self::OSGsfBool, "set_bind"); 02679 endEventDecl (); 02680 02681 beginExposedFieldDecl("SFFloat", Self::OSGsfFloat, "fieldOfView"); 02682 addFieldValue ("0.785398"); 02683 endExposedFieldDecl (); 02684 02685 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "jump"); 02686 addFieldValue ("TRUE"); 02687 endExposedFieldDecl (); 02688 02689 beginExposedFieldDecl("SFRotation", Self::OSGsfRotation, "orientation"); 02690 addFieldValue ("0 0 1 0"); 02691 endExposedFieldDecl (); 02692 02693 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "position"); 02694 addFieldValue ("0 0 10"); 02695 endExposedFieldDecl (); 02696 02697 beginFieldDecl ("SFString", Self::OSGsfString, "description"); 02698 addFieldValue (""); 02699 endFieldDecl (); 02700 02701 beginEventOutDecl ("SFTime", Self::OSGsfTime, "bindTime"); 02702 endEventDecl (); 02703 02704 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isBound" ); 02705 endEventDecl (); 02706 } 02707 endProto (); 02708 02709 #if 0 02710 PROTO VisibilitySensor [ 02711 exposedField SFVec3f center 0 0 0 02712 exposedField SFBool enabled TRUE 02713 exposedField SFVec3f size 0 0 0 02714 eventOut SFTime enterTime 02715 eventOut SFTime exitTime 02716 eventOut SFBool isActive 02717 ] { } 02718 #endif 02719 02720 beginProto("VisibilitySensor"); 02721 { 02722 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "center"); 02723 addFieldValue ("0 0 0"); 02724 endExposedFieldDecl (); 02725 02726 beginExposedFieldDecl("SFBool", Self::OSGsfBool, "enabled"); 02727 addFieldValue ("TRUE"); 02728 endExposedFieldDecl (); 02729 02730 beginExposedFieldDecl("SFVec3f", Self::OSGsfVec3f, "size"); 02731 addFieldValue ("0 0 0"); 02732 endExposedFieldDecl (); 02733 02734 beginEventOutDecl ("SFTime", Self::OSGsfTime, "enterTime"); 02735 endEventDecl (); 02736 02737 beginEventOutDecl ("SFTime", Self::OSGsfTime, "exitTime" ); 02738 endEventDecl (); 02739 02740 beginEventOutDecl ("SFBool", Self::OSGsfBool, "isActive" ); 02741 endEventDecl (); 02742 } 02743 endProto (); 02744 02745 #if 0 02746 PROTO WorldInfo [ 02747 field MFString info [] 02748 field SFString title "" 02749 ] { } 02750 #endif 02751 02752 beginProto("WorldInfo"); 02753 { 02754 beginFieldDecl("MFString", Self::OSGmfString, "info"); 02755 endFieldDecl (); 02756 02757 beginFieldDecl("SFString", Self::OSGsfString, "title"); 02758 addFieldValue(""); 02759 endFieldDecl(); 02760 } 02761 endProto (); 02762 02763 postStandardProtos(); 02764 02765 }
| NodePtr VRMLFile::getRoot | ( | void | ) |
Definition at line 2837 of file OSGVRMLFile.cpp.
References _pSceneRootNode, modifyMaterial(), osg::NullFC, osg::osgTypedFunctionFunctor1CPtrRef(), and osg::traverse().
Referenced by osg::VRMLSceneFileType::read().
02838 { 02839 // now walk through all materials and modify them. 02840 if(_pSceneRootNode != NullFC) 02841 { 02842 traverse(_pSceneRootNode, osgTypedFunctionFunctor1CPtrRef<Action::ResultE, 02843 NodePtr>(modifyMaterial)); 02844 } 02845 02846 return _pSceneRootNode; 02847 }
| void VRMLFile::initIntExtFieldTypeMapper | ( | void | ) | [protected] |
Definition at line 2852 of file OSGVRMLFile.cpp.
References osg::MField< FieldTypeT, fieldNameSpace >::getClassType(), osg::SField< FieldTypeT, fieldNameSpace >::getClassType(), osg::ScanParseSkel::OSGmfColor, osg::ScanParseSkel::OSGmfFloat, osg::ScanParseSkel::OSGmfInt32, osg::ScanParseSkel::OSGmfNode, osg::ScanParseSkel::OSGmfPnt3f, osg::ScanParseSkel::OSGmfRotation, osg::ScanParseSkel::OSGmfString, osg::ScanParseSkel::OSGmfTime, osg::ScanParseSkel::OSGmfVec2f, osg::ScanParseSkel::OSGmfVec3f, osg::ScanParseSkel::OSGsfBool, osg::ScanParseSkel::OSGsfColor, osg::ScanParseSkel::OSGsfFloat, osg::ScanParseSkel::OSGsfImage, osg::ScanParseSkel::OSGsfInt32, osg::ScanParseSkel::OSGsfMatrix, osg::ScanParseSkel::OSGsfNode, osg::ScanParseSkel::OSGsfPnt3f, osg::ScanParseSkel::OSGsfRotation, osg::ScanParseSkel::OSGsfString, osg::ScanParseSkel::OSGsfTime, osg::ScanParseSkel::OSGsfVec2f, and osg::ScanParseSkel::OSGsfVec3f.
Referenced by VRMLFile().
02853 { 02854 Self::setIntExtMapping(SFBool::getClassType().getId(), 02855 ScanParseSkel::OSGsfBool); 02856 02857 Self::setIntExtMapping(SFColor3f::getClassType().getId(), 02858 ScanParseSkel::OSGsfColor); 02859 02860 Self::setIntExtMapping(SFReal32::getClassType().getId(), 02861 ScanParseSkel::OSGsfFloat); 02862 02863 Self::setIntExtMapping(SFImagePtr::getClassType().getId(), 02864 ScanParseSkel::OSGsfImage); 02865 02866 Self::setIntExtMapping(SFInt32::getClassType().getId(), 02867 ScanParseSkel::OSGsfInt32); 02868 02869 Self::setIntExtMapping(SFGLenum::getClassType().getId(), 02870 ScanParseSkel::OSGsfInt32); 02871 02872 02873 Self::setIntExtMapping(SFQuaternion::getClassType().getId(), 02874 ScanParseSkel::OSGsfRotation); 02875 02876 Self::setIntExtMapping(SFString::getClassType().getId(), 02877 ScanParseSkel::OSGsfString); 02878 02879 Self::setIntExtMapping(SFTime::getClassType().getId(), 02880 ScanParseSkel::OSGsfTime); 02881 02882 Self::setIntExtMapping(SFVec2f::getClassType().getId(), 02883 ScanParseSkel::OSGsfVec2f); 02884 02885 Self::setIntExtMapping(SFVec3f::getClassType().getId(), 02886 ScanParseSkel::OSGsfVec3f); 02887 02888 02889 02890 Self::setIntExtMapping(MFColor3f::getClassType().getId(), 02891 ScanParseSkel::OSGmfColor); 02892 02893 Self::setIntExtMapping(MFReal32::getClassType().getId(), 02894 ScanParseSkel::OSGmfFloat); 02895 02896 Self::setIntExtMapping(MFInt32::getClassType().getId(), 02897 ScanParseSkel::OSGmfInt32); 02898 02899 Self::setIntExtMapping(MFGLenum::getClassType().getId(), 02900 ScanParseSkel::OSGmfInt32); 02901 02902 Self::setIntExtMapping(MFQuaternion::getClassType().getId(), 02903 ScanParseSkel::OSGmfRotation); 02904 02905 Self::setIntExtMapping(MFString::getClassType().getId(), 02906 ScanParseSkel::OSGmfString); 02907 02908 Self::setIntExtMapping(MFTime::getClassType().getId(), 02909 ScanParseSkel::OSGmfTime); 02910 02911 Self::setIntExtMapping(MFVec3f::getClassType().getId(), 02912 ScanParseSkel::OSGmfVec3f); 02913 02914 Self::setIntExtMapping(MFVec2f::getClassType().getId(), 02915 ScanParseSkel::OSGmfVec2f); 02916 02917 02918 Self::setIntExtMapping(SFNodePtr::getClassType().getId(), 02919 ScanParseSkel::OSGsfNode); 02920 02921 Self::setIntExtMapping(MFNodePtr::getClassType().getId(), 02922 ScanParseSkel::OSGmfNode); 02923 02924 /* To Base Type Mappings */ 02925 02926 Self::setIntExtMapping(SFUInt8::getClassType().getId(), 02927 ScanParseSkel::OSGsfInt32); 02928 02929 Self::setIntExtMapping(MFUInt8::getClassType().getId(), 02930 ScanParseSkel::OSGmfInt32); 02931 02932 Self::setIntExtMapping(SFUInt32::getClassType().getId(), 02933 ScanParseSkel::OSGsfInt32); 02934 02935 Self::setIntExtMapping(MFUInt32::getClassType().getId(), 02936 ScanParseSkel::OSGmfInt32); 02937 02938 /* To Node Mappings */ 02939 02940 Self::setIntExtMapping(SFNodeCorePtr::getClassType().getId(), 02941 ScanParseSkel::OSGsfNode); 02942 02943 Self::setIntExtMapping(SFMaterialPtr::getClassType().getId(), 02944 ScanParseSkel::OSGsfNode); 02945 02946 Self::setIntExtMapping(SFGeoPTypesPtr::getClassType().getId(), 02947 ScanParseSkel::OSGsfNode); 02948 02949 Self::setIntExtMapping(SFGeoIndicesPtr::getClassType().getId(), 02950 ScanParseSkel::OSGsfNode); 02951 02952 Self::setIntExtMapping(SFGeoPLengthsPtr::getClassType().getId(), 02953 ScanParseSkel::OSGsfNode); 02954 02955 Self::setIntExtMapping(SFGeoColorsPtr::getClassType().getId(), 02956 ScanParseSkel::OSGsfNode); 02957 02958 Self::setIntExtMapping(SFGeoPositionsPtr::getClassType().getId(), 02959 ScanParseSkel::OSGsfNode); 02960 02961 Self::setIntExtMapping(SFGeoNormalsPtr::getClassType().getId(), 02962 ScanParseSkel::OSGsfNode); 02963 02964 Self::setIntExtMapping(SFGeoTexCoordsPtr::getClassType().getId(), 02965 ScanParseSkel::OSGsfNode); 02966 02967 Self::setIntExtMapping(MFStateChunkPtr::getClassType().getId(), 02968 ScanParseSkel::OSGsfNode); 02969 02970 Self::setIntExtMapping(SFAttachmentMap::getClassType().getId(), 02971 ScanParseSkel::OSGmfNode); 02972 02973 Self::setIntExtMapping(SFFieldContainerPtr::getClassType().getId(), 02974 ScanParseSkel::OSGsfNode); 02975 02976 /* extended types */ 02977 02978 Self::setIntExtMapping(SFMatrix::getClassType().getId(), 02979 ScanParseSkel::OSGsfMatrix); 02980 02981 Self::setIntExtMapping(SFPnt3f::getClassType().getId(), 02982 ScanParseSkel::OSGsfPnt3f); 02983 02984 Self::setIntExtMapping(MFPnt3f::getClassType().getId(), 02985 ScanParseSkel::OSGmfPnt3f); 02986 }
| void VRMLFile::initExtIntFieldTypeMapper | ( | void | ) | [protected] |
Definition at line 2989 of file OSGVRMLFile.cpp.
References osg::MField< FieldTypeT, fieldNameSpace >::getClassType(), osg::SField< FieldTypeT, fieldNameSpace >::getClassType(), osg::ScanParseSkel::OSGmfColor, osg::ScanParseSkel::OSGmfFloat, osg::ScanParseSkel::OSGmfInt32, osg::ScanParseSkel::OSGmfNode, osg::ScanParseSkel::OSGmfPnt3f, osg::ScanParseSkel::OSGmfRotation, osg::ScanParseSkel::OSGmfString, osg::ScanParseSkel::OSGmfTime, osg::ScanParseSkel::OSGmfVec2f, osg::ScanParseSkel::OSGmfVec3f, osg::ScanParseSkel::OSGsfBool, osg::ScanParseSkel::OSGsfColor, osg::ScanParseSkel::OSGsfFloat, osg::ScanParseSkel::OSGsfImage, osg::ScanParseSkel::OSGsfInt32, osg::ScanParseSkel::OSGsfMatrix, osg::ScanParseSkel::OSGsfNode, osg::ScanParseSkel::OSGsfPnt3f, osg::ScanParseSkel::OSGsfRotation, osg::ScanParseSkel::OSGsfString, osg::ScanParseSkel::OSGsfTime, osg::ScanParseSkel::OSGsfVec2f, and osg::ScanParseSkel::OSGsfVec3f.
Referenced by VRMLFile().
02990 { 02991 Self::setExtIntMapping(ScanParseSkel::OSGsfBool, 02992 SFBool::getClassType().getId()); 02993 02994 Self::setExtIntMapping(ScanParseSkel::OSGsfColor, 02995 SFColor3f::getClassType().getId()); 02996 02997 Self::setExtIntMapping(ScanParseSkel::OSGsfFloat, 02998 SFReal32::getClassType().getId()); 02999 03000 /* 03001 Self::setExtIntMapping(SFImage::getClassType().getId(), 03002 ScanParseSkel::OSGsfInt32); 03003 */ 03004 03005 Self::setExtIntMapping(ScanParseSkel::OSGsfImage, 03006 SFImagePtr::getClassType().getId()); 03007 03008 Self::setExtIntMapping(ScanParseSkel::OSGsfInt32, 03009 SFInt32::getClassType().getId()); 03010 03011 03012 Self::setExtIntMapping(ScanParseSkel::OSGsfRotation, 03013 SFQuaternion::getClassType().getId()); 03014 03015 Self::setExtIntMapping(ScanParseSkel::OSGsfString, 03016 SFString::getClassType().getId()); 03017 03018 Self::setExtIntMapping(ScanParseSkel::OSGsfTime, 03019 SFTime::getClassType().getId()); 03020 03021 Self::setExtIntMapping(ScanParseSkel::OSGsfVec2f, 03022 SFVec2f::getClassType().getId()); 03023 03024 Self::setExtIntMapping(ScanParseSkel::OSGsfVec3f, 03025 SFVec3f::getClassType().getId()); 03026 03027 03028 03029 Self::setExtIntMapping(ScanParseSkel::OSGmfColor, 03030 MFColor3f::getClassType().getId()); 03031 03032 Self::setExtIntMapping(ScanParseSkel::OSGmfFloat, 03033 MFReal32::getClassType().getId()); 03034 03035 Self::setExtIntMapping(ScanParseSkel::OSGmfInt32, 03036 MFInt32::getClassType().getId()); 03037 03038 Self::setExtIntMapping(ScanParseSkel::OSGmfRotation, 03039 MFQuaternion::getClassType().getId()); 03040 03041 Self::setExtIntMapping(ScanParseSkel::OSGmfString, 03042 MFString::getClassType().getId()); 03043 03044 Self::setExtIntMapping(ScanParseSkel::OSGmfTime, 03045 MFTime::getClassType().getId()); 03046 03047 03048 Self::setExtIntMapping(ScanParseSkel::OSGmfVec3f, 03049 MFVec3f::getClassType().getId()); 03050 03051 Self::setExtIntMapping(ScanParseSkel::OSGmfVec2f, 03052 MFVec2f::getClassType().getId()); 03053 03054 03055 Self::setExtIntMapping(ScanParseSkel::OSGsfNode, 03056 SFNodePtr::getClassType().getId()); 03057 03058 Self::setExtIntMapping(ScanParseSkel::OSGmfNode, 03059 MFNodePtr::getClassType().getId()); 03060 03061 /* extended types */ 03062 03063 Self::setExtIntMapping(ScanParseSkel::OSGsfMatrix, 03064 SFMatrix::getClassType().getId()); 03065 03066 Self::setExtIntMapping(ScanParseSkel::OSGsfPnt3f, 03067 SFPnt3f::getClassType().getId()); 03068 03069 Self::setExtIntMapping(ScanParseSkel::OSGmfPnt3f, 03070 MFPnt3f::getClassType().getId()); 03071 }
| FieldContainerPtr VRMLFile::findFCByName | ( | const Char8 * | szName, | |
| NodePtr | pNode | |||
| ) | [protected] |
Definition at line 3074 of file OSGVRMLFile.cpp.
References osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::dcast(), osg::SimpleAttachment< AttachmentDescT >::getClassType(), osg::NodePtr::getCore(), osg::FieldContainerType::getGroupId(), and osg::NullFC.
Referenced by findReference().
03076 { 03077 MFNodePtr::iterator i; 03078 03079 NamePtr pNodename; 03080 NodeCorePtr pCore; 03081 FieldContainerPtr pFC; 03082 03083 // check if name matches nodename 03084 03085 pNodename = 03086 NamePtr::dcast( 03087 pNode->findAttachment(Name::getClassType().getGroupId())); 03088 03089 if(pNodename != NullFC) 03090 { 03091 if(strcmp(szName, pNodename->getFieldPtr()->getValue().c_str())==0) 03092 return pNode; 03093 } 03094 // check if name matches corename 03095 03096 pCore = pNode->getCore(); 03097 03098 if(pCore != NullFC) 03099 { 03100 pNodename = NamePtr::dcast( 03101 pCore->findAttachment(Name::getClassType().getGroupId())); 03102 03103 if(pNodename != NullFC) 03104 { 03105 if(strcmp(szName, pNodename->getFieldPtr()->getValue().c_str())==0) 03106 return pCore; 03107 } 03108 } 03109 03110 // matching for children 03111 for(i = pNode->getMFChildren()->begin(); 03112 i != pNode->getMFChildren()->end(); 03113 i++) 03114 { 03115 pFC = findFCByName(szName, *i); 03116 03117 if(pFC != NullFC) 03118 { 03119 return pFC; 03120 } 03121 } 03122 return pFC; 03123 }
| void VRMLFile::setContainerFieldValue | ( | const FieldContainerPtr & | pFC | ) | [protected] |
Definition at line 3150 of file OSGVRMLFile.cpp.
References _pCurrentFC, _pCurrentField, osg::AttachmentContainerPtr::dcast(), osg::NodePtr::dcast(), osg::Field::getCardinality(), osg::VRMLNodeDesc::getIndent(), osg::indentLog(), osg::FieldType::MULTI_FIELD, osg::NullFC, PINFO, and osg::FieldType::SINGLE_FIELD.
Referenced by beginNode(), and use().
03151 { 03152 if(_pCurrentField != NULL && 03153 pFC != NullFC) 03154 { 03155 if(_pCurrentFC != NullFC && 03156 _pCurrentField == _pCurrentFC->getField("children")) 03157 { 03158 #ifdef OSG_DEBUG_VRML 03159 indentLog(VRMLNodeDesc::getIndent(), PINFO); 03160 PINFO << "Add Child " 03161 << &(*_pCurrentFC) 03162 << " " 03163 << &(*pFC) 03164 << std::endl; 03165 #endif 03166 NodePtr pNode = NodePtr::dcast(_pCurrentFC); 03167 NodePtr pChildNode = NodePtr::dcast(pFC); 03168 03169 pNode->addChild(pChildNode); 03170 } 03171 else if(_pCurrentFC != NullFC && 03172 _pCurrentField == _pCurrentFC->getField("core")) 03173 { 03174 #ifdef OSG_DEBUG_VRML 03175 indentLog(VRMLNodeDesc::getIndent(), PINFO); 03176 PINFO << "Add Core " 03177 << &(*_pCurrentFC) 03178 << " " 03179 << &(*pFC) 03180 << std::endl; 03181 #endif 03182 03183 NodePtr pNode = NodePtr ::dcast(_pCurrentFC); 03184 NodeCorePtr pCore = NodeCorePtr::dcast(pFC); 03185 03186 pNode->setCore(pCore); 03187 } 03188 else if(_pCurrentField->getCardinality() == FieldType::SINGLE_FIELD) 03189 { 03190 ((SFFieldContainerPtr *) _pCurrentField)->setValue(pFC); 03191 } 03192 else if(_pCurrentField->getCardinality() == FieldType::MULTI_FIELD) 03193 { 03194 ((MFFieldContainerPtr *) _pCurrentField)->push_back(pFC); 03195 } 03196 } 03197 }
| FieldContainerPtr VRMLFile::findReference | ( | const Char8 * | szName | ) | [protected] |
Definition at line 3125 of file OSGVRMLFile.cpp.
References _nameFCMap, _pLightRoot, _pSceneRootNode, findFCByName(), and osg::NullFC.
Referenced by use().
03126 { 03127 // search reference in this file 03128 FieldContainerPtr returnValue = NullFC; 03129 03130 NameContainerMap::iterator mIt = 03131 _nameFCMap.find(IDStringLink(szName)); 03132 03133 if(mIt != _nameFCMap.end()) 03134 { 03135 returnValue = mIt->second; 03136 } 03137 else 03138 { 03139 returnValue = findFCByName(szName, _pSceneRootNode); 03140 03141 if(returnValue == NullFC && _pLightRoot != NullFC) 03142 { 03143 returnValue = findFCByName(szName, _pLightRoot); 03144 } 03145 } 03146 03147 return returnValue; 03148 }
| void osg::VRMLFile::operator= | ( | const VRMLFile & | source | ) | [private] |
| void osg::VRMLNodeFactory< BaseT >::beginProto | ( | const Char8 * | szProtoname | ) | [inline, virtual, inherited] |
Definition at line 96 of file OSGVRMLNodeFactory.inl.
References osg::VRMLNodeFactory< BaseT >::_bIgnoreProto, osg::VRMLNodeFactory< BaseT >::_mNodeDescHash, osg::VRMLNodeFactory< BaseT >::_pCurrentNodeDesc, osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::VRMLNodeDesc::init(), PINFO, osg::stringcasecmp(), and osg::stringDup().
Referenced by createStandardPrototypes().
00098 { 00099 #ifdef OSG_DEBUG_VRML 00100 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00101 PINFO << "Begin Proto " << szProtoname << std::endl; 00102 #endif 00103 00104 Char8 *szName = NULL; 00105 00106 NodeNameDescHash::iterator mNodeDescIt = 00107 _mNodeDescHash.find(szProtoname); 00108 00109 if(mNodeDescIt == _mNodeDescHash.end()) 00110 { 00111 if(stringcasecmp("IndexedFaceSet", szProtoname) == 0) 00112 { 00113 stringDup(szProtoname, szName); 00114 00115 _pCurrentNodeDesc = new VRMLGeometryDesc(true); 00116 00117 _pCurrentNodeDesc->init(szProtoname); 00118 00119 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00120 } 00121 else if(stringcasecmp("IndexedLineSet", szProtoname) == 0) 00122 { 00123 stringDup(szProtoname, szName); 00124 00125 _pCurrentNodeDesc = new VRMLGeometryDesc(false); 00126 00127 _pCurrentNodeDesc->init(szProtoname); 00128 00129 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00130 } 00131 else if(stringcasecmp("PointSet", szProtoname) == 0) 00132 { 00133 stringDup(szProtoname, szName); 00134 00135 _pCurrentNodeDesc = new VRMLGeometryPointSetDesc(); 00136 00137 _pCurrentNodeDesc->init(szProtoname); 00138 00139 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00140 } 00141 else if(stringcasecmp("Shape", szProtoname) == 0) 00142 { 00143 stringDup(szProtoname, szName); 00144 00145 _pCurrentNodeDesc = new VRMLShapeDesc; 00146 00147 _pCurrentNodeDesc->init(szProtoname); 00148 00149 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00150 } 00151 else if(stringcasecmp("Coordinate", szProtoname) == 0) 00152 { 00153 stringDup(szProtoname, szName); 00154 00155 _pCurrentNodeDesc = new VRMLGeometryPartDesc("point", 00156 "positions", 00157 "GeoPositions3f"); 00158 00159 _pCurrentNodeDesc->init(szProtoname); 00160 00161 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00162 } 00163 else if(stringcasecmp("Normal", szProtoname) == 0) 00164 { 00165 stringDup(szProtoname, szName); 00166 00167 _pCurrentNodeDesc = new VRMLGeometryPartDesc("vector", 00168 "normals", 00169 "GeoNormals3f"); 00170 00171 _pCurrentNodeDesc->init(szProtoname); 00172 00173 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00174 } 00175 else if(stringcasecmp("Color", szProtoname) == 0) 00176 { 00177 stringDup(szProtoname, szName); 00178 00179 _pCurrentNodeDesc = new VRMLGeometryPartDesc("color", 00180 "colors", 00181 "GeoColors3f"); 00182 00183 _pCurrentNodeDesc->init(szProtoname); 00184 00185 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00186 } 00187 else if(stringcasecmp("TextureCoordinate", szProtoname) == 0) 00188 { 00189 stringDup(szProtoname, szName); 00190 00191 _pCurrentNodeDesc = new VRMLGeometryPartDesc("point", 00192 "TexCoords", 00193 "GeoTexCoords2f"); 00194 00195 _pCurrentNodeDesc->init(szProtoname); 00196 00197 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00198 } 00199 else if(stringcasecmp("Appearance", szProtoname) == 0) 00200 { 00201 stringDup(szProtoname, szName); 00202 00203 _pCurrentNodeDesc = new VRMLAppearanceDesc(); 00204 00205 _pCurrentNodeDesc->init(szProtoname); 00206 00207 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00208 } 00209 else if(stringcasecmp("Material", szProtoname) == 0) 00210 { 00211 stringDup(szProtoname, szName); 00212 00213 _pCurrentNodeDesc = new VRMLMaterialDesc(); 00214 00215 _pCurrentNodeDesc->init(szProtoname); 00216 00217 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00218 } 00219 else if(stringcasecmp("Box", szProtoname) == 0) 00220 { 00221 stringDup(szProtoname, szName); 00222 00223 _pCurrentNodeDesc = new VRMLGeometryObjectDesc("Box"); 00224 00225 _pCurrentNodeDesc->init(szProtoname); 00226 00227 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00228 } 00229 else if(stringcasecmp("Cone", szProtoname) == 0) 00230 { 00231 stringDup(szProtoname, szName); 00232 00233 _pCurrentNodeDesc = new VRMLGeometryObjectDesc("Cone"); 00234 00235 _pCurrentNodeDesc->init(szProtoname); 00236 00237 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00238 } 00239 else if(stringcasecmp("Cylinder", szProtoname) == 0) 00240 { 00241 stringDup(szProtoname, szName); 00242 00243 _pCurrentNodeDesc = new VRMLGeometryObjectDesc("Cylinder"); 00244 00245 _pCurrentNodeDesc->init(szProtoname); 00246 00247 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00248 } 00249 else if(stringcasecmp("Sphere", szProtoname) == 0) 00250 { 00251 stringDup(szProtoname, szName); 00252 00253 _pCurrentNodeDesc = new VRMLGeometryObjectDesc("Sphere"); 00254 00255 _pCurrentNodeDesc->init(szProtoname); 00256 00257 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00258 } 00259 else if(stringcasecmp("TextureTransform", szProtoname) == 0) 00260 { 00261 stringDup(szProtoname, szName); 00262 00263 _pCurrentNodeDesc = new VRMLTextureTransformDesc(); 00264 00265 _pCurrentNodeDesc->init(szProtoname); 00266 00267 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00268 } 00269 else if(stringcasecmp("ImageTexture", szProtoname) == 0) 00270 { 00271 stringDup(szProtoname, szName); 00272 00273 _pCurrentNodeDesc = new VRMLImageTextureDesc(); 00274 00275 _pCurrentNodeDesc->init(szProtoname); 00276 00277 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00278 } 00279 else if(stringcasecmp("PixelTexture", szProtoname) == 0) 00280 { 00281 stringDup(szProtoname, szName); 00282 00283 _pCurrentNodeDesc = new VRMLPixelTextureDesc(); 00284 00285 _pCurrentNodeDesc->init(szProtoname); 00286 00287 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00288 } 00289 else if(stringcasecmp("LOD", szProtoname) == 0) 00290 { 00291 stringDup(szProtoname, szName); 00292 00293 _pCurrentNodeDesc = new VRMLLODDesc(); 00294 00295 _pCurrentNodeDesc->init(szProtoname); 00296 00297 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00298 } 00299 else if(stringcasecmp("Switch", szProtoname) == 0) 00300 { 00301 stringDup(szProtoname, szName); 00302 00303 _pCurrentNodeDesc = new VRMLSwitchDesc(); 00304 00305 _pCurrentNodeDesc->init(szProtoname); 00306 00307 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00308 } 00309 else if(stringcasecmp("Group", szProtoname) == 0) 00310 { 00311 stringDup(szProtoname, szName); 00312 00313 _pCurrentNodeDesc = new VRMLGroupDesc(); 00314 00315 _pCurrentNodeDesc->init(szProtoname); 00316 00317 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00318 } 00319 else if(stringcasecmp("Inline", szProtoname) == 0) 00320 { 00321 stringDup(szProtoname, szName); 00322 00323 _pCurrentNodeDesc = new VRMLInlineDesc(); 00324 00325 _pCurrentNodeDesc->init(szProtoname); 00326 00327 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00328 } 00329 else if(stringcasecmp("Viewpoint", szProtoname) == 0) 00330 { 00331 stringDup(szProtoname, szName); 00332 00333 _pCurrentNodeDesc = new VRMLViewpointDesc(); 00334 00335 _pCurrentNodeDesc->init(szProtoname); 00336 00337 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00338 } 00339 else if(stringcasecmp("Extrusion", szProtoname) == 0) 00340 { 00341 stringDup(szProtoname, szName); 00342 00343 _pCurrentNodeDesc = new VRMLExtrusionDesc(); 00344 00345 _pCurrentNodeDesc->init(szProtoname); 00346 00347 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00348 } 00349 else 00350 { 00351 stringDup(szProtoname, szName); 00352 00353 _pCurrentNodeDesc = new VRMLNodeDesc; 00354 00355 _pCurrentNodeDesc->init(szProtoname); 00356 00357 _mNodeDescHash[szName] = _pCurrentNodeDesc; 00358 } 00359 00360 } 00361 else 00362 { 00363 #ifdef OSG_DEBUG_VRML 00364 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00365 PINFO << "Could not add second proto named " 00366 << szProtoname 00367 << std::endl; 00368 #endif 00369 00370 _bIgnoreProto = true; 00371 } 00372 00373 VRMLNodeDesc::incIndent(); 00374 }
| void osg::VRMLNodeFactory< BaseT >::endProto | ( | void | ) | [inline, virtual, inherited] |
Definition at line 377 of file OSGVRMLNodeFactory.inl.
References osg::VRMLNodeFactory< BaseT >::_bIgnoreProto, osg::VRMLNodeFactory< BaseT >::_pCurrentNodeDesc, osg::VRMLNodeDesc::decIndent(), and osg::VRMLNodeDesc::endProtoInterface().
Referenced by createStandardPrototypes().
00378 { 00379 if(_pCurrentNodeDesc != NULL) 00380 _pCurrentNodeDesc->endProtoInterface(); 00381 00382 #ifdef OSG_DEBUG_VRML 00383 VRMLNodeDesc::decIndent(); 00384 #endif 00385 00386 _bIgnoreProto = false; 00387 }
| void osg::VRMLNodeFactory< BaseT >::beginEventInDecl | ( | const Char8 * | szEventType, | |
| const UInt32 | uiFieldTypeId, | |||
| const Char8 * | szEventName | |||
| ) | [inline, virtual, inherited] |
Definition at line 390 of file OSGVRMLNodeFactory.inl.
References osg::VRMLNodeFactory< BaseT >::_bIgnoreProto, osg::VRMLNodeDesc::getIndent(), osg::indentLog(), and PINFO.
Referenced by createStandardPrototypes().
00394 { 00395 if(_bIgnoreProto == true) 00396 return; 00397 00398 #ifdef OSG_DEBUG_VRML 00399 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00400 PINFO << "AddEventIn " << szEventType << " " << szEventName << std::endl; 00401 #endif 00402 }
| void osg::VRMLNodeFactory< BaseT >::beginEventOutDecl | ( | const Char8 * | szEventType, | |
| const UInt32 | uiFieldTypeId, | |||
| const Char8 * | szEventName | |||
| ) | [inline, virtual, inherited] |
Definition at line 405 of file OSGVRMLNodeFactory.inl.
References osg::VRMLNodeFactory< BaseT >::_bIgnoreProto, osg::VRMLNodeDesc::getIndent(), osg::indentLog(), and PINFO.
Referenced by createStandardPrototypes().
00409 { 00410 if(_bIgnoreProto == true) 00411 return; 00412 00413 #ifdef OSG_DEBUG_VRML 00414 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00415 PINFO << "AddEventOut " << szEventType << " " << szEventName << std::endl; 00416 #endif 00417 }
| void osg::VRMLNodeFactory< BaseT >::endFieldDecl | ( | void | ) | [inline, virtual, inherited] |
Definition at line 445 of file OSGVRMLNodeFactory.inl.
References osg::VRMLNodeFactory< BaseT >::_bInFieldProto.
Referenced by createStandardPrototypes(), and osg::VRMLNodeFactory< BaseT >::endExposedFieldDecl().
00446 { 00447 _bInFieldProto = false; 00448 }
| void osg::VRMLNodeFactory< BaseT >::beginExposedFieldDecl | ( | const Char8 * | szFieldType, | |
| const UInt32 | uiFieldTypeId, | |||
| const Char8 * | szFieldName | |||
| ) | [inline, virtual, inherited] |
Definition at line 451 of file OSGVRMLNodeFactory.inl.
References osg::VRMLNodeFactory< BaseT >::beginFieldDecl().
Referenced by createStandardPrototypes().
00455 { 00456 beginFieldDecl(szFieldType, uiFieldTypeId, szFieldName); 00457 }
| void osg::VRMLNodeFactory< BaseT >::endExposedFieldDecl | ( | void | ) | [inline, virtual, inherited] |
Definition at line 460 of file OSGVRMLNodeFactory.inl.
References osg::VRMLNodeFactory< BaseT >::endFieldDecl().
Referenced by createStandardPrototypes().
00461 { 00462 endFieldDecl(); 00463 }
| void osg::VRMLNodeFactory< BaseT >::dumpTable | ( | void | ) | [inline, inherited] |
Definition at line 512 of file OSGVRMLNodeFactory.inl.
References osg::VRMLNodeFactory< BaseT >::_mNodeDescHash.
00513 { 00514 NodeNameDescHash::iterator mNodeDescIt = _mNodeDescHash.begin(); 00515 00516 while(mNodeDescIt != _mNodeDescHash.end()) 00517 { 00518 // fprintf(stderr, "NodeDesc : %s\n", mNodeDescIt->first); 00519 00520 mNodeDescIt->second->dump(mNodeDescIt->first); 00521 00522 mNodeDescIt++; 00523 } 00524 }
| VRMLNodeDesc * osg::VRMLNodeFactory< BaseT >::findNodeDesc | ( | const Char8 * | szNodeTypename | ) | [inline, protected, inherited] |
Definition at line 530 of file OSGVRMLNodeFactory.inl.
References osg::VRMLNodeFactory< BaseT >::_mNodeDescHash, osg::VRMLNodeDesc::getIndent(), osg::indentLog(), and PINFO.
Referenced by beginNode(), and osg::VRMLNodeFactory< BaseT >::postStandardProtos().
00531 { 00532 VRMLNodeDesc *returnValue = NULL; 00533 00534 NodeNameDescHash::iterator mNodeDescIt = 00535 _mNodeDescHash.find(szNodeTypename); 00536 00537 if(mNodeDescIt != _mNodeDescHash.end()) 00538 { 00539 #ifdef OSG_DEBUG_VRML 00540 indentLog(VRMLNodeDesc::getIndent(), PINFO); 00541 PINFO << "Found Node " 00542 << mNodeDescIt->first << " (" 00543 << szNodeTypename << ")" << std::endl; 00544 #endif 00545 00546 returnValue = mNodeDescIt->second; 00547 } 00548 00549 return returnValue; 00550 }
| void osg::VRMLNodeFactory< BaseT >::addNodeDesc | ( | const Char8 * | szNodeTypename, | |
| VRMLNodeDesc * | pDesc | |||
| ) | [inline, protected, inherited] |
Definition at line 553 of file OSGVRMLNodeFactory.inl.
References osg::VRMLNodeFactory< BaseT >::_mNodeDescHash, osg::VRMLNodeFactory< BaseT >::_pCurrentNodeDesc, and osg::stringDup().
00555 { 00556 Char8 *szName = NULL; 00557 00558 if(szNodeTypename == NULL || pDesc == NULL) 00559 return; 00560 00561 stringDup(szNodeTypename, szName); 00562 00563 _mNodeDescHash[szName] = pDesc; 00564 00565 _pCurrentNodeDesc = pDesc; 00566 }
| void osg::VRMLNodeFactory< BaseT >::preStandardProtos | ( | void | ) | [inline, protected, virtual, inherited] |
Definition at line 569 of file OSGVRMLNodeFactory.inl.
Referenced by createStandardPrototypes(), and scanStandardPrototypes().
| void osg::VRMLNodeFactory< BaseT >::postStandardProtos | ( | void | ) | [inline, protected, virtual, inherited] |
Definition at line 574 of file OSGVRMLNodeFactory.inl.
References osg::VRMLNodeFactory< BaseT >::findNodeDesc(), osg::VRMLAppearanceDesc::setMaterialDesc(), and osg::VRMLShapeDesc::setMaterialDesc().
Referenced by createStandardPrototypes(), and scanStandardPrototypes().
00575 { 00576 VRMLNodeDesc *pNodeDesc = NULL; 00577 VRMLShapeDesc *pShapeDesc = NULL; 00578 VRMLAppearanceDesc *pAppearanceDesc = NULL; 00579 VRMLMaterialDesc *pMaterialDesc = NULL; 00580 00581 pNodeDesc = findNodeDesc("Shape"); 00582 00583 if(pNodeDesc != NULL) 00584 { 00585 pShapeDesc = dynamic_cast<VRMLShapeDesc *>(pNodeDesc); 00586 } 00587 00588 pNodeDesc = findNodeDesc("Appearance"); 00589 00590 if(pNodeDesc != NULL) 00591 { 00592 pAppearanceDesc = dynamic_cast<VRMLAppearanceDesc *>(pNodeDesc); 00593 } 00594 00595 pNodeDesc = findNodeDesc("Material"); 00596 00597 if(pNodeDesc != NULL) 00598 { 00599 pMaterialDesc = dynamic_cast<VRMLMaterialDesc *>(pNodeDesc); 00600 } 00601 00602 if(pShapeDesc != NULL) 00603 { 00604 pShapeDesc->setMaterialDesc(pMaterialDesc); 00605 } 00606 00607 if(pAppearanceDesc != NULL) 00608 { 00609 pAppearanceDesc->setMaterialDesc(pMaterialDesc); 00610 } 00611 }
NodePtr osg::VRMLFile::_pSceneRootNode [protected] |
Definition at line 192 of file OSGVRMLFile.h.
Referenced by beginNode(), findReference(), getRoot(), handleError(), scanFile(), and scanStream().
NodePtr osg::VRMLFile::_pLightRoot [protected] |
Definition at line 194 of file OSGVRMLFile.h.
Referenced by findReference(), scanFile(), and scanStream().
NodePtr osg::VRMLFile::_pCurrentGlobalLight [protected] |
VRMLNodeDesc* osg::VRMLFile::_pCurrNodeDesc [protected] |
Definition at line 197 of file OSGVRMLFile.h.
Referenced by addFieldValue(), beginFieldDecl(), beginNode(), endNode(), and getFieldType().
std::stack<VRMLNodeDesc *> osg::VRMLFile::_sNodeDescs [protected] |
FieldContainerPtr osg::VRMLFile::_pCurrentFC [protected] |
Definition at line 200 of file OSGVRMLFile.h.
Referenced by beginFieldDecl(), beginNode(), endField(), endNode(), getFieldType(), and setContainerFieldValue().
Field* osg::VRMLFile::_pCurrentField [protected] |
Definition at line 201 of file OSGVRMLFile.h.
Referenced by addFieldValue(), beginFieldDecl(), endField(), endNode(), getFieldType(), and setContainerFieldValue().
const FieldDescription* osg::VRMLFile::_pCurrentFieldDesc [protected] |
Definition at line 202 of file OSGVRMLFile.h.
Referenced by beginFieldDecl(), endField(), and getFieldType().
std::stack< FieldContainerPtr > osg::VRMLFile::_fcStack [protected] |
std::stack< Field *> osg::VRMLFile::_fStack [protected] |
std::stack<const FieldDescription *> osg::VRMLFile::_fdStack [protected] |
MaskPair osg::VRMLFile::_bvChanged [protected] |
MaskStack osg::VRMLFile::_sChangedStack [protected] |
NameContainerMap osg::VRMLFile::_nameFCMap [protected] |
Definition at line 211 of file OSGVRMLFile.h.
Referenced by beginNode(), endNode(), findReference(), scanFile(), and scanStream().
NameDescriptionMap osg::VRMLFile::_nameDescMap [protected] |
VRMLNodeDesc* osg::VRMLNodeFactory< BaseT >::_pCurrentNodeDesc [protected, inherited] |
Definition at line 164 of file OSGVRMLNodeFactory.h.
Referenced by osg::VRMLNodeFactory< BaseT >::addFieldValue(), osg::VRMLNodeFactory< BaseT >::addNodeDesc(), osg::VRMLNodeFactory< BaseT >::beginFieldDecl(), osg::VRMLNodeFactory< BaseT >::beginProto(), and osg::VRMLNodeFactory< BaseT >::endProto().
NodeNameDescHash osg::VRMLNodeFactory< BaseT >::_mNodeDescHash [protected, inherited] |
Definition at line 165 of file OSGVRMLNodeFactory.h.
Referenced by osg::VRMLNodeFactory< BaseT >::addNodeDesc(), osg::VRMLNodeFactory< BaseT >::beginProto(), osg::VRMLNodeFactory< BaseT >::dumpTable(), and osg::VRMLNodeFactory< BaseT >::findNodeDesc().
bool osg::VRMLNodeFactory< BaseT >::_bInFieldProto [protected, inherited] |
Definition at line 167 of file OSGVRMLNodeFactory.h.
Referenced by osg::VRMLNodeFactory< BaseT >::addFieldValue(), osg::VRMLNodeFactory< BaseT >::beginFieldDecl(), and osg::VRMLNodeFactory< BaseT >::endFieldDecl().
bool osg::VRMLNodeFactory< BaseT >::_bIgnoreProto [protected, inherited] |
Definition at line 168 of file OSGVRMLNodeFactory.h.
Referenced by osg::VRMLNodeFactory< BaseT >::beginEventInDecl(), osg::VRMLNodeFactory< BaseT >::beginEventOutDecl(), osg::VRMLNodeFactory< BaseT >::beginFieldDecl(), osg::VRMLNodeFactory< BaseT >::beginProto(), and osg::VRMLNodeFactory< BaseT >::endProto().
1.5.5