MOAB: Mesh Oriented datABase
(version 5.4.1)
|
00001 #ifndef GFXSMF_STATE_INCLUDED // -*- C++ -*- 00002 #define GFXSMF_STATE_INCLUDED 00003 00004 #include "AffineXform.hpp" 00005 #include <string> 00006 #include <vector> 00007 00008 namespace moab 00009 { 00010 00011 struct SMF_ivars 00012 { 00013 int next_vertex; 00014 int next_face; 00015 }; 00016 00017 class SMF_State 00018 { 00019 private: 00020 // 00021 // Standard state variables 00022 int first_vertex; 00023 int vertex_correction; 00024 AffineXform xform; 00025 00026 public: 00027 SMF_State( const SMF_ivars& ivar, SMF_State* next = 0 ); 00028 00029 void set_vertex_correction( int i ); 00030 void inc( const char* var, int delta = 1 ); 00031 void dec( const char* var, int delta = 1 ); 00032 00033 void mmult( const AffineXform& ); 00034 void mload( const AffineXform& ); 00035 00036 void vertex( double v[3] ); 00037 void normal( double n[3] ); 00038 void face( int*, const SMF_ivars& ivar ); 00039 }; 00040 00041 } // namespace moab 00042 00043 // GFXSMF_STATE_INCLUDED 00044 #endif