MOAB: Mesh Oriented datABase  (version 5.2.1)
SMF_State.hpp
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines