539 lines
28 KiB
HTML
539 lines
28 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>class SG_EXPORT osg::Transform</TITLE>
|
|
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.10">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffff">
|
|
|
|
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::Transform</A></H2></H2><BLOCKQUOTE>A Transform is a group node for which all children are transformed by a 4x4 matrix.</BLOCKQUOTE>
|
|
<HR>
|
|
|
|
<H2>Inheritance:</H2>
|
|
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=245>
|
|
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CNode,MNode.html,CGroup,MGroup.html,CTransform,MTransform.html,CPositionAttitudeTransform,MPositionAttitudeTransform.html,CMatrixTransform,MMatrixTransform.html,CDOFTransform,MDOFTransform.html">
|
|
<param name=before value="M,M,M,M,M,M|_,MR_,Mr_">
|
|
<param name=after value="Md_SPSPSP,Md_SPSP,Md_SP,Md_,M,M,M,M">
|
|
<param name=indent value="0,1,2,3,4,4,4,4">
|
|
<param name=arrowdir value="down">
|
|
</APPLET>
|
|
<HR>
|
|
|
|
<DL>
|
|
<P><DL>
|
|
<DT><H3>Public Methods</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.201.1">Transform</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.201.2">Transform</A></B>(const <!1><A HREF="Transform.html#DOC.2.201.2">Transform</A>&, const <!1><A HREF="CopyOp.html">CopyOp</A>& copyop=CopyOp::SHALLOW_COPY)
|
|
<DD><I>Copy constructor using CopyOp to manage deep vs shallow copy</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.201.3">META_Node</A></B>(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="Transform.html">Transform</A>)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Transform.html">Transform</A>* <B><A HREF="#DOC.2.201.4">asTransform</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const <!1><A HREF="Transform.html">Transform</A>* <B><A HREF="#DOC.2.201.5">asTransform</A></B>() const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="MatrixTransform.html">MatrixTransform</A>* <B><A HREF="#DOC.2.201.6">asMatrixTransform</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const <!1><A HREF="MatrixTransform.html">MatrixTransform</A>* <B><A HREF="#DOC.2.201.7">asMatrixTransform</A></B>() const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="PositionAttitudeTransform.html">PositionAttitudeTransform</A>* <B><A HREF="#DOC.2.201.8">asPositionAttitudeTransform</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const <!1><A HREF="PositionAttitudeTransform.html">PositionAttitudeTransform</A>* <B><A HREF="#DOC.2.201.9">asPositionAttitudeTransform</A></B>() const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="DOFTransform.html">DOFTransform</A>* <B><A HREF="#DOC.2.201.10">asDOFTransform</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const <!1><A HREF="DOFTransform.html">DOFTransform</A>* <B><A HREF="#DOC.2.201.11">asDOFTransform</A></B>() const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.201.13">setReferenceFrame</A></B>(<!1><A HREF="Transform.html#DOC.2.201.12">ReferenceFrame</A> rf)
|
|
<DD><I>Set the transform's ReferenceFrame, either to be relative to its parent reference frame, or relative to an absolute coordinate frame.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Transform.html#DOC.2.201.12">ReferenceFrame</A> <B><A HREF="#DOC.2.201.14">getReferenceFrame</A></B>() const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.201.16">setComputeTransformCallback</A></B>(<!1><A HREF="Transform.html#DOC.2.201.15">ComputeTransformCallback</A>* ctc)
|
|
<DD><I>Set the ComputerTransfromCallback which allows users to attach custom computation of the local transformation as seen by cull traversers and the like.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Transform.html#DOC.2.201.15">ComputeTransformCallback</A>* <B><A HREF="#DOC.2.201.17">getComputeTransformCallback</A></B>()
|
|
<DD><I>Get the non const ComputerTransfromCallback</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="Transform.html#DOC.2.201.15">ComputeTransformCallback</A>* <B><A HREF="#DOC.2.201.18">getComputeTransformCallback</A></B>() const
|
|
<DD><I>Get the const ComputerTransfromCallback</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.201.19">getLocalToWorldMatrix</A></B>(<!1><A HREF="Matrix.html">Matrix</A>& matrix, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>* nv) const
|
|
<DD><I>Get the transformation matrix which moves from local coords to world coords.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline bool <B><A HREF="#DOC.2.201.20">getWorldToLocalMatrix</A></B>(<!1><A HREF="Matrix.html">Matrix</A>& matrix, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>* nv) const
|
|
<DD><I>Get the transformation matrix which moves from world coords to local coords.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.201.21">computeLocalToWorldMatrix</A></B>(<!1><A HREF="Matrix.html">Matrix</A>& matrix, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>*) const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.201.22">computeWorldToLocalMatrix</A></B>(<!1><A HREF="Matrix.html">Matrix</A>& matrix, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>*) const
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Public Members</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.201.12">ReferenceFrame</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>struct <B><A HREF="#DOC.2.201.15">ComputeTransformCallback</A></B>: public virtual <!1><A HREF="Referenced.html">osg::Referenced</A>
|
|
<DD><I>Callback attached to an Transform to specify how to compute the modelview transformation for the transform below the Transform node.</I>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Fields</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="Transform.html#DOC.2.201.15">ComputeTransformCallback</A>> <B><A HREF="#DOC.2.201.25">_computeTransformCallback</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Transform.html#DOC.2.201.12">ReferenceFrame</A> <B><A HREF="#DOC.2.201.26">_referenceFrame</A></B>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Methods</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.201.23">~Transform</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.201.24">computeBound</A></B>() const
|
|
<DD><I>Overrides Group's computeBound.</I>
|
|
</DL></P>
|
|
|
|
</DL>
|
|
<HR><H3>Inherited from <A HREF="Group.html">Group</A>:</H3>
|
|
<DL>
|
|
<P><DL>
|
|
<DT><H3>Public Methods</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Group.html">Group</A>* <B>asGroup</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual const <!1><A HREF="Group.html">Group</A>* <B>asGroup</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual void <B>traverse</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>& nv)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>addChild</B>( <!1><A HREF="Node.html">Node</A>* child )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>removeChild</B>( <!1><A HREF="Node.html">Node</A>* child )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>removeChild</B>(unsigned int pos, unsigned int numChildrenToRemove=1)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>replaceChild</B>( <!1><A HREF="Node.html">Node</A>* origChild, <!1><A HREF="Node.html">Node</A>* newChild )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumChildren</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>setChild</B>( unsigned int i, <!1><A HREF="Node.html">Node</A>* node )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html">Node</A>* <B>getChild</B>( unsigned int i )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Node.html">Node</A>* <B>getChild</B>( unsigned int i ) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline bool <B>containsNode</B>( const <!1><A HREF="Node.html">Node</A>* node ) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getChildIndex</B>( const <!1><A HREF="Node.html">Node</A>* node ) const
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Public Members</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>typedef std::vector<<!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="Node.html">Node</A>> > <B>ChildList</B>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Fields</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Group.html#DOC.2.78.1">ChildList</A> <B>_children</B>
|
|
</DL></P>
|
|
|
|
</DL>
|
|
<HR><H3>Inherited from <A HREF="Node.html">Node</A>:</H3>
|
|
<DL>
|
|
<P><DL>
|
|
<DT><H3>Public Methods</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Object.html">Object</A>* <B>cloneType</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="Object.html">Object</A>* <B>clone</B>(const <!1><A HREF="CopyOp.html">CopyOp</A>& copyop) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual bool <B>isSameKindAs</B>(const <!1><A HREF="Object.html">Object</A>* obj) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual const char* <B>libraryName</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual const char* <B>className</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual void <B>accept</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>& nv)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>virtual void <B>ascend</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>& nv)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>setName</B>( const std::string& <!1><A HREF="Test.html#DOC.164.1.3">name</A> )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>setName</B>( const char* <!1><A HREF="Test.html#DOC.164.1.3">name</A> )
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const std::string& <B>getName</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Node.html#DOC.2.100.18">ParentList</A>& <B>getParents</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html#DOC.2.100.18">ParentList</A> <B>getParents</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Group.html">Group</A>* <B>getParent</B>(unsigned int i)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Group.html">Group</A>* <B>getParent</B>(unsigned int i) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumParents</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>setUpdateCallback</B>(<!1><A HREF="NodeCallback.html">NodeCallback</A>* nc)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="NodeCallback.html">NodeCallback</A>* <B>getUpdateCallback</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="NodeCallback.html">NodeCallback</A>* <B>getUpdateCallback</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>setAppCallback</B>(<!1><A HREF="NodeCallback.html">NodeCallback</A>* nc)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="NodeCallback.html">NodeCallback</A>* <B>getAppCallback</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="NodeCallback.html">NodeCallback</A>* <B>getAppCallback</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumChildrenRequiringUpdateTraversal</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>setCullCallback</B>(<!1><A HREF="NodeCallback.html">NodeCallback</A>* nc)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="NodeCallback.html">NodeCallback</A>* <B>getCullCallback</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="NodeCallback.html">NodeCallback</A>* <B>getCullCallback</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>setCullingActive</B>(bool active)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline bool <B>getCullingActive</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumChildrenWithCullingDisabled</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline bool <B>isCullingActive</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumChildrenWithOccluderNodes</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>bool <B>containsOccluderNodes</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>setNodeMask</B>(<!1><A HREF="Node.html#DOC.2.100.40">NodeMask</A> nm)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html#DOC.2.100.40">NodeMask</A> <B>getNodeMask</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Node.html#DOC.2.100.43">DescriptionList</A>& <B>getDescriptions</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Node.html#DOC.2.100.43">DescriptionList</A>& <B>getDescriptions</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const std::string& <B>getDescription</B>(unsigned int i) const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline std::string& <B>getDescription</B>(unsigned int i)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline unsigned int <B>getNumDescriptions</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>addDescription</B>(const std::string& desc)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>setStateSet</B>(<!1><A HREF="StateSet.html">osg::StateSet</A>* dstate)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="StateSet.html">osg::StateSet</A>* <B>getOrCreateStateSet</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="StateSet.html">osg::StateSet</A>* <B>getStateSet</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="StateSet.html">osg::StateSet</A>* <B>getStateSet</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>& <B>getBound</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>dirtyBound</B>()
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Public Members</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>typedef std::vector<<!1><A HREF="Group.html">Group</A>*> <B>ParentList</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>typedef unsigned int <B>NodeMask</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>typedef std::vector<std::string> <B>DescriptionList</B>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Fields</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>mutable <!1><A HREF="BoundingSphere.html">BoundingSphere</A> <B>_bsphere</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>mutable bool <B>_bsphere_computed</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>std::string <B>_name</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.100.18">ParentList</A> <B>_parents</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="NodeCallback.html">NodeCallback</A>> <B>_updateCallback</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>unsigned int <B>_numChildrenRequiringUpdateTraversal</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="NodeCallback.html">NodeCallback</A>> <B>_cullCallback</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>bool <B>_cullingActive</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>unsigned int <B>_numChildrenWithCullingDisabled</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>unsigned int <B>_numChildrenWithOccluderNodes</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.100.40">NodeMask</A> <B>_nodeMask</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.100.43">DescriptionList</A> <B>_descriptions</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="StateSet.html">StateSet</A>> <B>_stateset</B>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Methods</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>addParent</B>(<!1><A HREF="Group.html">osg::Group</A>* node)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>removeParent</B>(<!1><A HREF="Group.html">osg::Group</A>* node)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>setNumChildrenRequiringUpdateTraversal</B>(unsigned int num)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>setNumChildrenWithCullingDisabled</B>(unsigned int num)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>void <B>setNumChildrenWithOccluderNodes</B>(unsigned int num)
|
|
</DL></P>
|
|
|
|
</DL>
|
|
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
|
|
<DL>
|
|
<P><DL>
|
|
<DT><H3>Public Methods</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>setDataVariance</B>(<!1><A HREF="Object.html#DOC.2.117.8">DataVariance</A> dv)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Object.html#DOC.2.117.8">DataVariance</A> <B>getDataVariance</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>setUserData</B>(<!1><A HREF="Referenced.html">Referenced</A>* obj)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>() const
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Public Members</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>enum <B>DataVariance</B>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Fields</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Object.html#DOC.2.117.8">DataVariance</A> <B>_dataVariance</B>
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="Referenced.html">Referenced</A>> <B>_userData</B>
|
|
</DL></P>
|
|
|
|
</DL>
|
|
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
|
|
<DL>
|
|
<P><DL>
|
|
<DT><H3>Public Methods</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline <!1><A HREF="Referenced.html">Referenced</A>& <B>operator = </B>(<!1><A HREF="Referenced.html">Referenced</A>&)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>static void <B>setDeleteHandler</B>(<!1><A HREF="DeleteHandler.html">DeleteHandler</A>* handler)
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>static <!1><A HREF="DeleteHandler.html">DeleteHandler</A>* <B>getDeleteHandler</B>()
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>ref</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref_nodelete</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline int <B>referenceCount</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref</B>() const
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Fields</H3><DD><DT>
|
|
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
|
|
</DL></P>
|
|
|
|
</DL>
|
|
|
|
<A NAME="DOC.DOCU"></A>
|
|
<HR>
|
|
<H2>Documentation</H2>
|
|
<BLOCKQUOTE>A Transform is a group node for which all children are transformed by
|
|
a 4x4 matrix. It is often used for positioning objects within a scene,
|
|
producing trackball functionality or for animation.
|
|
|
|
<P>Transform itself does not provide set/get functions, only the interface
|
|
for defining what the 4x4 transformation is. Subclasses, such as
|
|
MatrixTransform and PositionAttitudeTransform support the use of an
|
|
osg::Matrix or a osg::Vec3/osg::Quat resprectively.
|
|
The Transform node can be customized via the ComputeTransfromCallback
|
|
which can be attached to the node. This might be used to convert from
|
|
internal representations of the transformation into generic osg::Matrix
|
|
objects which are used during scene grpah traversal, such as
|
|
CullTraversal and IntersectionTraversal.
|
|
|
|
<P>Note: if the transformation matrix scales the subgraph then the normals
|
|
of the underlying geometry will need to be renormalized to be unit
|
|
vectors once more. This can be done transparently through OpenGL's
|
|
use of either GL_NORMALIZE and GL_SCALE_NORMALIZE modes. For further
|
|
background reading see the glNormalize documentation in the OpenGL
|
|
Reference Guide (the blue book). To enable it in the OSG, you simply
|
|
need to attach a local osg::StateSet to the osg::Transform, and set
|
|
the appropriate mode to ON via
|
|
stateset->setMode(GL_NORMALIZE, osg::StateAttribute::ON);</BLOCKQUOTE>
|
|
<DL>
|
|
|
|
<A NAME="Transform"></A>
|
|
<A NAME="DOC.2.201.1"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Transform()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="Transform"></A>
|
|
<A NAME="DOC.2.201.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Transform(const <!1><A HREF="Transform.html#DOC.2.201.2">Transform</A>&, const <!1><A HREF="CopyOp.html">CopyOp</A>& copyop=CopyOp::SHALLOW_COPY)</B></TT>
|
|
<DD>Copy constructor using CopyOp to manage deep vs shallow copy
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="META_Node"></A>
|
|
<A NAME="DOC.2.201.3"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> META_Node(<!1><A HREF="osg.html">osg</A>, <!1><A HREF="Transform.html">Transform</A>)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="asTransform"></A>
|
|
<A NAME="DOC.2.201.4"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="Transform.html">Transform</A>* asTransform()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="asTransform"></A>
|
|
<A NAME="DOC.2.201.5"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const <!1><A HREF="Transform.html">Transform</A>* asTransform() const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="asMatrixTransform"></A>
|
|
<A NAME="DOC.2.201.6"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="MatrixTransform.html">MatrixTransform</A>* asMatrixTransform()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="asMatrixTransform"></A>
|
|
<A NAME="DOC.2.201.7"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const <!1><A HREF="MatrixTransform.html">MatrixTransform</A>* asMatrixTransform() const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="asPositionAttitudeTransform"></A>
|
|
<A NAME="DOC.2.201.8"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="PositionAttitudeTransform.html">PositionAttitudeTransform</A>* asPositionAttitudeTransform()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="asPositionAttitudeTransform"></A>
|
|
<A NAME="DOC.2.201.9"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const <!1><A HREF="PositionAttitudeTransform.html">PositionAttitudeTransform</A>* asPositionAttitudeTransform() const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="asDOFTransform"></A>
|
|
<A NAME="DOC.2.201.10"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="DOFTransform.html">DOFTransform</A>* asDOFTransform()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="asDOFTransform"></A>
|
|
<A NAME="DOC.2.201.11"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const <!1><A HREF="DOFTransform.html">DOFTransform</A>* asDOFTransform() const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="ReferenceFrame"></A>
|
|
<A NAME="DOC.2.201.12"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum ReferenceFrame</B></TT>
|
|
<DL><DT><DD></DL><P><DL>
|
|
|
|
<A NAME="RELATIVE_TO_PARENTS"></A>
|
|
<A NAME="DOC.2.201.12.1"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RELATIVE_TO_PARENTS</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="RELATIVE_TO_ABSOLUTE"></A>
|
|
<A NAME="DOC.2.201.12.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RELATIVE_TO_ABSOLUTE</B></TT>
|
|
<DL><DT><DD></DL><P></DL>
|
|
|
|
<A NAME="setReferenceFrame"></A>
|
|
<A NAME="DOC.2.201.13"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setReferenceFrame(<!1><A HREF="Transform.html#DOC.2.201.12">ReferenceFrame</A> rf)</B></TT>
|
|
<DD>Set the transform's ReferenceFrame, either to be relative to its
|
|
parent reference frame, or relative to an absolute coordinate
|
|
frame. RELATIVE_TO_PARENTS is the default.
|
|
Note: setting the ReferenceFrame to be RELATIVE_TO_ABSOLUTE will
|
|
also set the CullingActive flag on the transform, and hence all
|
|
of its parents, to false, thereby disabling culling of it and
|
|
all its parents. This is neccessary to prevent inappropriate
|
|
culling, but may impact cull times if the absolute transform is
|
|
deep in the scene graph. It is therefore recommend to only use
|
|
absolute Transforms at the top of the scene, for such things as
|
|
heads up displays.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getReferenceFrame"></A>
|
|
<A NAME="DOC.2.201.14"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Transform.html#DOC.2.201.12">ReferenceFrame</A> getReferenceFrame() const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="ComputeTransformCallback"></A>
|
|
<A NAME="DOC.2.201.15"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>struct ComputeTransformCallback: public virtual <!1><A HREF="Referenced.html">osg::Referenced</A></B></TT>
|
|
<DD>Callback attached to an Transform to specify how to compute the
|
|
modelview transformation for the transform below the Transform
|
|
node.
|
|
<DL><DT><DD></DL><P><DL>
|
|
|
|
<A NAME="computeLocalToWorldMatrix"></A>
|
|
<A NAME="DOC.2.201.15.1"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool computeLocalToWorldMatrix(<!1><A HREF="Matrix.html">Matrix</A>& matrix, const <!1><A HREF="Transform.html">Transform</A>* <!1><A HREF="Polytope.html#DOC.2.125.36">transform</A>, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>* nv) const = 0</B></TT>
|
|
<DD>Get the transformation matrix which moves from local coords
|
|
to world coords
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="computeWorldToLocalMatrix"></A>
|
|
<A NAME="DOC.2.201.15.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool computeWorldToLocalMatrix(<!1><A HREF="Matrix.html">Matrix</A>& matrix, const <!1><A HREF="Transform.html">Transform</A>* <!1><A HREF="Polytope.html#DOC.2.125.36">transform</A>, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>* nv) const = 0</B></TT>
|
|
<DD>Get the transformation matrix which moves from world coords
|
|
to local coords
|
|
<DL><DT><DD></DL><P></DL>
|
|
|
|
<A NAME="setComputeTransformCallback"></A>
|
|
<A NAME="DOC.2.201.16"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setComputeTransformCallback(<!1><A HREF="Transform.html#DOC.2.201.15">ComputeTransformCallback</A>* ctc)</B></TT>
|
|
<DD>Set the ComputerTransfromCallback which allows users to attach
|
|
custom computation of the local transformation as seen by cull
|
|
traversers and the like.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getComputeTransformCallback"></A>
|
|
<A NAME="DOC.2.201.17"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Transform.html#DOC.2.201.15">ComputeTransformCallback</A>* getComputeTransformCallback()</B></TT>
|
|
<DD>Get the non const ComputerTransfromCallback
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getComputeTransformCallback"></A>
|
|
<A NAME="DOC.2.201.18"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Transform.html#DOC.2.201.15">ComputeTransformCallback</A>* getComputeTransformCallback() const </B></TT>
|
|
<DD>Get the const ComputerTransfromCallback
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getLocalToWorldMatrix"></A>
|
|
<A NAME="DOC.2.201.19"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool getLocalToWorldMatrix(<!1><A HREF="Matrix.html">Matrix</A>& matrix, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>* nv) const </B></TT>
|
|
<DD>Get the transformation matrix which moves from local coords to
|
|
world coords.
|
|
Returns true if the Matrix passed in has been updated.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getWorldToLocalMatrix"></A>
|
|
<A NAME="DOC.2.201.20"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline bool getWorldToLocalMatrix(<!1><A HREF="Matrix.html">Matrix</A>& matrix, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>* nv) const </B></TT>
|
|
<DD>Get the transformation matrix which moves from world coords to
|
|
local coords.
|
|
Return true if the Matrix passed in has been updated.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="computeLocalToWorldMatrix"></A>
|
|
<A NAME="DOC.2.201.21"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool computeLocalToWorldMatrix(<!1><A HREF="Matrix.html">Matrix</A>& matrix, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>*) const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="computeWorldToLocalMatrix"></A>
|
|
<A NAME="DOC.2.201.22"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool computeWorldToLocalMatrix(<!1><A HREF="Matrix.html">Matrix</A>& matrix, <!1><A HREF="NodeVisitor.html">NodeVisitor</A>*) const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="~Transform"></A>
|
|
<A NAME="DOC.2.201.23"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~Transform()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="computeBound"></A>
|
|
<A NAME="DOC.2.201.24"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool computeBound() const </B></TT>
|
|
<DD>Overrides Group's computeBound.
|
|
There is no need to override in subclasses from osg::Transform
|
|
since this computeBound() uses the underlying matrix (calling
|
|
computeMatrix if required.)
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_computeTransformCallback"></A>
|
|
<A NAME="DOC.2.201.25"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="Transform.html#DOC.2.201.15">ComputeTransformCallback</A>> _computeTransformCallback</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_referenceFrame"></A>
|
|
<A NAME="DOC.2.201.26"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Transform.html#DOC.2.201.12">ReferenceFrame</A> _referenceFrame</B></TT>
|
|
<DL><DT><DD></DL><P></DL>
|
|
<HR>
|
|
<DL><DT><B>Direct child classes:
|
|
</B><DD><A HREF="PositionAttitudeTransform.html">PositionAttitudeTransform</A><BR>
|
|
<A HREF="MatrixTransform.html">MatrixTransform</A><BR>
|
|
<A HREF="DOFTransform.html">DOFTransform</A><BR>
|
|
</DL>
|
|
|
|
<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
|
|
<BR>
|
|
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
|
|
</BODY>
|
|
</HTML>
|