35 #ifndef ANA_MOBJECT_FUSION2D_H
36 #define ANA_MOBJECT_FUSION2D_H
60 Fusion2D(
const std::vector<AObject *> & obj,
bool dynamic =
false );
69 {
if(
size() == 0 )
return 0;
return _data.begin()->get(); }
73 virtual std::vector<float>
glMin2D()
const;
74 virtual std::vector<float>
glMax2D()
const;
82 unsigned tex = 0 )
const;
96 void reorder(
const std::vector<AObject *> & );
102 unsigned tex = 0 )
const ;
117 virtual std::vector<float>
119 virtual std::vector<float>
texValues(
const std::vector<float> & pos,
121 virtual float mixedValue(
const std::vector<float> & pv )
const;
Base Anatomist object (abstract)
Anatomist object which contains two volumes: one for the MRI anatomic image, and another for the func...
unsigned glNumTextures(const ViewState &) const
virtual bool CanRemove(AObject *obj)
virtual float mixedTexValue(const std::vector< float > &pos) const
Same as above except that coordinates are not transformed but taken in object coordinates system.
virtual float mixedTexValue(const std::vector< float > &pos, const Referential *orgRef) const
Gets a "mixed" texture value at a given space / time location.
virtual const GLComponent * glAPI() const
virtual AObject * fallbackReferentialInheritance() const
object to take referential from when no ref is assigned
const Referential * getReferential() const
virtual bool isTransparent() const
virtual bool update2DTexture(AImage &, const Point3df &posbase, const SliceViewState &, unsigned tex=0) const
this function must be overloaded to actually fill the slice image
virtual std::vector< float > voxelSize() const
Returns at least 4 sizes. For 3D objects, returns (1, 1, 1, 1)
virtual bool Is2DObject()
Can be displayed in 2D windows.
virtual std::vector< float > glMin2D() const
virtual unsigned dimTexture() const
Number of texture values for a point.
void moveVolume(AObject *vol, int dstpos)
move the sub-object vol to position dstpos.
virtual std::vector< float > texValues(const std::vector< float > &pos) const
virtual GLComponent * glAPI()
virtual void unregisterObservable(Observable *)
Called when an observable is destroyed, only called by Observable: don't use this function directly.
virtual std::vector< float > texValues(const std::vector< float > &pos, const Referential *orgRef) const
Gets the array of texture values at a given location.
virtual void glSetTexEnvChanged(bool x=true, unsigned tex=0) const
virtual float mixedValue(const std::vector< float > &pv) const
virtual bool hasTexture() const
Textured objects have values associated with a geometric coordinate.
virtual void glSetTexMode(glTextureMode mode, unsigned tex=0)
virtual const AObjectPalette * glPalette(unsigned tex=0) const
virtual std::vector< float > glMax2D() const
Fusion2D(const std::vector< AObject * > &obj, bool dynamic=false)
The dynamic parameter has been added in Anatomist 4.6.1 and is false by default.
void moveVolume(int srcpos, int dstpos)
move the sub-object at position srcpos to position dstpos.
virtual void glClearHasChangedFlags() const
virtual int MType() const
Precise type of multi-object.
virtual bool textured2D() const
true if 2D rendering uses a textured plane (not a full openGL object)
std::set< glTextureMode > glAllowedTexModes(unsigned tex=0) const
List of actually allowed texturing modes for this particular object.
virtual bool render(PrimList &, const ViewState &)
rendering (generally 2D or 3D using OpenGL).
virtual void glSetChanged(glPart, bool=true) const
virtual const Material * glMaterial() const
virtual Sliceable * sliceableAPI()
virtual const Sliceable * sliceableAPI() const
void reorder(const std::vector< AObject * > &)
Reorder sub-objects.
virtual bool Is3DObject()
Can't be displayed in 3D windows.
void setDynamic(bool dynamic)
static Tree * _optionTree
virtual Tree * optionTree() const
Menu tree for new options, see object/optionMatcher.h.
virtual std::vector< float > glVoxelSize() const
virtual void update(const Observable *observable, void *arg)
This class is an Observer of each of the AObject it groups.
virtual void glSetTexImageChanged(bool x=true, unsigned tex=0) const
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.......
virtual size_t size() const
This class can be subclassed to represent an object that the programmer wants to have observed.
Referential: marker for transformations, with an associated color.
Sliceable objects can draw themselves in a 2D texture.
std::list< carto::rc_ptr< GLItem > > PrimList
Specialization for a sliceable object.
ViewState holds information about how a view wants to see an object.