Gizmo3D

gzGeometryVolume.h

Go to the documentation of this file.
00001 //*****************************************************************************
00002 // File         : gzGeometryVolume.h
00003 // Module       : 
00004 // Description  : Class definition of the geometry volumetric  classes
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  080122  Created file    
00020 //
00021 //******************************************************************************
00022 #ifndef __GZ_GEOMETRY_VOLUME_H__
00023 #define __GZ_GEOMETRY_VOLUME_H__
00024 
00031 #include "gzGeometry.h"
00032 
00033 
00034 //******************************************************************************
00035 // Class    : gzGeometryVolume
00036 //                                  
00037 // Purpose  : Renders a geometrical volume (cloud etc)
00038 //                                  
00039 // Notes    : - 
00040 //                                  
00041 // Revision History...                          
00042 //                                  
00043 // Who  Date    Description                     
00044 //                                  
00045 // AMO  080122  Created 
00046 //                                  
00047 //******************************************************************************
00048 class gzGeometryVolume : public gzBaseGeometry
00049 {
00050 public:
00051     GZ_GRAPH_EXPORT gzGeometryVolume(const gzString & name=GZ_EMPTY_STRING);
00052 
00053     GZ_GRAPH_EXPORT virtual ~gzGeometryVolume(){};
00054 
00055     GZ_DECLARE_TYPE_INTERFACE_EXPORT(GZ_GRAPH_EXPORT);  // typed interface
00056 
00057 
00058     // ---------- Common graph functions --------------------------------
00059 
00060     GZ_GRAPH_EXPORT virtual gzVoid updateNode();
00061 
00062     GZ_GRAPH_EXPORT virtual gzVoid preTraverseAction( gzTraverseAction *actionclass , gzContext *context);
00063 
00064     // ---------- No cloning of base - pure virtual ---------------------
00065 
00066     GZ_GRAPH_EXPORT virtual gzReference* clone() const;
00067 
00068     // ---------- The control API ---------------------------------------
00069 
00070     GZ_GRAPH_EXPORT gzVoid setSize(gzReal x_size,gzReal y_size,gzReal z_size);
00071 
00072     GZ_GRAPH_EXPORT gzVoid setImageXArray(const gzArray<gzImagePtr> &imageArray);
00073     GZ_GRAPH_EXPORT gzVoid setImageYArray(const gzArray<gzImagePtr> &imageArray);
00074     GZ_GRAPH_EXPORT gzVoid setImageZArray(const gzArray<gzImagePtr> &imageArray);
00075 
00076     /*GZ_GRAPH_EXPORT gzVoid    setStartPosition(const gzVec3 & start);
00077 
00078     GZ_GRAPH_EXPORT gzVoid  setStopPosition(const gzVec3 & stop);
00079 
00080     GZ_GRAPH_EXPORT gzVoid  setNodeTree(gzNode *tree);*/
00081 
00082     // ---------- Properties -------------------------------------------
00083 
00084     //GZ_PROPERTY_EXPORT( gzVec3            ,   NorthVector             , GZ_GRAPH_EXPORT);
00085     //GZ_PROPERTY_EXPORT( gzVec3            ,   EastVector              , GZ_GRAPH_EXPORT);
00086     //GZ_PROPERTY_EXPORT( gzBool            ,   ShowBearing             , GZ_GRAPH_EXPORT);
00087     //GZ_PROPERTY_EXPORT( gzAngleUnits  ,   BearingUnits            , GZ_GRAPH_EXPORT);
00088     //GZ_PROPERTY_EXPORT( gzBool            ,   ShowTotalDistance       , GZ_GRAPH_EXPORT);
00089     //GZ_PROPERTY_EXPORT( gzBool            ,   ShowLineOfSightDistance , GZ_GRAPH_EXPORT);
00090 
00091 
00092 
00093 private:
00094 
00095     gzReal  m_x_size,m_y_size,m_z_size;
00096 
00097     gzArray<gzTexturePtr>   m_textureArrayX;
00098     gzArray<gzTexturePtr>   m_textureArrayY;
00099     gzArray<gzTexturePtr>   m_textureArrayZ;
00100 
00101     gzStatePtr              m_state;
00102 };
00103 
00104 // Declare smart pointer type
00105 GZ_DECLARE_REFPTR(gzGeometryVolume);
00106 
00107 #endif // __GZ_GEOMETRY_VOLUME_H__
00108 

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