35 #ifndef ANATOMIST_OBJECT_VOLRENDER_H
36 #define ANATOMIST_OBJECT_VOLRENDER_H
44 template<
typename T>
class AVolume;
82 const GLTexture &gltex,
unsigned tex )
const;
84 const GLList &gllist )
const;
Base Anatomist object (abstract)
std::string name() const
Name shown in control window.
Base class for all OpenGL objects in Anatomist (with OpenGL display lists)
glPart
GL object parts, each driving a GL list.
This class has to be rewritten, it's really really a shame.......
This class can be subclassed to represent an object that the programmer wants to have observed.
virtual Tree * optionTree() const
Menu tree for new options, see object/optionMatcher.h.
virtual bool glMakeTexImage(const ViewState &state, const GLTexture &gltex, unsigned tex) const
If you make non-standard textures (ie not from a palette), overload this function to fill gltex.
virtual bool Is2DObject()
Can be display in 2D windows.
virtual GLComponent::TexExtrema & glTexExtrema(unsigned tex=0)
virtual void setPalette(const AObjectPalette &pal)
virtual void glSetChanged(glPart, bool=true) const
virtual const GLComponent * glAPI() const
virtual unsigned glDimTex(const ViewState &, unsigned tex=0) const
texture dimension (1, 2 [or 3])
virtual std::string viewStateID(glPart part, const ViewState &) const
Makes a unique ID from a viewstate.
virtual void update(const Observable *observable, void *arg)
This class is an Observer of each of the AObject it groups.
virtual bool Is3DObject()
Can be display in 3D windows.
virtual void SetMaterial(const Material &mat)
virtual bool renderingIsObserverDependent() const
true only if the rendering (openGL) of the object changes with the observer position/orientation of t...
virtual const AObjectPalette * palette() const
virtual const Material & material() const
virtual bool render(PrimList &, const ViewState &)
rendering (generally 2D or 3D using OpenGL).
virtual bool glMakeBodyGLL(const ViewState &state, const GLList &gllist) const
If you want to make a non-standard GL display list for the body geometry, overload this function to f...
virtual GLComponent * glAPI()
unsigned maxSlices() const
virtual bool CanRemove(AObject *)
virtual Material & GetMaterial()
virtual const GLComponent::TexExtrema & glTexExtrema(unsigned tex=0) const
bool setShaderType(const std::string &)
virtual void glSetTexEnvChanged(bool=true, unsigned tex=0) const
virtual AObjectPalette * palette()
Normally, getOrCreatePalette() should be used instead of this function in most cases.
virtual std::vector< float > voxelSize() const
Returns at least 4 sizes. For 3D objects, returns (1, 1, 1, 1)
virtual void glSetTexImageChanged(bool=true, unsigned tex=0) const
std::string shaderType() const
void createDefaultPalette(const std::string &name="")
function called by getOrCreatePalette() - overloadable, need not be called directly
static void volrenderProperties(const std::set< anatomist::AObject * > &)
void setMaxSlices(unsigned n)
virtual const AObjectPalette * glPalette(unsigned tex=0) const
virtual bool isTransparent() const
virtual const Material * glMaterial() const
std::list< carto::rc_ptr< GLItem > > PrimList
ViewState holds information about how a view wants to see an object.