![]() |
anatomist
4.7.0
3D neuroimaging data viewer
|
Sliceable objects can draw themselves in a 2D texture. More...
#include <anatomist/object/sliceable.h>


Public Member Functions | |
| Sliceable () | |
| virtual | ~Sliceable () |
| virtual const Sliceable * | sliceableAPI () const |
| virtual Sliceable * | sliceableAPI () |
| virtual unsigned | glNumVertex (const ViewState &) const |
| virtual const GLfloat * | glVertexArray (const ViewState &) const |
| virtual const GLfloat * | glNormalArray (const ViewState &state) const |
| normals array (optional), default=0 (no normals, flat shaded faces) More... | |
| virtual unsigned | glPolygonSize (const ViewState &) const |
| number of vertices per polygon (default = 3: triangles) More... | |
| virtual unsigned | glNumPolygon (const ViewState &) const |
| virtual const GLuint * | glPolygonArray (const ViewState &) const |
| virtual unsigned | glDimTex (const ViewState &, unsigned tex=0) const |
| texture dimension (1, 2 [or 3]) More... | |
| virtual unsigned | glTexCoordSize (const ViewState &, unsigned tex=0) const |
| texture array size (must be >= numVertex to work), defalut=0 More... | |
| virtual const GLfloat * | glTexCoordArray (const ViewState &, unsigned tex=0) const |
| 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. More... | |
| 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. More... | |
| virtual bool | update2DTexture (AImage &, const Point3df &posbase, const SliceViewState &, unsigned tex=0) const |
| this function must be overloaded to actually fill the slice image More... | |
| virtual carto::VolumeRef< AimsRGBA > | rgbaVolume (const SliceViewState *=0, int tex=0) const |
| fills a resampled RGBA volume More... | |
| virtual void | rgbaVolume (carto::Volume< AimsRGBA > &, const SliceViewState *=0, int tex=0) const |
| same as the other rgbaVolume() but fills an already allocated volume More... | |
| virtual std::vector< float > | glVoxelSize () const |
| virtual std::vector< float > | glMin2D () const =0 |
| virtual std::vector< float > | glMax2D () const =0 |
| virtual bool | glAllowedTexRGBInterpolation (unsigned tex=0) const |
| virtual const Referential * | getReferential () const =0 |
| virtual std::string | viewStateID (glPart part, const ViewState &) const |
| Makes a unique ID from a viewstate. More... | |
Public Member Functions inherited from anatomist::GLComponent | |
| GLComponent () | |
| virtual | ~GLComponent () |
| virtual const GLComponent * | glAPI () const |
| virtual GLComponent * | glAPI () |
| virtual void | glClearHasChangedFlags () const |
| virtual void | glSetChanged (glPart, bool=true) const |
| virtual bool | glHasChanged (glPart) const |
| void | setShader (const Shader &shader) |
| void | removeShader () |
| void | setupShader () |
| create, setup, or remove the shader More... | |
| const Shader * | getShader () const |
| Shader * | getShader () |
| virtual void | setShaderParameters (const Shader &shader, const ViewState &state) const |
| virtual const Material * | glMaterial () const |
| virtual const AObjectPalette * | glPalette (unsigned tex=0) const |
| virtual unsigned long | glMaxNumDisplayedPolygons () const |
| Limit to the number of displayed polygons (default: 0, unlimited or ) global default value) More... | |
| virtual void | glSetMaxNumDisplayedPolygons (unsigned long n) |
| virtual void | glSetTexImageChanged (bool x=true, unsigned tex=0) const |
| virtual void | glSetTexEnvChanged (bool x=true, unsigned tex=0) const |
| virtual unsigned | glNumTextures () const |
| virtual unsigned | glNumTextures (const ViewState &) const |
| virtual glTextureMode | glTexMode (unsigned tex=0) const |
| virtual void | glSetTexMode (glTextureMode mode, unsigned tex=0) |
| virtual float | glTexRate (unsigned tex=0) const |
| virtual void | glSetTexRate (float rate, unsigned tex=0) |
| virtual glTextureFiltering | glTexFiltering (unsigned tex=0) const |
| virtual void | glSetTexFiltering (glTextureFiltering x, unsigned tex=0) |
| virtual glAutoTexturingMode | glAutoTexMode (unsigned tex=0) const |
| virtual void | glSetAutoTexMode (glAutoTexturingMode mode, unsigned tex=0) |
| virtual const float * | glAutoTexParams (unsigned coord=0, unsigned tex=0) const |
| virtual void | glSetAutoTexParams (const float *params, unsigned coord=0, unsigned tex=0) |
| virtual bool | glTexImageChanged (unsigned tex=0) const |
| virtual bool | glTexEnvChanged (unsigned tex=0) const |
| virtual GLint | glGLTexMode (unsigned tex=0) const |
| virtual GLint | glGLTexFiltering (unsigned tex=0) const |
| virtual void | glSetTexRGBInterpolation (bool x, unsigned tex=0) |
| virtual bool | glTexRGBInterpolation (unsigned tex=0) const |
| virtual const TexExtrema & | glTexExtrema (unsigned tex=0) const |
| virtual TexExtrema & | glTexExtrema (unsigned tex=0) |
| virtual GLPrimitives | glMainGLL (const ViewState &) |
| virtual void | glGarbageCollector (int nkept=-1) |
| Frees unused display lists. More... | |
| unsigned | glStateMemory () const |
| Number of unused display lists in different states kept in memory (default: 4) More... | |
| virtual void | glSetStateMemory (unsigned n) |
| 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 fill gllist. More... | |
| virtual void | glBeforeBodyGLL (const ViewState &state, GLPrimitives &pl) const |
| GL list to execute before the body is rendered. More... | |
| virtual void | glAfterBodyGLL (const ViewState &state, GLPrimitives &pl) const |
| GL list to execute after the body is rendered. More... | |
| virtual bool | glMakeTexEnvGLL (const ViewState &state, const GLList &gllist, unsigned tex) const |
| virtual GLPrimitives | glBodyGLL (const ViewState &state) const |
| virtual GLPrimitives | glMaterialGLL (const ViewState &state) const |
| virtual GLPrimitives | glTexNameGLL (const ViewState &, unsigned tex=0) const |
| virtual GLPrimitives | glTexEnvGLL (const ViewState &, unsigned tex=0) const |
| virtual void | glSetMainGLL (const std::string &state, GLPrimitives x) |
| virtual void | glSetBodyGLL (const std::string &state, RefGLItem x) |
| virtual void | glSetMaterialGLL (const std::string &state, RefGLItem x) |
| virtual void | glSetTexNameGLL (const std::string &state, RefGLItem x, unsigned tex=0) |
| virtual std::set< glTextureMode > | glAllowedTexModes (unsigned tex=0) const |
| List of actually allowed texturing modes for this particular object. More... | |
| virtual std::set< glTextureFiltering > | glAllowedTexFilterings (unsigned tex=0) const |
| virtual std::set< glAutoTexturingMode > | glAllowedAutoTexModes (unsigned tex=0) const |
| virtual bool | glAllowedTexRate (unsigned tex=0) const |
| virtual carto::Object | debugInfo () const |
| int | glObjectID () const |
| virtual TexInfo & | glTexInfo (unsigned tex=0) const |
Sliceable objects can draw themselves in a 2D texture.
The slice information is provided on demand as a ViewState information.
Definition at line 58 of file sliceable.h.
| anatomist::Sliceable::Sliceable | ( | ) |
|
virtual |
|
pure virtual |
Implemented in anatomist::SliceableObject, anatomist::Fusion2D, anatomist::Fusion2DMesh, and anatomist::VectorField.
|
virtual |
Reimplemented from anatomist::GLComponent.
|
virtual |
If you make non-standard textures (ie not from a palette), overload this function.
New in Anatomist 4.5, it is used by glMakeTexImage, and may also be used to save the texture data of an arbitrary object.
| dimx | and dimy are target texture sizes. If left to -1 (default), the size is calculated internally. |
| useTexScale | if true (default), allow using OpenGL scaling in texture space. Otherwise the palette image will be adapted to fit the scale. |
Reimplemented from anatomist::GLComponent.
|
virtual |
texture dimension (1, 2 [or 3])
Reimplemented from anatomist::GLComponent.
|
virtual |
If you make non-standard textures (ie not from a palette), overload this function to fill gltex.
Since Anatomist 4.5, glMakeTexImage calls glBuildTexImage, which is actually the method to be overloaded by subclasses.
Reimplemented from anatomist::GLComponent.
|
pure virtual |
Implemented in anatomist::SliceableObject, anatomist::Fusion2DMesh, anatomist::VectorField, and anatomist::Fusion2D.
|
pure virtual |
Implemented in anatomist::SliceableObject, anatomist::Fusion2DMesh, anatomist::VectorField, and anatomist::Fusion2D.
|
virtual |
normals array (optional), default=0 (no normals, flat shaded faces)
Reimplemented from anatomist::GLComponent.
Reimplemented in anatomist::Fusion2DMesh.
|
virtual |
Reimplemented from anatomist::GLComponent.
Reimplemented in anatomist::Fusion2DMesh.
|
virtual |
Reimplemented from anatomist::GLComponent.
Reimplemented in anatomist::Fusion2DMesh.
|
virtual |
Reimplemented from anatomist::GLComponent.
Reimplemented in anatomist::Fusion2DMesh.
|
virtual |
number of vertices per polygon (default = 3: triangles)
Reimplemented from anatomist::GLComponent.
Reimplemented in anatomist::Fusion2DMesh.
|
virtual |
Reimplemented from anatomist::GLComponent.
|
virtual |
texture array size (must be >= numVertex to work), defalut=0
Reimplemented from anatomist::GLComponent.
|
virtual |
Reimplemented from anatomist::GLComponent.
Reimplemented in anatomist::Fusion2DMesh.
|
virtual |
Reimplemented in anatomist::SliceableObject, anatomist::VectorField, and anatomist::Fusion2D.
|
virtual |
fills a resampled RGBA volume
|
virtual |
same as the other rgbaVolume() but fills an already allocated volume
|
inlinevirtual |
Reimplemented from anatomist::GLComponent.
Reimplemented in anatomist::SliceableObject, anatomist::Fusion2D, anatomist::Fusion2DMesh, and anatomist::VectorField.
Definition at line 64 of file sliceable.h.
|
inlinevirtual |
Reimplemented from anatomist::GLComponent.
Reimplemented in anatomist::SliceableObject, anatomist::Fusion2D, anatomist::Fusion2DMesh, and anatomist::VectorField.
Definition at line 65 of file sliceable.h.
|
virtual |
this function must be overloaded to actually fill the slice image
Reimplemented in anatomist::AVolume< T >, anatomist::AVolume< float >, and anatomist::Fusion2D.
Referenced by anatomist::AVolume< float >::operator()().
|
virtual |
Makes a unique ID from a viewstate.
The ID must be unique within the GLComponent instance and for the part part. Depending on the aspects of the viewstate to take into account, subclasses may have to overload it.
For instance, a mesh may build an ID only taking time into account, whereas a volume slice must also code the slice position and orientation into the ID.
Reimplemented from anatomist::GLComponent.