189 lines
8.3 KiB
HTML
189 lines
8.3 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=215>
|
|
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CStateSet,MStateSet.html,CStateAttribute,MStateAttribute.html,CMatrix,MMatrix.html,CImage,MImage.html,CDrawable,MDrawable.html">
|
|
<param name=before value="M,M,M|_,MR_,MR_,MR_,Mr_">
|
|
<param name=after value="Md_,M,M,M,M,M,M">
|
|
<param name=indent value="0,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.74.1">Object</A></B>()
|
|
<DD><I>Construct an object.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.74.2">Object</A></B>(const <!1><A HREF="Object.html#DOC.2.74.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.74.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.74.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.74.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.74.6">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.74.8">setDataVariance</A></B>(const <!1><A HREF="Object.html#DOC.2.74.7">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.74.7">DataVariance</A> <B><A HREF="#DOC.2.74.9">getDataVariance</A></B>() const
|
|
<DD><I>Get the data variance of this object</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.74.7">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.74.7">DataVariance</A> <B><A HREF="#DOC.2.74.11">_dataVariance</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.74.10">~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.74.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.74.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Object(const <!1><A HREF="Object.html#DOC.2.74.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.74.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.74.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.74.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="className"></A>
|
|
<A NAME="DOC.2.74.6"></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.74.7"></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.74.7.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.74.7.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.74.8"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void setDataVariance(const <!1><A HREF="Object.html#DOC.2.74.7">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.74.9"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Object.html#DOC.2.74.7">DataVariance</A> getDataVariance() const </B></TT>
|
|
<DD>Get the data variance of this object
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="~Object"></A>
|
|
<A NAME="DOC.2.74.10"></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.74.11"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Object.html#DOC.2.74.7">DataVariance</A> _dataVariance</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="Matrix.html">Matrix</A><BR>
|
|
<A HREF="Image.html">Image</A><BR>
|
|
<A HREF="Drawable.html">Drawable</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>
|