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

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 | |
| * | VRMLExtrusionDesc (void) |
Destructor | |
| *virtual | ~VRMLExtrusionDesc (void) |
Helper | |
| *virtual void | init (const Char8 *szName) |
Field | |
| *virtual bool | prototypeAddField (const Char8 *szFieldType, const UInt32 uiFieldTypeId, const Char8 *szFieldName) |
| virtual void | endProtoInterface (void) |
| virtual void | getFieldAndDesc (FieldContainerPtr pFC, const Char8 *szFieldname, Field *&pField, const FieldDescription *&pDesc) |
Node | |
| *virtual FieldContainerPtr | beginNode (const Char8 *szTypename, const Char8 *szName, FieldContainerPtr pCurrentFC) |
| virtual void | endNode (FieldContainerPtr) |
Dump | |
| *virtual void | dump (const Char8 *szNodeName) |
Helper | |
| virtual void | reset (void) |
| virtual void | setOnEndSave (const Char8 *szName) |
| virtual void | clearOnEndSave (void) |
| virtual bool | getOnEndSave (void) |
| virtual const 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 | |
| VRMLExtrusionDesc (const VRMLExtrusionDesc &source) | |
| prohibit default function (move to 'public' if needed) | |
| void | operator= (const VRMLExtrusionDesc &source) |
| prohibit default function (move to 'public' if needed) | |
Definition at line 1572 of file OSGVRMLNodeDescs.h.
|
|
Definition at line 1643 of file OSGVRMLNodeDescs.h. |
|
|
Definition at line 298 of file OSGVRMLNodeDescs.h. |
|
|
Definition at line 4559 of file OSGVRMLNodeDescs.cpp. 04559 : 04560 Inherited() 04561 { 04562 }
|
|
|
Definition at line 4567 of file OSGVRMLNodeDescs.cpp.
|
|
|
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4574 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeProto, osg::DynFieldAttachment< AttachmentDescT >::create(), osg::Node::create(), osg::VRMLNodeDesc::getIndent(), osg::indentLog(), and PINFO. 04575 { 04576 #ifdef OSG_DEBUG_VRML 04577 indentLog(getIndent(), PINFO); 04578 PINFO << "ExtrusionDesc::init : " << szName << std::endl; 04579 #endif 04580 04581 _pNodeProto = Node::create(); 04582 // _pNodeCoreProto = Group::create(); 04583 04584 _pGenAtt = GenericAtt::create(); 04585 _pGenAtt->setInternal(true); 04586 }
|
|
||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4591 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pCurrField, and osg::VRMLNodeDesc::prototypeAddField(). 04594 { 04595 _pCurrField = NULL; 04596 04597 return Inherited::prototypeAddField(szFieldType, 04598 uiFieldTypeId, 04599 szFieldname); 04600 }
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4602 of file OSGVRMLNodeDescs.cpp.
|
|
||||||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4606 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::decIndent(), osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getIndent(), osg::VRMLNodeDesc::incIndent(), osg::indentLog(), osg::NullFC, and PINFO. 04611 { 04612 #ifdef OSG_DEBUG_VRML 04613 indentLog(getIndent(), PINFO); 04614 PINFO << "VRMLExtrusionDesc::getFieldAndDesc : looking for " 04615 << szFieldname 04616 << std::endl; 04617 #endif 04618 04619 if(szFieldname == NULL) 04620 return; 04621 04622 if(pFC == NullFC) 04623 return; 04624 04625 incIndent(); 04626 04627 Inherited::getFieldAndDesc(pFC, 04628 szFieldname, 04629 pField, 04630 pDesc); 04631 04632 #ifdef OSG_DEBUG_VRML 04633 decIndent(); 04634 #endif 04635 }
|
|
||||||||||||||||
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4640 of file OSGVRMLNodeDescs.cpp. References osg::VRMLNodeDesc::_pGenAtt, osg::VRMLNodeDesc::_pNodeProto, osg::NodePtr::dcast(), and osg::NullFC. 04644 { 04645 FieldContainerPtr returnValue = NullFC; 04646 NodePtr pNode = NullFC; 04647 GenericAttPtr pAtt = NullFC; 04648 04649 if(_pNodeProto != NullFC) 04650 { 04651 FieldContainerPtr pAttClone = _pGenAtt->clone(); 04652 04653 pAtt = GenericAttPtr::dcast(pAttClone); 04654 04655 if(pAtt != NullFC) 04656 { 04657 pAtt->setInternal(true); 04658 } 04659 04660 returnValue = _pNodeProto->shallowCopy(); 04661 04662 pNode = NodePtr::dcast(returnValue); 04663 04664 pNode->addAttachment(pAtt); 04665 } 04666 04667 return returnValue; 04668 }
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4670 of file OSGVRMLNodeDescs.cpp. References osg::beginEditCP(), osg::Node::CoreFieldMask, osg::NodePtr::dcast(), osg::endEditCP(), FLOG, FWARNING, osg::VRMLNodeDesc::getFieldAndDesc(), osg::VRMLNodeDesc::getIndent(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::MField< FieldTypeT, fieldNameSpace >::getValues(), osg::indentLog(), osg::makeExtrusionGeo(), osg::NullFC, and PINFO. 04671 { 04672 Field *pField = NULL; 04673 const FieldDescription *pDesc = NULL; 04674 NodePtr pNode = NullFC; 04675 04676 FLOG (("Run VRMLExtrusionDesc::endNode()\n")); 04677 04678 if(pFC == NullFC) 04679 return; 04680 04681 pNode = NodePtr::dcast(pFC); 04682 04683 if(pNode == NullFC) 04684 return; 04685 04686 SFBool *pBeginCap = NULL; 04687 SFBool *pCcw = NULL; 04688 SFBool *pConvex = NULL; 04689 SFReal32 *pCreaseAngle = NULL; 04690 MFPnt2f *pCrossSection = NULL; 04691 SFBool *pEndCap = NULL; 04692 MFQuaternion *pOrientation = NULL; 04693 MFVec2f *pScale = NULL; 04694 SFBool *pSolid = NULL; 04695 MFPnt3f *pSpine = NULL; 04696 04697 Inherited::getFieldAndDesc(pFC, 04698 "beginCap", 04699 pField, 04700 pDesc); 04701 04702 if(pField != NULL) 04703 { 04704 pBeginCap = static_cast<SFBool *>(pField); 04705 } 04706 04707 04708 Inherited::getFieldAndDesc(pFC, 04709 "ccw", 04710 pField, 04711 pDesc); 04712 04713 if(pField != NULL) 04714 { 04715 pCcw = static_cast<SFBool *>(pField); 04716 } 04717 04718 04719 Inherited::getFieldAndDesc(pFC, 04720 "convex", 04721 pField, 04722 pDesc); 04723 04724 if(pField != NULL) 04725 { 04726 pConvex = static_cast<SFBool *>(pField); 04727 } 04728 04729 04730 Inherited::getFieldAndDesc(pFC, 04731 "creaseAngle", 04732 pField, 04733 pDesc); 04734 04735 if(pField != NULL) 04736 { 04737 pCreaseAngle = static_cast<SFReal32 *>(pField); 04738 } 04739 04740 04741 Inherited::getFieldAndDesc(pFC, 04742 "crossSection", 04743 pField, 04744 pDesc); 04745 04746 if(pField != NULL) 04747 { 04748 pCrossSection = static_cast<MFPnt2f *>(pField); 04749 } 04750 04751 04752 Inherited::getFieldAndDesc(pFC, 04753 "endCap", 04754 pField, 04755 pDesc); 04756 04757 if(pField != NULL) 04758 { 04759 pEndCap = static_cast<SFBool *>(pField); 04760 } 04761 04762 04763 Inherited::getFieldAndDesc(pFC, 04764 "orientation", 04765 pField, 04766 pDesc); 04767 04768 if(pField != NULL) 04769 { 04770 pOrientation = static_cast<MFQuaternion *>(pField); 04771 } 04772 04773 04774 Inherited::getFieldAndDesc(pFC, 04775 "scale", 04776 pField, 04777 pDesc); 04778 04779 if(pField != NULL) 04780 { 04781 pScale = static_cast<MFVec2f *>(pField); 04782 } 04783 04784 04785 Inherited::getFieldAndDesc(pFC, 04786 "solid", 04787 pField, 04788 pDesc); 04789 04790 if(pField != NULL) 04791 { 04792 pSolid = static_cast<SFBool *>(pField); 04793 } 04794 04795 04796 Inherited::getFieldAndDesc(pFC, 04797 "spine", 04798 pField, 04799 pDesc); 04800 04801 if(pField != NULL) 04802 { 04803 pSpine = static_cast<MFPnt3f *>(pField); 04804 } 04805 04806 04807 04808 if(pBeginCap != NULL && 04809 pCcw != NULL && 04810 pConvex != NULL && 04811 pCreaseAngle != NULL && 04812 pCrossSection != NULL && 04813 pEndCap != NULL && 04814 pOrientation != NULL && 04815 pScale != NULL && 04816 pSolid != NULL && 04817 pSpine != NULL) 04818 { 04819 #ifdef OSG_DEBUG_VRML 04820 indentLog(getIndent(), PINFO); 04821 PINFO << "VRMLExtrusionDesc::endNode" 04822 << std::endl; 04823 #endif 04824 04825 // TODO: creaseAngle/numOfSubdivision param/handling ? 04826 04827 GeometryPtr pGeo = makeExtrusionGeo ( pCrossSection->getValues(), 04828 pOrientation ->getValues(), 04829 pScale ->getValues(), 04830 pSpine ->getValues(), 04831 pCreaseAngle ->getValue (), 04832 pBeginCap ->getValue (), 04833 pEndCap ->getValue (), 04834 pCcw ->getValue (), 04835 pConvex ->getValue (), 04836 true, // buildNormal 04837 true, // buildTexCoord 04838 0 // numOfSubdivision 04839 ); 04840 04841 04842 /* 04843 // snip remove later 04844 fprintf(stderr, "%u %u %u %f | %u | %u | %u %u | %u | %u\n", 04845 pBeginCap ->getValue (), 04846 pCcw ->getValue (), 04847 pConvex ->getValue (), 04848 pCreaseAngle ->getValue (), 04849 pCrossSection->size (), 04850 pEndCap ->getValue (), 04851 pOrientation ->size (), 04852 pScale ->size (), 04853 pSolid ->getValue (), 04854 pSpine ->size ()); 04855 04856 // snap end remove later2 04857 */ 04858 04859 beginEditCP(pNode, Node::CoreFieldMask); 04860 { 04861 pNode->setCore(pGeo); 04862 } 04863 endEditCP (pNode, Node::CoreFieldMask); 04864 } 04865 else 04866 { 04867 FWARNING(("\n\nExtrusion parameter missing\n")); 04868 } 04869 }
|
|
|
Reimplemented from osg::VRMLNodeDesc. Definition at line 4874 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