Gizmo3D

gzAttach.h

Go to the documentation of this file.
00001 //*****************************************************************************
00002 // File         : gzAttach.h
00003 // Module       : 
00004 // Description  : Class definition of the gzAttach class
00005 // Author       : Anders Modén      
00006 // Product      : Gizmo3D 2.1.1
00007 //      
00008 // Copyright © 2003- Saab Training Systems AB, Sweden
00009 //          
00010 // NOTE:    Gizmo3D is a high performance 3D Scene Graph and effect visualisation 
00011 //          C++ toolkit for Linux, Mac OS X, Windows (Win32) and IRIX® for  
00012 //          usage in Game or VisSim development.
00013 //
00014 //
00015 // Revision History...                          
00016 //                                  
00017 // Who  Date    Description                     
00018 //                                  
00019 // AMO  981122  Created file    
00020 //
00021 //******************************************************************************
00022 #ifndef __GZ_ATTACH_H__
00023 #define __GZ_ATTACH_H__
00024 
00030 #include "gzGroup.h"
00031 #include "gzLod.h"
00032 
00033 class gzAttach; // Forward declaration
00034 
00035 class gzAttachIdChangeAction : public gzNodeActionInterface
00036 {
00037 public:
00038     GZ_DECLARE_TYPE_INTERFACE_EXPORT(GZ_GRAPH_EXPORT);  // typed interface
00039 
00040     GZ_GRAPH_EXPORT gzAttachIdChangeAction(gzAttach *owner);
00041 
00042     GZ_GRAPH_EXPORT virtual ~gzAttachIdChangeAction(){};
00043 
00044     GZ_GRAPH_EXPORT virtual gzVoid onAction(gzNodeActionEvent action , gzContext *context , gzNodeActionProvider *trigger ,gzTraverseAction *actionclass ,gzVoid *userdata);
00045 
00046 private:
00047 
00048     gzAttach *  m_owner;
00049 };
00050 
00051 
00052 //******************************************************************************
00053 // Class    : gzAttach
00054 //                                  
00055 // Purpose  : -
00056 //                                  
00057 // Notes    : - 
00058 //                                  
00059 // Revision History...                          
00060 //                                  
00061 // Who  Date    Description                     
00062 //                                  
00063 // AMO  020919  Created 
00064 //                                  
00065 //******************************************************************************
00066 class gzAttach : public gzGroup
00067 {
00068 public:
00069 
00070     GZ_GRAPH_EXPORT gzAttach(const gzString & name=GZ_EMPTY_STRING);
00071 
00072     GZ_GRAPH_EXPORT virtual ~gzAttach();
00073 
00074     GZ_DECLARE_TYPE_INTERFACE_EXPORT(GZ_GRAPH_EXPORT);  // typed interface
00075 
00076 
00077     // ---------- Clone interface ---------------------------------------
00078     GZ_GRAPH_EXPORT virtual gzReference* clone() const;
00079 
00080     // ---------- shotdown some group traversals etc.. ------------------
00081 
00082     GZ_GRAPH_EXPORT virtual gzVoid preTraverseAction( gzTraverseAction *actionclass , gzContext *context);
00083 
00084     GZ_GRAPH_EXPORT gzBool  isTraversable( gzTraverseAction *action , gzNode *node , gzULong index , gzContext *context );
00085 
00086     GZ_GRAPH_EXPORT gzVoid  updateNodeData(gzBool force=FALSE);
00087 
00088     GZ_GRAPH_EXPORT gzVoid  updateNode();
00089 
00090     GZ_GRAPH_EXPORT gzVoid  debugOutputTraverse(gzString base , gzString anchor , gzDebugFlags features);
00091 
00092     GZ_GRAPH_EXPORT virtual gzVoid debugOutput(gzString base , gzString anchor , gzDebugFlags features);
00093 
00094     // ---------- attach interface --------------------------------------
00095 
00096     GZ_GRAPH_EXPORT gzVoid  setAttachID(gzULong id);
00097 
00098     GZ_GRAPH_EXPORT gzVoid  attachGroup();
00099 
00100     GZ_GRAPH_EXPORT gzVoid  detachGroup();
00101     
00102 private:
00103 
00104     gzULong                                 m_currentAttachID;
00105 
00106     gzRefPointer<gzGroup>                   m_currentGroup;
00107 
00108     gzRefPointer<gzLodForceAction>          m_lodForceAction;
00109 
00110     gzRefPointer<gzAttachIdChangeAction>    m_idChangeAction;
00111 
00112 };
00113 
00114 #endif

Documentation for Gizmo3D generated at Wed Feb 20 11:54:02 2008 by   Saab Training Systems AB, ¸ (c) 2003-and beyond