Changeset 515
- Timestamp:
- 08/25/10 12:36:02 (18 months ago)
- Location:
- trunk/avango-osg
- Files:
-
- 3 edited
-
include/avango/osg/Node.h (modified) (1 diff)
-
python/avango/osg/OSGNode.cpp (modified) (1 diff)
-
src/avango/osg/Node.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/avango-osg/include/avango/osg/Node.h
r514 r515 90 90 * to call evaluate on all nodes on the traversal to the root node. 91 91 */ 92 ::osg::Matrix getAbsoluteTransform(av::FieldContainer* caller = 0, av::osg::Node * haltTraversalAtNode = 0) const; 92 ::osg::Matrix getAbsoluteTransform(av::FieldContainer* caller = 0) const; 93 94 ::osg::Matrix getAbsoluteTransformHaltAtNode(av::FieldContainer* caller = 0, av::osg::Node * haltTraversalAtNode = 0) const; 93 95 94 96 protected: -
trunk/avango-osg/python/avango/osg/OSGNode.cpp
r482 r515 72 72 .def("get_bounding_sphere", &av::osg::Node::getBoundingSphere) 73 73 .def("get_absolute_transform", &av::osg::Node::getAbsoluteTransform) 74 .def("get_absolute_transform_halt_at_node", &av::osg::Node::getAbsoluteTransformHaltAtNode) 74 75 ; 75 76 -
trunk/avango-osg/src/avango/osg/Node.cpp
r514 r515 78 78 79 79 ::osg::Matrix 80 av::osg::Node::getAbsoluteTransform(av::FieldContainer* caller, av::osg::Node * haltTraversalAtNode) const 80 av::osg::Node::getAbsoluteTransform(av::FieldContainer* caller) const 81 { 82 ::osg::Node *osg_node = getOsgNode(); 83 84 // traverse to the root node and trigger evaluate() if a caller was given 85 while(osg_node != 0) 86 { 87 ::osg::Node::ParentList parent_list = osg_node->getParents(); 88 89 if (parent_list.size() > 0) 90 { 91 Link<av::osg::Node> av_node = av::osg::get_from_osg_object<av::osg::Node>(parent_list[0]); 92 93 if (av_node.isValid()) 94 { 95 if (caller != 0) 96 caller->evaluateDependency(*av_node); 97 osg_node = av_node->getOsgNode(); 98 } 99 else 100 break; 101 } 102 else 103 break; 104 } 105 106 ::osg::Matrix abs_mat; 107 ::osg::MatrixList abs_mat_list = getOsgNode()->getWorldMatrices(osg_node); 108 if (abs_mat_list.size() > 0u) 109 abs_mat = abs_mat_list[0]; 110 111 return abs_mat; 112 } 113 114 115 ::osg::Matrix 116 av::osg::Node::getAbsoluteTransformHaltAtNode(av::FieldContainer* caller, av::osg::Node * haltTraversalAtNode) const 81 117 { 82 118 ::osg::Node *osg_node = getOsgNode(); … … 117 153 } 118 154 155 119 156 /* virtual */ void 120 157 av::osg::Node::getParentsCB(const av::osg::MFGroup::GetValueEvent& event)
Note: See TracChangeset
for help on using the changeset viewer.
