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.