Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osg::FCPtr< BasePtrTypeT, FieldContainerTypeT > Class Template Reference
[Field Container]

#include <OSGFieldContainerPtrImpl.h>

List of all members.

Public Types

typedef FieldContainerTypeT StoredObjectType
typedef FCPtr ObjectType
typedef BasePtrTypeT Inherited
typedef FCPtr< BasePtrTypeT,
FieldContainerTypeT > 
Self

Public Member Functions

 OSG_PROPERTY_REQUIREMENT (BasePtrTypeT, Pointer)
Constructors
FCPtr (void)
 FCPtr (const NullFieldContainerPtr &)
 FCPtr (const FCPtr &source)
Destructor
~FCPtr (void)
Container Access
*FieldContainerTypeT * operator-> (void)
FieldContainerTypeT * operator-> (void) const
FieldContainerTypeT & operator * (void)
FieldContainerTypeT & operator * (void) const
FieldContainerTypeT * getCPtr (void)
FieldContainerTypeT * getCPtr (void) const
Assignment
*void operator= (const FCPtr &source)
void operator= (const NullFieldContainerPtr &)
Container Constructors
FCPtr (const FieldContainerTypeT &source)
 Container Constructor, used to work around MS Bugs, use them only if you really now what you are doing ;-).
 FCPtr (const FieldContainerTypeT *source)
 Container Constructor, used to work around MS Bugs, use them only if you really now what you are doing ;-).

Static Public Member Functions

dcast
template<class InTypeT>
*static FCPtr dcast (const InTypeT oIn)

Protected Member Functions

Internal Constructors
FCPtr (const FieldContainerTypeT *source, const UInt16 uiSize, const UInt16 uiParentPos)

Friends

class FieldContainer


Detailed Description

template<class BasePtrTypeT, class FieldContainerTypeT>
class osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >

Template to construct custom field container pointers

Definition at line 563 of file OSGFieldContainerPtrImpl.h.


Member Typedef Documentation

template<class BasePtrTypeT, class FieldContainerTypeT>
typedef FieldContainerTypeT osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::StoredObjectType
 

Definition at line 571 of file OSGFieldContainerPtrImpl.h.

template<class BasePtrTypeT, class FieldContainerTypeT>
typedef FCPtr osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::ObjectType
 

Definition at line 572 of file OSGFieldContainerPtrImpl.h.

template<class BasePtrTypeT, class FieldContainerTypeT>
typedef BasePtrTypeT osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::Inherited
 

Definition at line 574 of file OSGFieldContainerPtrImpl.h.

template<class BasePtrTypeT, class FieldContainerTypeT>
typedef FCPtr<BasePtrTypeT, FieldContainerTypeT> osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::Self
 

Definition at line 577 of file OSGFieldContainerPtrImpl.h.


Constructor & Destructor Documentation

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::FCPtr void   )  [inline]
 

Definition at line 793 of file OSGFieldContainerPtrImpl.inl.

00793                                                     :
00794     Inherited()
00795 {
00796 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::FCPtr const NullFieldContainerPtr  )  [inline]
 

Definition at line 806 of file OSGFieldContainerPtrImpl.inl.

00806                                                                :
00807 
00808     Inherited()
00809 {
00810 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::FCPtr const FCPtr< BasePtrTypeT, FieldContainerTypeT > &  source  )  [inline]
 

Definition at line 799 of file OSGFieldContainerPtrImpl.inl.

00799                                                                   :
00800     Inherited(source)
00801 {
00802 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::~FCPtr void   )  [inline]
 

Definition at line 816 of file OSGFieldContainerPtrImpl.inl.

00817 {
00818 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::FCPtr const FieldContainerTypeT &  source  )  [inline, explicit]
 

Definition at line 913 of file OSGFieldContainerPtrImpl.inl.

00913                                                                    :
00914 
00915     Inherited(source)
00916 {
00917 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::FCPtr const FieldContainerTypeT *  source  )  [inline, explicit]
 

Definition at line 921 of file OSGFieldContainerPtrImpl.inl.

00921                                                                    :
00922 
00923     Inherited(source)
00924 {
00925 }

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::FCPtr const FieldContainerTypeT *  source,
const UInt16  uiSize,
const UInt16  uiParentPos
[inline, protected]
 

Definition at line 929 of file OSGFieldContainerPtrImpl.inl.

00931                                                                            :
00932 
00933     Inherited(source, uiSize, uiParentEPos)
00934 {
00935 }


Member Function Documentation

template<class BasePtrTypeT, class FieldContainerTypeT>
osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::OSG_PROPERTY_REQUIREMENT BasePtrTypeT  ,
Pointer 
 

template<class BasePtrTypeT, class FieldContainerTypeT>
template<class InTypeT>
* static FCPtr osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::dcast const InTypeT  oIn  )  [inline, static]
 

Definition at line 584 of file OSGFieldContainerPtrImpl.h.

Referenced by osg::VRMLWriteAction::addNodeUse(), osg::VRMLFile::findFCByName(), and osg::OSGWriter::FCInfoHelper::setName().

00585     {
00586         return FCPtr(
00587             (dynamic_cast<const typename FCPtr::StoredObjectType *>(
00588                 oIn.getCPtr())),
00589             oIn.getContainerSize(),
00590             oIn.getParentFieldPos());
00591     }

template<class BasePtrTypeT, class FieldContainerTypeT>
FieldContainerTypeT * osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::operator-> void   )  [inline]
 

Definition at line 825 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

00826 {
00827 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
00828     return (FieldContainerTypeT *) Self::getElemP(Thread::getAspect());
00829 #else
00830     return (FieldContainerTypeT *) Self::getFirstElemP();
00831 #endif
00832 }

template<class BasePtrTypeT, class FieldContainerTypeT>
FieldContainerTypeT * osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::operator-> void   )  const [inline]
 

Definition at line 836 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

00837 {
00838 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
00839     return (FieldContainerTypeT *) Self::getElemP(Thread::getAspect());
00840 #else
00841     return (FieldContainerTypeT *) Self::getFirstElemP();
00842 #endif
00843 }

template<class BasePtrTypeT, class FieldContainerTypeT>
FieldContainerTypeT & osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::operator * void   )  [inline]
 

Definition at line 847 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

00848 {
00849 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
00850     return *((FieldContainerTypeT *) Self::getElemP(Thread::getAspect()));
00851 #else
00852     return *((FieldContainerTypeT *) Self::getFirstElemP());
00853 #endif
00854 }

template<class BasePtrTypeT, class FieldContainerTypeT>
FieldContainerTypeT & osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::operator * void   )  const [inline]
 

Definition at line 858 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

00859 {
00860 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
00861     return *((FieldContainerTypeT *) Self::getElemP(Thread::getAspect()));
00862 #else
00863     return *((FieldContainerTypeT *) Self::getFirstElemP());
00864 #endif
00865 }

template<class BasePtrTypeT, class FieldContainerTypeT>
FieldContainerTypeT * osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::getCPtr void   )  [inline]
 

Definition at line 869 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

00871 {
00872 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
00873     return (FieldContainerTypeT *) Self::getElemP(Thread::getAspect());
00874 #else
00875     return (FieldContainerTypeT *) Self::getFirstElemP();
00876 #endif
00877 }

template<class BasePtrTypeT, class FieldContainerTypeT>
FieldContainerTypeT * osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::getCPtr void   )  const [inline]
 

Definition at line 881 of file OSGFieldContainerPtrImpl.inl.

References osg::PThreadBase::getAspect().

00882 {
00883 #if !defined(OSG_DEBUG_NO_FCPTR_ARITHM) 
00884     return (FieldContainerTypeT *) Self::getElemP(Thread::getAspect());
00885 #else
00886     return (FieldContainerTypeT *) Self::getFirstElemP();
00887 #endif
00888 }

template<class BasePtrTypeT, class FieldContainerTypeT>
void osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::operator= const FCPtr< BasePtrTypeT, FieldContainerTypeT > &  source  )  [inline]
 

Definition at line 895 of file OSGFieldContainerPtrImpl.inl.

00896 {
00897     // copy parts inherited from parent
00898     *(static_cast<Inherited *>(this)) = source;
00899 }

template<class BasePtrTypeT, class FieldContainerTypeT>
void osg::FCPtr< BasePtrTypeT, FieldContainerTypeT >::operator= const NullFieldContainerPtr  )  [inline]
 

Definition at line 902 of file OSGFieldContainerPtrImpl.inl.

00904 {
00905     Self::setNull();
00906 }


Friends And Related Function Documentation

template<class BasePtrTypeT, class FieldContainerTypeT>
friend class FieldContainer [friend]
 

Definition at line 659 of file OSGFieldContainerPtrImpl.h.


The documentation for this class was generated from the following files:
Generated on Thu Aug 25 04:13:44 2005 for OpenSG by  doxygen 1.4.3