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

Member | |
| Field * | getField (FieldContainerPtr pFC1, FieldContainerPtr pFC2, GenericAttPtr pGenAtt, const Char8 *szFieldname) |
| FieldNameTypeHash | _mFieldTypes |
| GenericAttPtr | _pGenAtt |
| FieldContainerPtr | _pNodeProto |
| FieldContainerPtr | _pNodeCoreProto |
| Field * | _pCurrField |
| std::string | _szCurrentName |
| bool | _bSaveOnEnd |
| *static UInt32 | _uiIndent = 0 |
Public Member Functions | |
Constructors | |
| * | VRMLLODDesc (void) |
Destructor | |
| *virtual | ~VRMLLODDesc (void) |
Helper | |
| *virtual void | init (const Char8 *szName) |
Field | |
| *virtual bool | prototypeAddField (const Char8 *szFieldType, const UInt32 uiFieldTypeId, const Char8 *szFieldName) |
| virtual void | endProtoInterface (void) |
| virtual void | getFieldAndDesc (FieldContainerPtr pFC, const Char8 *szFieldname, Field *&pField, const FieldDescription *&pDesc) |
Node | |
| *virtual FieldContainerPtr | beginNode (const Char8 *szTypename, const Char8 *szName, FieldContainerPtr pCurrentFC) |
| virtual void | endNode (FieldContainerPtr) |
Dump | |
| *virtual void | dump (const Char8 *szNodeName) |
Helper | |
| virtual void | reset (void) |
| virtual void | setOnEndSave (const Char8 *szName) |
| virtual void | clearOnEndSave (void) |
| virtual bool | getOnEndSave (void) |
| virtual const Char8 * | getSavename (void) |
| virtual FieldContainerPtr | getSaveFieldContainer (void) |
Field | |
| *virtual Field * | getField (const Char8 *szFieldname) |
Prototypes | |
| virtual void | prototypeAddFieldValue (const Char8 *szFieldVal) |
FieldValue | |
| *virtual void | addFieldValue (Field *pField, const Char8 *szFieldVal) |
| virtual bool | use (FieldContainerPtr) |
Static Public Member Functions | |
Class Get | |
| *static UInt32 | getIndent (void) |
| static void | incIndent (void) |
| static void | decIndent (void) |
| static void | resetIndent (void) |
Protected Types | |
| typedef std::map< const Char8 *, UInt32, LTString > | FieldNameTypeHash |
Private Types | |
| typedef VRMLNodeDesc | Inherited |
Private Member Functions | |
| VRMLLODDesc (const VRMLLODDesc &source) | |
| prohibit default function (move to 'public' if needed) | |
| void | operator= (const VRMLLODDesc &source) |
| prohibit default function (move to 'public' if needed) | |
Definition at line 1315 of file OSGVRMLNodeDescs.h.
|
|
Definition at line 1381 of file OSGVRMLNodeDescs.h. |
|
|
Definition at line 298 of file OSGVRMLNodeDescs.h. |
|
|
Definition at line 3838 of file OSGVRMLNodeDescs.cpp. 03838 : 03839 Inherited() 03840 { 03841 }
|
|
|
Definition at line 3846 of file OSGVRMLNodeDescs.cpp.
|
|
|
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 3853 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeCoreProto, osg::VRMLNodeDesc::_pNodeProto, osg::DynFieldAttachment< AttachmentDescT >::create(), osg::DistanceLODBase::create(), osg::Node::create(), osg::VRMLNodeDesc::getIndent(), osg::indentLog(), and PINFO. 03854 { 03855 #ifdef OSG_DEBUG_VRML 03856 indentLog(getIndent(), PINFO); 03857 PINFO << "LODDesc::init : " << szName << std::endl; 03858 #endif 03859 03860 _pNodeProto = Node::create(); 03861 _pNodeCoreProto = DistanceLOD::create(); 03862 03863 _pGenAtt = GenericAtt::create(); 03864 _pGenAtt->setInternal(true); 03865 }
|
|
||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 3870 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pCurrField, osg::VRMLNodeDesc::prototypeAddField(), and osg::stringcasecmp(). 03873 { 03874 bool bFound = false; 03875 03876 _pCurrField = NULL; 03877 03878 if(stringcasecmp("level", szFieldname) == 0) 03879 { 03880 bFound = true; 03881 } 03882 else if(stringcasecmp("center", szFieldname) == 0) 03883 { 03884 bFound = true; 03885 } 03886 else if(stringcasecmp("range", szFieldname) == 0) 03887 { 03888 bFound = true; 03889 } 03890 03891 if(bFound == true) 03892 { 03893 return true; 03894 } 03895 else 03896 { 03897 return Inherited::prototypeAddField(szFieldType, 03898 uiFieldTypeId, 03899 szFieldname); 03900 } 03901 }
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 3903 of file OSGVRMLNodeDescs.cpp.
|
|
||||||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 3907 of file OSGVRMLNodeDescs.cpp. References osg::AttachmentContainerPtr::dcast(), osg::NodePtr::dcast(), osg::VRMLNodeDesc::decIndent(), osg::NodePtr::getCore(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::NullFC, PINFO, PWARNING, and osg::stringcasecmp(). 03912 { 03913 if(szFieldname == NULL) 03914 return; 03915 03916 if(pFC == NullFC) 03917 return; 03918 03919 NodePtr pNode = NodePtr::dcast(pFC); 03920 03921 #ifdef OSG_DEBUG_VRML 03922 indentLog(getIndent(), PINFO); 03923 PINFO << "VRMLLODDesc::getFieldAndDesc : looking for " 03924 << szFieldname 03925 << std::endl; 03926 #endif 03927 03928 if(pNode == NullFC) 03929 { 03930 PWARNING << "VRMLLODDesc::getFieldAndDesc : No Node" << std::endl; 03931 return; 03932 } 03933 03934 NodeCorePtr pNodeCore = pNode->getCore(); 03935 03936 DistanceLODPtr pLOD = DistanceLODPtr::dcast(pNodeCore); 03937 03938 if(pLOD == NullFC) 03939 { 03940 PWARNING << "VRMLLODDesc::getFieldAndDesc : No LOD" << std::endl; 03941 return; 03942 } 03943 03944 incIndent(); 03945 03946 if(stringcasecmp("level", szFieldname) == 0) 03947 { 03948 #ifdef OSG_DEBUG_VRML 03949 indentLog(getIndent(), PINFO); 03950 PINFO << "VRMLLODDesc::getFieldAndDesc : : request internal " 03951 << szFieldname 03952 << std::endl; 03953 #endif 03954 03955 pField = pNode->getField("children"); 03956 03957 if(pField != NULL) 03958 pDesc = pNode->getType().findFieldDescription("children"); 03959 } 03960 else if(stringcasecmp("center", szFieldname) == 0) 03961 { 03962 #ifdef OSG_DEBUG_VRML 03963 indentLog(getIndent(), PINFO); 03964 PINFO << "VRMLLODDesc::getFieldAndDesc : : request internal " 03965 << szFieldname 03966 << std::endl; 03967 #endif 03968 03969 pField = pLOD->getField("center"); 03970 03971 if(pField != NULL) 03972 pDesc = pLOD->getType().findFieldDescription("children"); 03973 } 03974 else if(stringcasecmp("range", szFieldname) == 0) 03975 { 03976 #ifdef OSG_DEBUG_VRML 03977 indentLog(getIndent(), PINFO); 03978 PINFO << "VRMLLODDesc::getFieldAndDesc : : request internal " 03979 << szFieldname 03980 << std::endl; 03981 #endif 03982 03983 pField = pLOD->getField("range"); 03984 03985 if(pField != NULL) 03986 pDesc = pLOD->getType().findFieldDescription("range"); 03987 } 03988 else 03989 { 03990 VRMLNodeDesc::getFieldAndDesc(pLOD, 03991 szFieldname, 03992 pField, 03993 pDesc); 03994 } 03995 03996 #ifdef OSG_DEBUG_VRML 03997 decIndent(); 03998 #endif 03999 }
|
|
||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4004 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeCoreProto, osg::VRMLNodeDesc::_pNodeProto, osg::beginEditCP(), osg::Node::CoreFieldMask, osg::AttachmentContainerPtr::dcast(), osg::NodePtr::dcast(), osg::endEditCP(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::NullFC, and PINFO. 04008 { 04009 FieldContainerPtr pFC = NullFC; 04010 NodePtr pNode = NullFC; 04011 NodeCorePtr pNodeCore = NullFC; 04012 GenericAttPtr pAtt = NullFC; 04013 04014 if(_pNodeProto != NullFC) 04015 { 04016 FieldContainerPtr pAttClone = _pGenAtt->emptyCopy(); 04017 04018 pAtt = GenericAttPtr::dcast(pAttClone); 04019 04020 if(pAtt != NullFC) 04021 { 04022 pAtt->setInternal(true); 04023 } 04024 04025 pFC = _pNodeProto->shallowCopy(); 04026 04027 pNode = NodePtr::dcast(pFC); 04028 04029 pFC = _pNodeCoreProto->shallowCopy(); 04030 04031 pNodeCore = NodeCorePtr::dcast(pFC); 04032 04033 beginEditCP(pNode); 04034 { 04035 pNode ->setCore (pNodeCore); 04036 pNodeCore->addAttachment(pAtt); 04037 } 04038 endEditCP (pNode, Node::CoreFieldMask); 04039 } 04040 04041 #ifdef OSG_DEBUG_VRML 04042 indentLog(getIndent(), PINFO); 04043 PINFO << "Begin LOD " << &(*pNode) << std::endl; 04044 04045 incIndent(); 04046 #endif 04047 04048 return pNode; 04049 }
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4051 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::decIndent(), osg::VRMLNodeDesc::getIndent(), osg::indentLog(), and PINFO. 04052 { 04053 #ifdef OSG_DEBUG_VRML 04054 decIndent(); 04055 04056 indentLog(getIndent(), PINFO); 04057 PINFO << "End LOD " 04058 << &(*pFC) << std::endl; 04059 #endif 04060 }
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4065 of file OSGVRMLNodeDescs.cpp.
|
|
|
|
|
|
|
|
|
Definition at line 150 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_uiIndent. Referenced by osg::VRMLFile::createStandardPrototypes(), osg::VRMLFile::scanFile(), osg::VRMLFile::scanStandardPrototypes(), and osg::VRMLFile::scanStream(). 00151 { 00152 _uiIndent = 0; 00153 }
|
|
|
Reimplemented in osg::VRMLMaterialDesc, osg::VRMLTextureTransformDesc, osg::VRMLImageTextureDesc, osg::VRMLPixelTextureDesc, and osg::VRMLViewpointDesc. Definition at line 205 of file OSGVRMLNodeDescs.cpp. Referenced by osg::VRMLFile::beginNode().
|
|
|
Definition at line 209 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_bSaveOnEnd, and osg::VRMLNodeDesc::_szCurrentName. Referenced by osg::VRMLFile::beginNode(). 00210 { 00211 _szCurrentName = szName; // does that make a copy? I expect it to... 00212 _bSaveOnEnd = true; 00213 }
|
|
|
Definition at line 215 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_bSaveOnEnd. Referenced by osg::VRMLFile::endNode(). 00216 { 00217 _bSaveOnEnd = false; 00218 }
|
|
|
Definition at line 220 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_bSaveOnEnd. Referenced by osg::VRMLFile::endNode(). 00221 { 00222 return _bSaveOnEnd; 00223 }
|
|
|
Definition at line 225 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_szCurrentName. Referenced by osg::VRMLFile::endNode(). 00226 { 00227 return _szCurrentName.c_str(); 00228 }
|
|
|
Reimplemented in osg::VRMLAppearanceDesc. Definition at line 230 of file OSGVRMLNodeDescs.cpp. References osg::NullFC. Referenced by osg::VRMLFile::endNode(). 00231 { 00232 return NullFC; 00233 }
|
|
|
Definition at line 238 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeCoreProto, and osg::VRMLNodeDesc::_pNodeProto. Referenced by osg::VRMLNodeDesc::prototypeAddField(). 00239 { 00240 return getField(_pNodeProto, _pNodeCoreProto, _pGenAtt, szFieldname); 00241 }
|
|
||||||||||||||||||||
|
Definition at line 604 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::decIndent(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::NullFC, and PINFO. 00608 { 00609 Field *returnValue = NULL; 00610 00611 if(szFieldname == NULL) 00612 { 00613 return returnValue; 00614 } 00615 00616 #ifdef OSG_DEBUG_VRML 00617 indentLog(getIndent(), PINFO); 00618 PINFO << "VRMLNodeDesc::getField " << std::endl; 00619 00620 incIndent(); 00621 00622 indentLog(getIndent(), PINFO); 00623 PINFO << "Trying to find field : " << szFieldname << std::endl; 00624 #endif 00625 00626 if(pFC1 != NullFC) 00627 { 00628 returnValue = pFC1->getField(szFieldname); 00629 } 00630 00631 #ifdef OSG_DEBUG_VRML 00632 incIndent(); 00633 00634 indentLog(getIndent(), PINFO); 00635 PINFO << "Got this from node : " << returnValue << std::endl; 00636 #endif 00637 00638 if(returnValue != NULL) 00639 return returnValue; 00640 00641 if(pFC2 != NullFC) 00642 { 00643 returnValue = pFC2->getField(szFieldname); 00644 00645 #ifdef OSG_DEBUG_VRML 00646 indentLog(getIndent(), PINFO); 00647 PINFO << "Got this from nodecore : " << returnValue << std::endl; 00648 #endif 00649 } 00650 else 00651 { 00652 #ifdef OSG_DEBUG_VRML 00653 indentLog(getIndent(), PINFO); 00654 PINFO << "No core to check" << std::endl; 00655 #endif 00656 } 00657 00658 00659 if(returnValue != NULL) 00660 return returnValue; 00661 00662 if(pGenAtt != NullFC) 00663 { 00664 returnValue = pGenAtt->getField(szFieldname); 00665 } 00666 00667 #ifdef OSG_DEBUG_VRML 00668 indentLog(getIndent(), PINFO); 00669 PINFO << "Got this from attachment : " << returnValue << std::endl; 00670 00671 decIndent(); 00672 decIndent(); 00673 #endif 00674 00675 return returnValue; 00676 }
|
|
|
Definition at line 474 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pCurrField, and osg::Field::pushValueByStr(). 00475 { 00476 if(_pCurrField != NULL) 00477 { 00478 _pCurrField->pushValueByStr(szFieldVal); 00479 } 00480 }
|
|
||||||||||||
|
Reimplemented in osg::VRMLGeometryDesc, osg::VRMLGeometryPointSetDesc, and osg::VRMLPixelTextureDesc. Definition at line 548 of file OSGVRMLNodeDescs.cpp. References osg::Field::pushValueByStr(). Referenced by osg::VRMLFile::addFieldValue(). 00550 { 00551 if(pField != NULL) 00552 { 00553 pField->pushValueByStr(szFieldVal); 00554 } 00555 }
|
|
|
Reimplemented in osg::VRMLAppearanceDesc. Definition at line 557 of file OSGVRMLNodeDescs.cpp. Referenced by osg::VRMLFile::use().
|
|
|
Definition at line 123 of file OSGVRMLNodeDescs.cpp. Referenced by osg::VRMLNodeDesc::decIndent(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), and osg::VRMLNodeDesc::resetIndent(). |
|
|
Definition at line 307 of file OSGVRMLNodeDescs.h. |
|
|
|
|
|
|
Definition at line 316 of file OSGVRMLNodeDescs.h. Referenced by osg::VRMLNodeDesc::getSavename(), and osg::VRMLNodeDesc::setOnEndSave(). |
|
|
Definition at line 317 of file OSGVRMLNodeDescs.h. Referenced by osg::VRMLNodeDesc::clearOnEndSave(), osg::VRMLNodeDesc::getOnEndSave(), and osg::VRMLNodeDesc::setOnEndSave(). |
1.4.3