Show
Ignore:
Timestamp:
01/16/08 16:07:40 (1 year ago)
Author:
cneumann
Message:

changed: - factory functions return a TransitPtr? that can not be implicitly

converted to C Ptr. Should help with porting.

added: - GlobalRefPtr?, needed for cases where upon return from main

a RefPtr? goes out of scope (it would attempt to access the
FCFactory which is already shutdown at that point).

status: - vrml loader does not compile (needs porting to ref ptr)

  • tutorials compile, run and exit cleanly
  • multithreading and cluster are untested, yet
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork2/Source/System/FieldContainer/Node/OSGNode.h

    r1036 r1039  
    8585    OSG_GEN_INTERNALPTR(Node); 
    8686 
    87     typedef WeakRefCountPtrBuilder<Node>::Ptr ObjWeakRefPtr; 
    88     typedef MTRefCountPtrBuilder  <Node>::Ptr ObjMTRefPtr; 
    89     typedef RefCountPtrBuilder    <Node>::Ptr ObjRefPtr; 
    90     typedef ParentPtrBuilder      <Node>::Ptr ObjParentPtr; 
     87    typedef WeakRefCountPtrBuilder    <Node>::Ptr ObjWeakRefPtr; 
     88    typedef MTRefCountPtrBuilder      <Node>::Ptr ObjMTRefPtr; 
     89    typedef GlobalMTRefCountPtrBuilder<Node>::Ptr ObjGlobalMTRefPtr; 
     90    typedef RefCountPtrBuilder        <Node>::Ptr ObjRefPtr; 
     91    typedef GlobalRefCountPtrBuilder  <Node>::Ptr ObjGlobalRefPtr; 
     92    typedef ParentPtrBuilder          <Node>::Ptr ObjParentPtr; 
     93    typedef TransitPtrBuilder         <Node>::Ptr ObjTransitPtr; 
    9194     
    9295    typedef Inherited::TypeObject                  TypeObject; 
     
    427430}; 
    428431 
    429 typedef Node::ObjRefPtr     NodeRefPtr; 
    430 typedef Node::ObjMTRefPtr   NodeMTRefPtr; 
    431 typedef Node::ObjWeakRefPtr NodeWeakRefPtr; 
    432 typedef Node::ObjParentPtr  NodeParentPtr; 
     432typedef Node::ObjRefPtr         NodeRefPtr; 
     433typedef Node::ObjGlobalRefPtr   NodeGlobalRefPtr; 
     434typedef Node::ObjMTRefPtr       NodeMTRefPtr; 
     435typedef Node::ObjGlobalMTRefPtr NodeGlobalMTRefPtr; 
     436typedef Node::ObjWeakRefPtr     NodeWeakRefPtr; 
     437typedef Node::ObjParentPtr      NodeParentPtr; 
     438typedef Node::ObjTransitPtr     NodeTransitPtr; 
    433439 
    434440OSG_SYSTEM_DLLMAPPING 
     
    540546 
    541547template <class CoreT> inline 
    542 NodeRefPtr makeCoredNode(typename CoreT::ObjPtr      *coreP = NULL); 
     548NodeTransitPtr makeCoredNode(typename CoreT::ObjPtr            *coreP = NULL); 
    543549 
    544550template <class CoreT> inline 
    545 NodeRefPtr makeCoredNode(typename CoreT::ObjRefPtr   *coreP       ); 
     551NodeTransitPtr makeCoredNode(typename CoreT::ObjRefPtr         *coreP       ); 
    546552 
    547553template <class CoreT> inline 
    548 NodeRefPtr makeCoredNode(typename CoreT::ObjMTRefPtr *coreP       ); 
     554NodeTransitPtr makeCoredNode(typename CoreT::ObjGlobalRefPtr   *coreP       ); 
     555 
     556template <class CoreT> inline 
     557NodeTransitPtr makeCoredNode(typename CoreT::ObjMTRefPtr       *coreP       ); 
     558 
     559template <class CoreT> inline 
     560NodeTransitPtr makeCoredNode(typename CoreT::ObjGlobalMTRefPtr *coreP       ); 
    549561 
    550562template <class CorePtrT> inline 
    551 NodeRefPtr makeNodeFor(CorePtrT core); 
     563NodeTransitPtr makeNodeFor(CorePtrT core); 
    552564 
    553565OSG_END_NAMESPACE