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

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 | |
| * | VRMLGeometryPointSetDesc (void) |
Destructor | |
| *virtual | ~VRMLGeometryPointSetDesc (void) |
Helper | |
| *virtual void | init (const Char8 *szName) |
Get | |
| *virtual bool | prototypeAddField (const Char8 *szFieldType, const UInt32 uiFieldTypeId, const Char8 *szFieldName) |
| virtual void | getFieldAndDesc (FieldContainerPtr pFC, const Char8 *szFieldname, Field *&pField, const FieldDescription *&pDesc) |
Node | |
| *virtual FieldContainerPtr | beginNode (const Char8 *szTypename, const Char8 *szName, FieldContainerPtr pCurrentFC) |
| virtual void | endNode (FieldContainerPtr pFC) |
Field Value | |
| *virtual void | addFieldValue (Field *pField, const Char8 *szFieldVal) |
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) |
| virtual void | endProtoInterface (void) |
FieldValue | |
| virtual bool | use (FieldContainerPtr) |
Static Public Member Functions | |
Class Get | |
| *static UInt32 | getIndent (void) |
| static void | incIndent (void) |
| static void | decIndent (void) |
| static void | resetIndent (void) |
Protected Types | |
| typedef std::map< const Char8 *, UInt32, LTString > | FieldNameTypeHash |
Protected Attributes | |
Member | |
| *bool | _bInIndex |
| UInt32 | _uiNumVertices |
| GeoPTypesPtr | _pTypeField |
| GeoPLengthsPtr | _pLengthField |
Private Types | |
| typedef VRMLNodeDesc | Inherited |
Private Member Functions | |
| VRMLGeometryPointSetDesc (const VRMLGeometryPointSetDesc &source) | |
| prohibit default function (move to 'public' if needed) | |
| void | operator= (const VRMLGeometryPointSetDesc &source) |
| prohibit default function (move to 'public' if needed) | |
Definition at line 535 of file OSGVRMLNodeDescs.h.
|
|
Definition at line 618 of file OSGVRMLNodeDescs.h. |
|
|
Definition at line 298 of file OSGVRMLNodeDescs.h. |
|
|
Definition at line 1519 of file OSGVRMLNodeDescs.cpp. 01519 : 01520 Inherited (), 01521 01522 _bInIndex (false), 01523 _uiNumVertices(0), 01524 01525 _pTypeField (NullFC ), 01526 _pLengthField (NullFC ) 01527 { 01528 }
|
|
|
Definition at line 1533 of file OSGVRMLNodeDescs.cpp.
|
|
|
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 1540 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeCoreProto, osg::VRMLNodeDesc::_pNodeProto, osg::DynFieldAttachment< AttachmentDescT >::create(), osg::GeometryBase::create(), osg::Node::create(), osg::VRMLNodeDesc::getIndent(), osg::indentLog(), and PINFO. 01541 { 01542 #ifdef OSG_DEBUG_VRML 01543 indentLog(getIndent(), PINFO); 01544 PINFO << "GeoDesc::init : " << szName << std::endl; 01545 #endif 01546 01547 _pNodeProto = Node::create(); 01548 _pNodeCoreProto = Geometry::create(); 01549 01550 _pGenAtt = GenericAtt::create(); 01551 _pGenAtt->setInternal(true); 01552 }
|
|
||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 1557 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pCurrField, osg::VRMLNodeDesc::getIndent(), osg::indentLog(), PINFO, osg::VRMLNodeDesc::prototypeAddField(), and osg::stringcasecmp(). 01560 { 01561 bool bFound = false; 01562 01563 _pCurrField = NULL; 01564 01565 if(szFieldname == NULL) 01566 return false; 01567 01568 if(stringcasecmp("coord", szFieldname) == 0) 01569 { 01570 bFound = true; 01571 } 01572 else if(stringcasecmp("color", szFieldname) == 0) 01573 { 01574 bFound = true; 01575 } 01576 01577 if(bFound == true) 01578 { 01579 #ifdef OSG_DEBUG_VRML 01580 indentLog(getIndent(), PINFO); 01581 PINFO << "GeoDesc::prototypeAddField : internal " 01582 << szFieldname << std::endl; 01583 #endif 01584 01585 return true; 01586 } 01587 else 01588 { 01589 return Inherited::prototypeAddField(szFieldType, 01590 uiFieldTypeId, 01591 szFieldname); 01592 } 01593 }
|
|
||||||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 1596 of file OSGVRMLNodeDescs.cpp. References _bInIndex, osg::AttachmentContainerPtr::dcast(), osg::NodePtr::dcast(), osg::NodePtr::getCore(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getIndent(), osg::indentLog(), osg::NullFC, PINFO, PWARNING, and osg::stringcasecmp(). 01601 { 01602 #ifdef OSG_DEBUG_VRML 01603 indentLog(getIndent(), PINFO); 01604 PINFO << "GeoDesc::getFieldAndDesc : request " 01605 << szFieldname 01606 << std::endl; 01607 #endif 01608 01609 if(szFieldname == NULL) 01610 return; 01611 01612 if(pFC == NullFC) 01613 return; 01614 01615 NodePtr pNode = NodePtr::dcast(pFC); 01616 01617 if(pNode == NullFC) 01618 { 01619 PWARNING << "GeoDesc::getFieldAndDesc : No Node" << std::endl; 01620 return; 01621 } 01622 01623 NodeCorePtr pNodeCore = pNode->getCore(); 01624 01625 GeometryPtr pGeo = GeometryPtr::dcast(pNodeCore); 01626 01627 if(pGeo == NullFC) 01628 { 01629 PWARNING << "GeoDesc::getFieldAndDesc : No Geo" << std::endl; 01630 return; 01631 } 01632 01633 _bInIndex = false; 01634 01635 if(stringcasecmp("coord", szFieldname) == 0) 01636 { 01637 #ifdef OSG_DEBUG_VRML 01638 indentLog(getIndent(), PINFO); 01639 PINFO << "GeoDesc::getFieldAndDesc : internal " 01640 << szFieldname << std::endl; 01641 #endif 01642 pField = pGeo->getField("positions"); 01643 01644 if(pField != NULL) 01645 pDesc = pGeo->getType().findFieldDescription("positions"); 01646 } 01647 else if(stringcasecmp("color", szFieldname) == 0) 01648 { 01649 #ifdef OSG_DEBUG_VRML 01650 indentLog(getIndent(), PINFO); 01651 PINFO << "GeoDesc::getFieldAndDesc : internal " 01652 << szFieldname << std::endl; 01653 #endif 01654 01655 pField = pGeo->getField("colors"); 01656 01657 if(pField != NULL) 01658 pDesc = pGeo->getType().findFieldDescription("colors"); 01659 } 01660 else 01661 { 01662 VRMLNodeDesc::getFieldAndDesc(pGeo, 01663 szFieldname, 01664 pField, 01665 pDesc); 01666 } 01667 }
|
|
||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 1672 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeCoreProto, osg::VRMLNodeDesc::_pNodeProto, osg::beginEditCP(), osg::AttachmentContainerPtr::dcast(), osg::NodePtr::dcast(), osg::endEditCP(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::NullFC, and PINFO. 01676 { 01677 FieldContainerPtr pFC = NullFC; 01678 NodePtr pNode = NullFC; 01679 NodeCorePtr pNodeCore = NullFC; 01680 GenericAttPtr pAtt = NullFC; 01681 01682 if(_pNodeProto != NullFC) 01683 { 01684 FieldContainerPtr pAttClone = _pGenAtt->clone(); 01685 01686 pAtt = GenericAttPtr::dcast(pAttClone); 01687 01688 if(pAtt != NullFC) 01689 { 01690 pAtt->setInternal(true); 01691 } 01692 01693 pFC = _pNodeProto->shallowCopy(); 01694 01695 pNode = NodePtr::dcast(pFC); 01696 01697 pFC = _pNodeCoreProto->shallowCopy(); 01698 01699 pNodeCore = NodeCorePtr::dcast(pFC); 01700 01701 beginEditCP(pNode); 01702 { 01703 pNode ->setCore (pNodeCore); 01704 pNodeCore->addAttachment(pAtt); 01705 } 01706 endEditCP (pNode); 01707 } 01708 01709 #ifdef OSG_DEBUG_VRML 01710 indentLog(getIndent(), PINFO); 01711 PINFO << "Begin Geo " << &(*pNode) << std::endl; 01712 01713 incIndent(); 01714 #endif 01715 01716 return pNode; 01717 }
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 1719 of file OSGVRMLNodeDescs.cpp. References osg::MField< FieldTypeT, fieldNameSpace >::begin(), osg::beginEditCP(), osg::calcVertexNormals(), osg::GroupBase::create(), osg::GeoProperty< GeoPropertyDesc >::create(), osg::AttachmentContainerPtr::dcast(), osg::NodePtr::dcast(), osg::VRMLNodeDesc::decIndent(), osg::MField< FieldTypeT, fieldNameSpace >::end(), osg::endEditCP(), osg::NodePtr::getCore(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getIndent(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::indentLog(), osg::GeometryBase::LengthsFieldMask, osg::NullFC, PINFO, PWARNING, osg::setIndexFromVRMLData(), osg::MField< FieldTypeT, fieldNameSpace >::size(), and osg::GeometryBase::TypesFieldMask. 01720 { 01721 NodePtr pNode = NullFC; 01722 GeometryPtr pGeo = NullFC; 01723 01724 if(pFC == NullFC) 01725 { 01726 return; 01727 } 01728 01729 pNode = NodePtr::dcast(pFC); 01730 01731 if(pNode == NullFC) 01732 { 01733 return; 01734 } 01735 01736 pGeo = GeometryPtr::dcast(pNode->getCore()); 01737 01738 if(pGeo == NullFC) 01739 { 01740 return; 01741 } 01742 01743 GeoPLengthsUI32Ptr pLengths = GeoPLengthsUI32::create(); 01744 GeoPTypesUI8Ptr pTypes = GeoPTypesUI8::create(); 01745 01746 GeoPositionsPtr pPos = pGeo->getPositions(); 01747 GeoPositions3fPtr pCoords = GeoPositions3fPtr::dcast(pPos); 01748 01749 if(pCoords == NullFC) 01750 return; 01751 01752 GeoPLengthsUI32::StoredFieldType *pLenField = 01753 pLengths->getFieldPtr(); 01754 01755 GeoPTypesUI8 ::StoredFieldType *pTypeField = 01756 pTypes ->getFieldPtr(); 01757 01758 beginEditCP(pLengths); 01759 { 01760 pLenField->push_back(pCoords->getFieldPtr()->size()); 01761 } 01762 endEditCP (pLengths); 01763 01764 beginEditCP(pTypes); 01765 { 01766 pTypeField->push_back(GL_POINTS); 01767 } 01768 endEditCP (pTypes); 01769 01770 beginEditCP(pGeo, 01771 Geometry::TypesFieldMask | 01772 Geometry::LengthsFieldMask); 01773 { 01774 pGeo->setLengths(pLengths); 01775 pGeo->setTypes (pTypes ); 01776 } 01777 endEditCP (pGeo, 01778 Geometry::TypesFieldMask | 01779 Geometry::LengthsFieldMask); 01780 01781 #if 0 01782 Field *pField = NULL; 01783 const FieldDescription *pDesc = NULL; 01784 01785 MFInt32 *pCoordIndex = NULL; 01786 MFInt32 *pNormalIndex = NULL; 01787 MFInt32 *pColorIndex = NULL; 01788 MFInt32 *pTexCoordIndex = NULL; 01789 SFBool *pConvex = NULL; 01790 SFBool *pCcw = NULL; 01791 SFBool *pNormalPerVertex = NULL; 01792 SFBool *pColorPerVertex = NULL; 01793 SFReal32 *pCreaseAngle = NULL; 01794 01795 Inherited::getFieldAndDesc(pFC, 01796 "coordIndex", 01797 pField, 01798 pDesc); 01799 01800 if(pField != NULL) 01801 { 01802 pCoordIndex = static_cast<MFInt32 *>(pField); 01803 } 01804 01805 Inherited::getFieldAndDesc(pFC, 01806 "normalIndex", 01807 pField, 01808 pDesc); 01809 01810 if(pField != NULL) 01811 { 01812 pNormalIndex = static_cast<MFInt32 *>(pField); 01813 } 01814 01815 Inherited::getFieldAndDesc(pFC, 01816 "colorIndex", 01817 pField, 01818 pDesc); 01819 01820 if(pField != NULL) 01821 { 01822 pColorIndex = static_cast<MFInt32 *>(pField); 01823 } 01824 01825 Inherited::getFieldAndDesc(pFC, 01826 "texCoordIndex", 01827 pField, 01828 pDesc); 01829 01830 if(pField != NULL) 01831 { 01832 pTexCoordIndex = static_cast<MFInt32 *>(pField); 01833 } 01834 01835 01836 01837 Inherited::getFieldAndDesc(pFC, 01838 "convex", 01839 pField, 01840 pDesc); 01841 01842 if(pField != NULL) 01843 { 01844 pConvex = static_cast<SFBool *>(pField); 01845 } 01846 01847 Inherited::getFieldAndDesc(pFC, 01848 "ccw", 01849 pField, 01850 pDesc); 01851 01852 if(pField != NULL) 01853 { 01854 pCcw = static_cast<SFBool *>(pField); 01855 } 01856 01857 Inherited::getFieldAndDesc(pFC, 01858 "normalPerVertex", 01859 pField, 01860 pDesc); 01861 01862 if(pField != NULL) 01863 { 01864 pNormalPerVertex = static_cast<SFBool *>(pField); 01865 } 01866 01867 Inherited::getFieldAndDesc(pFC, 01868 "colorPerVertex", 01869 pField, 01870 pDesc); 01871 01872 if(pField != NULL) 01873 { 01874 pColorPerVertex = static_cast<SFBool *>(pField); 01875 } 01876 01877 Inherited::getFieldAndDesc(pFC, 01878 "creaseAngle", 01879 pField, 01880 pDesc); 01881 01882 if(pField != NULL) 01883 { 01884 pCreaseAngle = static_cast<SFReal32 *>(pField); 01885 } 01886 01887 beginEditCP(pGeo); 01888 01889 if(_bIsFaceSet == true) 01890 { 01891 if(pCoordIndex != NULL && 01892 pCoordIndex->size() > 2 && 01893 pNormalIndex != NULL && 01894 pColorIndex != NULL && 01895 pTexCoordIndex != NULL && 01896 pConvex != NULL && 01897 pCcw != NULL && 01898 pNormalPerVertex != NULL && 01899 pColorPerVertex != NULL && 01900 pCreaseAngle != NULL) 01901 { 01902 #ifdef OSG_DEBUG_VRML 01903 indentLog(getIndent(), PINFO); 01904 PINFO << "Geo create faceset " << &(*pNode) << std::endl; 01905 #endif 01906 01907 setIndexFromVRMLData(pGeo, 01908 pCoordIndex ->getValues(), 01909 pNormalIndex ->getValues(), 01910 pColorIndex ->getValues(), 01911 pTexCoordIndex ->getValues(), 01912 pConvex ->getValue() , 01913 pCcw ->getValue() , 01914 pNormalPerVertex->getValue() , 01915 pColorPerVertex ->getValue() , 01916 false, // create normal; not yet :) 01917 true); 01918 01919 //if((0 != (_uiOptions & VRMLFile::CreateNormals) ) && 01920 // (pGeo->getNormals() == NullFC)) 01921 if(pGeo->getNormals() == NullFC) 01922 { 01923 #ifdef OSG_DEBUG_VRML 01924 indentLog(getIndent(), PINFO); 01925 PINFO << "Geo create normals " << &(*pNode) << std::endl; 01926 #endif 01927 01928 OSG::calcVertexNormals(pGeo, pCreaseAngle->getValue()); 01929 } 01930 } 01931 else 01932 { 01933 #if 0 // What's the point of doing that? 01934 PWARNING << "Invalid geometry replaced by a group" << std::endl; 01935 01936 GroupPtr pGr = Group::create(); 01937 01938 MFNodePtr pGeoParents = pGeo->getParents (); 01939 MFNodePtr::iterator parentsIt = pGeoParents.begin(); 01940 MFNodePtr::iterator endParents = pGeoParents.end (); 01941 01942 while(parentsIt != endParents) 01943 { 01944 (*parentsIt)->setCore(pGr); 01945 01946 ++parentsIt; 01947 } 01948 #endif 01949 } 01950 } 01951 else 01952 { 01953 vector<Int32> dummyVec; 01954 bool dummybool = false; 01955 01956 if(pCoordIndex != NULL && 01957 pCoordIndex->size() > 1 && 01958 pColorIndex != NULL && 01959 pColorPerVertex != NULL) 01960 { 01961 #ifdef OSG_DEBUG_VRML 01962 indentLog(getIndent(), PINFO); 01963 PINFO << "Geo create lineset " << &(*pNode) << std::endl; 01964 #endif 01965 01966 setIndexFromVRMLData(pGeo, 01967 pCoordIndex ->getValues(), 01968 dummyVec , 01969 pColorIndex ->getValues(), 01970 dummyVec , 01971 dummybool, 01972 dummybool, 01973 dummybool, 01974 pColorPerVertex->getValue() , 01975 false, // create normal; not yet :) 01976 false); 01977 } 01978 else 01979 { 01980 #if 0 // What's the point of doing that? 01981 01982 PWARNING << "Invalid geometry replaced by a group" << std::endl; 01983 01984 GroupPtr pGr = Group::create(); 01985 01986 MFNodePtr pGeoParents = pGeo->getParents (); 01987 MFNodePtr::iterator parentsIt = pGeoParents.begin(); 01988 MFNodePtr::iterator endParents = pGeoParents.end (); 01989 01990 while(parentsIt != endParents) 01991 { 01992 (*parentsIt)->setCore(pGr); 01993 01994 ++parentsIt; 01995 } 01996 #endif 01997 } 01998 } 01999 02000 endEditCP(pGeo); 02001 02002 #ifdef OSG_DEBUG_VRML 02003 decIndent(); 02004 02005 indentLog(getIndent(), PINFO); 02006 PINFO << "End Geo " << &(*pNode) << std::endl; 02007 #endif 02008 #endif 02009 }
|
|
||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 2011 of file OSGVRMLNodeDescs.cpp. References osg::Field::pushValueByStr(). 02013 { 02014 if(pField != NULL) 02015 { 02016 pField->pushValueByStr(szFieldVal); 02017 } 02018 }
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 2023 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::VRMLMaterialDesc, osg::VRMLTextureTransformDesc, osg::VRMLImageTextureDesc, osg::VRMLPixelTextureDesc, osg::VRMLLODDesc, osg::VRMLSwitchDesc, osg::VRMLGroupDesc, osg::VRMLExtrusionDesc, osg::VRMLInlineDesc, and osg::VRMLViewpointDesc. Definition at line 482 of file OSGVRMLNodeDescs.cpp.
|