Branch data Line data Source code
1 : : #ifndef GFXSMF_STATE_INCLUDED // -*- C++ -*-
2 : : #define GFXSMF_STATE_INCLUDED
3 : :
4 : : #include "AffineXform.hpp"
5 : : #include <string>
6 : : #include <vector>
7 : :
8 : : namespace moab
9 : : {
10 : :
11 : : struct SMF_ivars
12 : : {
13 : : int next_vertex;
14 : : int next_face;
15 : : };
16 : :
17 : 4 : class SMF_State
18 : : {
19 : : private:
20 : : //
21 : : // Standard state variables
22 : : int first_vertex;
23 : : int vertex_correction;
24 : : AffineXform xform;
25 : :
26 : : public:
27 : : SMF_State( const SMF_ivars& ivar, SMF_State* next = 0 );
28 : :
29 : : void set_vertex_correction( int i );
30 : : void inc( const char* var, int delta = 1 );
31 : : void dec( const char* var, int delta = 1 );
32 : :
33 : : void mmult( const AffineXform& );
34 : : void mload( const AffineXform& );
35 : :
36 : : void vertex( double v[3] );
37 : : void normal( double n[3] );
38 : : void face( int*, const SMF_ivars& ivar );
39 : : };
40 : :
41 : : } // namespace moab
42 : :
43 : : // GFXSMF_STATE_INCLUDED
44 : : #endif
|