34 #ifndef ANA_SURFACE_GLCOMPONENT_H    35 #define ANA_SURFACE_GLCOMPONENT_H   227                                        unsigned tex = 0 ) 
const ;
   233     virtual float glTexRate( 
unsigned tex = 0 ) 
const;
   234     virtual void glSetTexRate( 
float rate, 
unsigned tex = 0 );
   241                                           unsigned tex = 0 ) 
const;
   246     virtual GLint 
glGLTexMode( 
unsigned tex = 0) 
const;
   254                                      unsigned tex = 0 ) 
const;
   256                                             unsigned tex = 0 ) 
const;
   288                                 const GLList & gllist ) 
const;
   309       const ViewState & state, 
unsigned tex, 
int dimx = -1,
   310       int dimy = -1, 
bool useTexScale = 
true ) 
const;
   320                                  const GLTexture & gltex, 
unsigned tex ) 
const;
   322                                   const GLList & gllist, 
unsigned tex ) 
const;
   327                                        unsigned tex = 0 ) 
const;
   329                                       unsigned tex = 0 ) 
const;
   336     virtual std::set<glTextureMode> 
   338     virtual std::set<glTextureFiltering> 
   340     virtual std::set<glAutoTexturingMode> 
   380     if (_shader) 
delete _shader;
   381     _shader = 
new Shader(shader);
 
virtual const AObjectPalette * glPalette(unsigned tex=0) const
 
ViewState::glSelectRenderMode glSelectRenderMode
 
virtual const Sliceable * sliceableAPI() const
 
ViewState holds information about how a view wants to see an object. 
 
static GLPrimitives glHandleTransformation(const ViewState &vs, const Referential *myref)
helper function used in AObject::render() 
 
virtual glTextureFiltering glTexFiltering(unsigned tex=0) const
 
virtual bool glMakeTexEnvGLL(const ViewState &state, const GLList &gllist, unsigned tex) const
 
virtual void glSetStateMemory(unsigned n)
 
virtual TexInfo & glTexInfo(unsigned tex=0) const
 
virtual void glSetTexFiltering(glTextureFiltering x, unsigned tex=0)
 
virtual bool glAllowedTexRGBInterpolation(unsigned tex=0) const
 
virtual void glSetAutoTexMode(glAutoTexturingMode mode, unsigned tex=0)
 
virtual GLComponent * glAPI()
 
Texture environment part: activate texture units, bind textures, setup their properties. 
 
virtual GLint glGLTexFiltering(unsigned tex=0) const
 
std::vector< float > maxquant
 
General list, this one calls the others, so should be rebuilt when any other part changes...
 
virtual void glSetTexNameGLL(const std::string &state, RefGLItem x, unsigned tex=0)
 
virtual glAutoTexturingMode glAutoTexMode(unsigned tex=0) const
 
virtual GLPrimitives glMaterialGLL(const ViewState &state) const
 
virtual unsigned long glMaxNumDisplayedPolygons() const
Limit to the number of displayed polygons (default: 0, unlimited or ) global default value) ...
 
glTEXENV_NUM + 2* texnum flags texture #texnum, reserved for Observable pattern 
 
virtual void glAfterBodyGLL(const ViewState &state, GLPrimitives &pl) const
GL list to execute after the body is rendered. 
 
virtual GLPrimitives glMainGLL(const ViewState &)
 
virtual const Material * glMaterial() const
 
virtual std::set< glTextureFiltering > glAllowedTexFilterings(unsigned tex=0) const
 
static void glSetGlobalMaxNumDisplayedPolygons(unsigned long n)
 
virtual void glClearHasChangedFlags() const
 
Material / coloring list. 
 
void glAddTextures(unsigned ntex=1)
 
virtual bool glTexEnvChanged(unsigned tex=0) const
 
virtual void glSetMaterialGLL(const std::string &state, RefGLItem x)
 
virtual carto::VolumeRef< AimsRGBA > glBuildTexImage(const ViewState &state, unsigned tex, int dimx=-1, int dimy=-1, bool useTexScale=true) const
If you make non-standard textures (ie not from a palette), overload this function. 
 
virtual void glSetBodyGLL(const std::string &state, RefGLItem x)
 
virtual void glBeforeBodyGLL(const ViewState &state, GLPrimitives &pl) const
GL list to execute before the body is rendered. 
 
virtual void glSetTexRate(float rate, unsigned tex=0)
 
virtual float glTexRate(unsigned tex=0) const
 
Body part: gathers vertices, polygons, normals, textures alltogether. 
 
This class has to be rewritten, it's really really a shame....... 
 
virtual GLPrimitives glTexNameGLL(const ViewState &, unsigned tex=0) const
 
virtual std::string viewStateID(glPart part, const ViewState &) const
Makes a unique ID from a viewstate. 
 
virtual const TexExtrema & glTexExtrema(unsigned tex=0) const
 
virtual void glSetTexEnvChanged(bool x=true, unsigned tex=0) const
 
virtual glTextureMode glTexMode(unsigned tex=0) const
 
virtual const GLComponent * glAPI() const
 
virtual unsigned glNumPolygon(const ViewState &) 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 unsigned glPolygonSize(const ViewState &) const
number of vertices per polygon (default = 3: triangles) 
 
virtual const float * glAutoTexParams(unsigned coord=0, unsigned tex=0) const
 
virtual const GLfloat * glTexCoordArray(const ViewState &, unsigned tex=0) const
 
virtual GLint glGLTexMode(unsigned tex=0) const
 
virtual const GLfloat * glNormalArray(const ViewState &) const
normals array (optional), default=0 (no normals, flat shaded faces) 
 
void setupShader()
create, setup, or remove the shader 
 
virtual carto::Object debugInfo() const
 
virtual bool glHasChanged(glPart) const
 
virtual Sliceable * sliceableAPI()
 
Coordinates transformations list. 
 
static unsigned long glGlobalMaxNumDisplayedPolygons()
 
virtual void glSetTexMode(glTextureMode mode, unsigned tex=0)
 
virtual void glSetAutoTexParams(const float *params, unsigned coord=0, unsigned tex=0)
 
virtual bool glTexRGBInterpolation(unsigned tex=0) const
 
virtual unsigned glDimTex(const ViewState &, unsigned tex=0) const
texture dimension (1, 2 [or 3]) 
 
std::list< RefGLItem > GLPrimitives
 
Base class for all OpenGL objects in Anatomist (with OpenGL display lists) 
 
virtual void glSetTexRGBInterpolation(bool x, unsigned tex=0)
 
void setShaderParameters(const GLComponent &obj, const ViewState &state) const
 
virtual unsigned glTexCoordSize(const ViewState &, unsigned tex=0) const
texture array size (must be >= numVertex to work), defalut=0 
 
virtual unsigned glNumVertex(const ViewState &) const
 
const Shader * getShader() const
 
virtual unsigned glNumTextures() const
 
glPart
GL object parts, each driving a GL list. 
 
virtual bool glAllowedTexRate(unsigned tex=0) const
 
virtual void glSetMaxNumDisplayedPolygons(unsigned long n)
 
virtual void glSetTexImageChanged(bool x=true, unsigned tex=0) const
 
virtual const GLfloat * glVertexArray(const ViewState &) const
 
virtual std::set< glTextureMode > glAllowedTexModes(unsigned tex=0) const
List of actually allowed texturing modes for this particular object. 
 
virtual void glSetMainGLL(const std::string &state, GLPrimitives x)
 
Geometry is the polygons, normals arrays. 
 
void setShader(const Shader &shader)
 
virtual bool glTexImageChanged(unsigned tex=0) const
 
virtual GLPrimitives glBodyGLL(const ViewState &state) const
 
virtual void glSetChanged(glPart, bool=true) const
 
Referential: marker for transformations, with an associated color. 
 
static GLPrimitives glPopTransformation(const ViewState &vs, const Referential *myref)
called after glHandleTransformation() and glMainGLL() to pop the transformation matrix ...
 
glTEXIMAGE_NUM + 2* texnum flags texture #texnum, reserved for Observable pattern ...
 
std::vector< float > minquant
 
unsigned glStateMemory() const
Number of unused display lists in different states kept in memory (default: 4) 
 
virtual const GLuint * glPolygonArray(const ViewState &) const
 
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 void glGarbageCollector(int nkept=-1)
Frees unused display lists. 
 
Sliceable objects can draw themselves in a 2D texture. 
 
virtual std::set< glAutoTexturingMode > glAllowedAutoTexModes(unsigned tex=0) const
 
virtual void setShaderParameters(const Shader &shader, const ViewState &state) const
 
virtual GLPrimitives glTexEnvGLL(const ViewState &, unsigned tex=0) const