35 #ifndef ANA_OBJECT_SLICEABLE_H    36 #define ANA_OBJECT_SLICEABLE_H    44   template <
typename T> 
class Volume;
    45   template <
typename T> 
class VolumeRef;
    52   struct SliceViewState;
    67     virtual unsigned glNumVertex( 
const ViewState & ) 
const;
    68     virtual const GLfloat* glVertexArray( 
const ViewState & ) 
const;
    69     virtual const GLfloat* glNormalArray( 
const ViewState & state ) 
const;
    70     virtual unsigned glPolygonSize( 
const ViewState & ) 
const;
    71     virtual unsigned glNumPolygon( 
const ViewState & ) 
const;
    72     virtual const GLuint* glPolygonArray( 
const ViewState & ) 
const;
    74     virtual unsigned glDimTex( 
const ViewState &, 
unsigned tex = 0 ) 
const;
    75     virtual unsigned glTexCoordSize( 
const ViewState &, 
    76                                      unsigned tex = 0 ) 
const;
    77     virtual const GLfloat* glTexCoordArray( 
const ViewState &, 
    78                                             unsigned tex = 0 ) 
const;
    81       const ViewState & state, 
unsigned tex, 
int dimx = -1,
    82       int dimy = -1, 
bool useTexScale = 
true ) 
const;
    83     virtual bool glMakeTexImage( 
const ViewState & state,
    84                                  const GLTexture & gltex, 
unsigned tex ) 
const;
    89                                   unsigned tex = 0 ) 
const;
    96     virtual std::vector<float> glVoxelSize() 
const;
    97     virtual std::vector<float> glMin2D() 
const = 0;
    98     virtual std::vector<float> glMax2D() 
const = 0;
    99     virtual bool glAllowedTexRGBInterpolation( 
unsigned tex = 0 ) 
const;
   100     virtual const Referential *getReferential() 
const = 0;
   101     virtual std::string viewStateID( 
glPart part, 
const ViewState & ) 
const;
   122     virtual std::vector<float> glVoxelSize() 
const;
   123     virtual std::vector<float> glMin2D() 
const;
   124     virtual std::vector<float> glMax2D() 
const;
   126     virtual void glSetChanged( 
glPart, 
bool = 
true ) 
const;
   127     virtual void glSetTexImageChanged( 
bool x = 
true, 
unsigned tex = 0 ) 
const;
   128     virtual void glSetTexEnvChanged( 
bool x = 
true, 
unsigned tex = 0 ) 
const;
   130     virtual const Material *glMaterial() 
const;
   131     virtual const AObjectPalette* glPalette( 
unsigned tex = 0 ) 
const;
 
ViewState holds information about how a view wants to see an object. 
 
Base Anatomist object (abstract) 
 
virtual const GLComponent * glAPI() const
OpenGL objects const API. 
 
AObject-inherited version of Sliceable. 
 
This class has to be rewritten, it's really really a shame....... 
 
virtual const Sliceable * sliceableAPI() const
 
virtual const Sliceable * sliceableAPI() const
 
Base class for all OpenGL objects in Anatomist (with OpenGL display lists) 
 
virtual GLComponent * glAPI()
OpenGL objects API. 
 
glPart
GL object parts, each driving a GL list. 
 
virtual Sliceable * sliceableAPI()
 
virtual Sliceable * sliceableAPI()
 
Referential: marker for transformations, with an associated color. 
 
Specialization for a sliceable object. 
 
Sliceable objects can draw themselves in a 2D texture.