34 #ifndef ANA_MOBJECT_GLMOBJECT_H
35 #define ANA_MOBJECT_GLMOBJECT_H
95 unsigned tex = 0 )
const;
102 unsigned tex = 0 )
const;
104 unsigned tex = 0 )
const;
107 const GLTexture & gltex,
unsigned tex )
const;
109 const GLList & gllist,
unsigned tex )
const;
115 unsigned tex = 0 )
const;
117 unsigned tex = 0 )
const;
131 unsigned n = 0 )
const;
Base class for all OpenGL objects in Anatomist (with OpenGL display lists)
glPart
GL object parts, each driving a GL list.
A Multi-object with OpenGL rendering capabilities.
virtual glAutoTexturingMode glAutoTexMode(unsigned tex=0) const
virtual glTextureFiltering glTexFiltering(unsigned tex=0) const
virtual void glSetTexEnvChanged(bool x=true, unsigned tex=0) const
virtual TexInfo & glTexInfo(unsigned tex=0) const
virtual GLComponent * glTexture(const ViewState &, unsigned n=0)
virtual const GLfloat * glNormalArray(const ViewState &) const
normals array (optional), default=0 (no normals, flat shaded faces)
virtual void glSetTexFiltering(glTextureFiltering x, unsigned tex=0)
virtual AObjectPalette * palette()
Normally, getOrCreatePalette() should be used instead of this function in most cases.
virtual const Material * glMaterial() const
virtual void glSetTexNameGLL(const std::string &state, RefGLItem x, unsigned tex=0)
virtual unsigned glNumPolygon(const ViewState &) const
virtual void setShaderParameters(const Shader &shader, const ViewState &state) const
virtual void update(const Observable *, void *)
This class is an Observer of each of the AObject it groups.
virtual void glSetTexRate(float rate, unsigned tex=0)
virtual GLPrimitives glTexEnvGLL(const ViewState &, unsigned tex=0) const
virtual const GLuint * glPolygonArray(const ViewState &) const
number of vertices per polygon (default = 3: triangles)
virtual GLComponent * glGeometry(const ViewState &)
virtual unsigned glNumTextures(const ViewState &) const
virtual unsigned glNumVertex(const ViewState &) const
virtual Material & GetMaterial()
virtual bool glTexImageChanged(unsigned tex=0) const
virtual const GLfloat * glTexCoordArray(const ViewState &, unsigned tex=0) const
virtual bool glToRef(const Referential *objref, GLPrimitives &pl) const
get to geometry object referential before drawing.
virtual float glTexRate(unsigned tex=0) const
virtual void glSetAutoTexParams(const float *params, unsigned coord=0, unsigned tex=0)
virtual void glSetAutoTexMode(glAutoTexturingMode mode, unsigned tex=0)
virtual bool render(PrimList &, const ViewState &vs)
rendering (generally 2D or 3D using OpenGL).
virtual void glSetTexImageChanged(bool x=true, unsigned tex=0) const
virtual GLPrimitives glTexNameGLL(const ViewState &, unsigned tex=0) const
virtual const GLfloat * glVertexArray(const ViewState &) const
virtual const float * glAutoTexParams(unsigned coord=0, unsigned tex=0) const
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 TexExtrema & glTexExtrema(unsigned tex=0)
virtual bool glTexRGBInterpolation(unsigned tex=0) const
virtual const AObjectPalette * palette() const
virtual GLComponent * glAPI()
virtual void glClearHasChangedFlags() const
virtual const Material & material() const
virtual const TexExtrema & glTexExtrema(unsigned tex=0) const
virtual glTextureMode glTexMode(unsigned tex=0) const
virtual unsigned glNumTextures() const
virtual void glSetTexRGBInterpolation(bool x, unsigned tex=0)
virtual void glSetTexMode(glTextureMode mode, unsigned tex=0)
virtual void glSetMaterialGLL(const std::string &state, RefGLItem x)
virtual void glSetChanged(glPart, bool x=true) const
virtual bool glMakeTexEnvGLL(const ViewState &state, const GLList &gllist, unsigned tex) const
virtual const AObjectPalette * glPalette(unsigned tex=0) const
virtual const GLComponent * glTexture(const ViewState &, unsigned n=0) const
virtual std::string viewStateID(glPart part, const ViewState &) const
Makes a unique ID from a viewstate.
virtual void glGarbageCollector(int nkept=-1)
Frees unused display lists.
virtual unsigned glTexCoordSize(const ViewState &, unsigned tex=0) const
texture array size (must be >= numVertex to work), defalut=0
virtual GLPrimitives glMaterialGLL(const ViewState &state) const
virtual const GLComponent * glGeometry(const ViewState &) const
virtual bool glTexEnvChanged(unsigned tex=0) const
virtual const GLComponent * glAPI() const
virtual unsigned glPolygonSize(const ViewState &) const
number of vertices per polygon (default = 3: triangles)
virtual unsigned glDimTex(const ViewState &, unsigned tex=0) const
texture dimension (1, 2 [or 3])
Multi-object : base abstract class for objects that contain others.
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.
Referential: marker for transformations, with an associated color.
std::list< carto::rc_ptr< GLItem > > PrimList
std::list< RefGLItem > GLPrimitives
ViewState holds information about how a view wants to see an object.