![]() |
Mesh Oriented datABase
(version 5.4.1)
Array-based unstructured mesh datastructure
|
00001 #ifndef GFXSMF_STATE_INCLUDED // -*- C++ -*-
00002 #define GFXSMF_STATE_INCLUDED
00003
00004 #include "AffineXform.hpp"
00005 #include
00006 #include
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