236 lines
11 KiB
HTML
236 lines
11 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>class SG_EXPORT osg::Object</TITLE>
|
|
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffff">
|
|
|
|
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::Object</A></H2></H2><BLOCKQUOTE>Base class/standard interface for objects which require IO support, cloning and reference counting.</BLOCKQUOTE>
|
|
<HR>
|
|
|
|
<H2>Inheritance:</H2>
|
|
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=305>
|
|
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CStateSet,MStateSet.html,CStateAttribute,MStateAttribute.html,CPrimitive,MPrimitive.html,CMatrix,MMatrix.html,CImage,MImage.html,CDrawable,MDrawable.html,CConvexPlanarOccluder,MConvexPlanarOccluder.html,CArray,MArray.html">
|
|
<param name=before value="M,M,M|_,MR_,MR_,MR_,MR_,MR_,MR_,Mr_">
|
|
<param name=after value="Md_,M,M,M,M,M,M,M,M,M">
|
|
<param name=indent value="0,1,1,1,1,1,1,1,1,1">
|
|
<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>inline <B><A HREF="#DOC.2.90.1">Object</A></B>()
|
|
<DD><I>Construct an object.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.90.2">Object</A></B>(const <!1><A HREF="Object.html#DOC.2.90.2">Object</A>&, const <!1><A HREF="CopyOp.html">CopyOp</A>& copyop=CopyOp::SHALLOW_COPY)
|
|
<DD><I>Copy constructor, optional CopyOp object can be used to control shallow vs deep copying of dynamic data</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.90.3">cloneType</A></B>() const = 0
|
|
<DD><I>Clone the type of an object, with Object* return type.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.90.4">clone</A></B>(const <!1><A HREF="CopyOp.html">CopyOp</A>&) const = 0
|
|
<DD><I>Clone the an object, with Object* return type.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.90.5">isSameKindAs</A></B>(const <!1><A HREF="Object.html">Object</A>*) const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const char* <B><A HREF="#DOC.2.90.6">libraryName</A></B>() const = 0
|
|
<DD><I>return the name of the object's library.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const char* <B><A HREF="#DOC.2.90.7">className</A></B>() const = 0
|
|
<DD><I>return the name of the object's class type.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.90.9">setDataVariance</A></B>(const <!1><A HREF="Object.html#DOC.2.90.8">DataVariance</A> dv)
|
|
<DD><I>Set the data variance of this object.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Object.html#DOC.2.90.8">DataVariance</A> <B><A HREF="#DOC.2.90.10">getDataVariance</A></B>() const
|
|
<DD><I>Get the data variance of this object</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.90.11">setUserData</A></B>(<!1><A HREF="Referenced.html">Referenced</A>* obj)
|
|
<DD><I> Set user data, data must be subclased from Referenced to allow automatic memory handling.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Referenced.html">Referenced</A>* <B><A HREF="#DOC.2.90.12">getUserData</A></B>()
|
|
<DD><I>Get user data</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Referenced.html">Referenced</A>* <B><A HREF="#DOC.2.90.13">getUserData</A></B>() const
|
|
<DD><I>Get const user data</I>
|
|
</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.90.8">DataVariance</A></B>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Fields</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Object.html#DOC.2.90.8">DataVariance</A> <B><A HREF="#DOC.2.90.15">_dataVariance</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="Referenced.html">Referenced</A>> <B><A HREF="#DOC.2.90.16">_userData</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.90.14">~Object</A></B>()
|
|
<DD><I>Object destructor.</I>
|
|
</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>inline void <B>ref</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline void <B>unref_nodelete</B>() const
|
|
<DT>
|
|
<IMG ALT="o" SRC=icon2.gif>inline const int <B>referenceCount</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>Base class/standard interface for objects which require IO support,
|
|
cloning and reference counting.
|
|
Based on GOF Composite, Prototype and Template Method patterns.</BLOCKQUOTE>
|
|
<DL>
|
|
|
|
<A NAME="Object"></A>
|
|
<A NAME="DOC.2.90.1"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline Object()</B></TT>
|
|
<DD>Construct an object. Note Object is a pure virtual base class
|
|
and therefore cannot be constructed on its own, only derived
|
|
classes which override the clone and className methods are
|
|
concrete classes and can be constructed.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="Object"></A>
|
|
<A NAME="DOC.2.90.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Object(const <!1><A HREF="Object.html#DOC.2.90.2">Object</A>&, const <!1><A HREF="CopyOp.html">CopyOp</A>& copyop=CopyOp::SHALLOW_COPY)</B></TT>
|
|
<DD>Copy constructor, optional CopyOp object can be used to control
|
|
shallow vs deep copying of dynamic data
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="cloneType"></A>
|
|
<A NAME="DOC.2.90.3"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="Object.html">Object</A>* cloneType() const = 0</B></TT>
|
|
<DD>Clone the type of an object, with Object* return type.
|
|
Must be defined by derived classes.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="clone"></A>
|
|
<A NAME="DOC.2.90.4"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual <!1><A HREF="Object.html">Object</A>* clone(const <!1><A HREF="CopyOp.html">CopyOp</A>&) const = 0</B></TT>
|
|
<DD>Clone the an object, with Object* return type.
|
|
Must be defined by derived classes.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="isSameKindAs"></A>
|
|
<A NAME="DOC.2.90.5"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool isSameKindAs(const <!1><A HREF="Object.html">Object</A>*) const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="libraryName"></A>
|
|
<A NAME="DOC.2.90.6"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const char* libraryName() const = 0</B></TT>
|
|
<DD>return the name of the object's library. Must be defined
|
|
by derived classes. The OpenSceneGraph convention the is
|
|
that the namspace of a library is the same as the library name.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="className"></A>
|
|
<A NAME="DOC.2.90.7"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const char* className() const = 0</B></TT>
|
|
<DD>return the name of the object's class type. Must be defined
|
|
by derived classes.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="DataVariance"></A>
|
|
<A NAME="DOC.2.90.8"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum DataVariance</B></TT>
|
|
<DL><DT><DD></DL><P><DL>
|
|
|
|
<A NAME="DYNAMIC"></A>
|
|
<A NAME="DOC.2.90.8.1"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DYNAMIC</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="STATIC"></A>
|
|
<A NAME="DOC.2.90.8.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STATIC</B></TT>
|
|
<DL><DT><DD></DL><P></DL>
|
|
|
|
<A NAME="setDataVariance"></A>
|
|
<A NAME="DOC.2.90.9"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setDataVariance(const <!1><A HREF="Object.html#DOC.2.90.8">DataVariance</A> dv)</B></TT>
|
|
<DD>Set the data variance of this object.
|
|
Can be set to either STATIC for values that do not change over the lifetime of the object,
|
|
or DYNAMIC for values that vary over the lifetime of the object. The DataVariance value
|
|
can be used be routines such as optimzation codes that wish to share static data.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getDataVariance"></A>
|
|
<A NAME="DOC.2.90.10"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Object.html#DOC.2.90.8">DataVariance</A> getDataVariance() const </B></TT>
|
|
<DD>Get the data variance of this object
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="setUserData"></A>
|
|
<A NAME="DOC.2.90.11"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setUserData(<!1><A HREF="Referenced.html">Referenced</A>* obj)</B></TT>
|
|
<DD>
|
|
Set user data, data must be subclased from Referenced to allow
|
|
automatic memory handling. If you own data isn't directly
|
|
subclassed from Referenced then create and adapter object
|
|
which points to your own objects and handles the memory addressing.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getUserData"></A>
|
|
<A NAME="DOC.2.90.12"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Referenced.html">Referenced</A>* getUserData()</B></TT>
|
|
<DD>Get user data
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="getUserData"></A>
|
|
<A NAME="DOC.2.90.13"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Referenced.html">Referenced</A>* getUserData() const </B></TT>
|
|
<DD>Get const user data
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="~Object"></A>
|
|
<A NAME="DOC.2.90.14"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~Object()</B></TT>
|
|
<DD>Object destructor. Note, is protected so that Objects cannot
|
|
be deleted other than by being dereferenced and the reference
|
|
count being zero (see osg::Referenced), preventing the deletion
|
|
of nodes which are still in use. This also means that
|
|
Node's cannot be created on stack i.e Node node will not compile,
|
|
forcing all nodes to be created on the heap i.e Node* node
|
|
= new Node().
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_dataVariance"></A>
|
|
<A NAME="DOC.2.90.15"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Object.html#DOC.2.90.8">DataVariance</A> _dataVariance</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_userData"></A>
|
|
<A NAME="DOC.2.90.16"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A><<!1><A HREF="Referenced.html">Referenced</A>> _userData</B></TT>
|
|
<DL><DT><DD></DL><P></DL>
|
|
<HR>
|
|
<DL><DT><B>Direct child classes:
|
|
</B><DD><A HREF="StateSet.html">StateSet</A><BR>
|
|
<A HREF="StateAttribute.html">StateAttribute</A><BR>
|
|
<A HREF="Primitive.html">Primitive</A><BR>
|
|
<A HREF="Matrix.html">Matrix</A><BR>
|
|
<A HREF="Image.html">Image</A><BR>
|
|
<A HREF="Drawable.html">Drawable</A><BR>
|
|
<A HREF="ConvexPlanarOccluder.html">ConvexPlanarOccluder</A><BR>
|
|
<A HREF="Array.html">Array</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>
|