void testNode(void) { #if 0 OSG::SFNodePtr sfNode; OSG::MFNodePtr mfNode; OSG::NodePtr pNode = OSG::Node::create(); sfNode.setValue(pNode); mfNode.push_back(pNode); /* fprintf(stderr, "%p %p %p | %d %d\n", pNode, sfNode.getValue(), mfNode[0], OSG::Node::VolumeFieldId, OSG::Node::TravMaskFieldId); */ OSG::NodePtr pNode1 = OSG::Node::create(); sfNode.setValue(pNode1); mfNode.resize(2); mfNode.replace(1, pNode1); const OSG::Field *pF1 = pNode->getSFVolume(); OSG::Field *pF2 = pNode->editSFVolume(); OSG::GetFieldHandlePtr pRF1 = pNode->getField("volume"); OSG::EditFieldHandlePtr pRF2 = pNode->editField("volume"); fprintf(stderr, "#### Field %p %p | %p %p\n", pF1, pF2, pRF1.get(), pRF2.get()); // fprintf(stderr, "%p %p %p\n", pNode1, sfNode.getValue(), mfNode[1]); const OSG::SFNodePtr constSFNode; // fprintf(stderr, "%p %p\n", pNode1, constSFNode.getValue()); OSG::FieldContainerPtr pNodeClone = deepClone(pNode); OSG::FieldContainerPtr pFC = OSG::FieldContainerFactory::the()->createContainer("Billboard"); fprintf(stderr, "### FOO %p\n", getCPtr(pFC)); #endif }