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(); }
71 virtual std::vector<float>
voxelSize()
const;
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 ;
114 virtual float mixedTexValue(
const std::vector<float> & pos )
const;
117 virtual std::vector<float>
118 texValues(
const std::vector<float> & pos )
const;
119 virtual std::vector<float>
texValues(
const std::vector<float> & pos,
121 virtual float mixedValue(
const std::vector<float> & pv )
const;
virtual std::vector< float > texValues(const std::vector< float > &pos) const
virtual const Material * glMaterial() const
ViewState holds information about how a view wants to see an object.
virtual float mixedValue(const std::vector< float > &pv) const
virtual int MType() const
Precise type of multi-object.
Base Anatomist object (abstract)
virtual void glSetTexEnvChanged(bool x=true, unsigned tex=0) const
void reorder(const std::vector< AObject *> &)
Reorder sub-objects.
virtual bool textured2D() const
true if 2D rendering uses a textured plane (not a full openGL object)
virtual bool Is3DObject()
Can't be displayed in 3D windows.
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.
std::list< carto::rc_ptr< GLItem > > PrimList
virtual std::vector< float > glMax2D() const
virtual void unregisterObservable(Observable *)
Called when an observable is destroyed, only called by Observable: don't use this function directly...
virtual unsigned dimTexture() const
Number of texture values for a point.
virtual size_t size() 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
This class can be subclassed to represent an object that the programmer wants to have observed...
const Referential * getReferential() const
virtual AObject * fallbackReferentialInheritance() const
object to take referential from when no ref is assigned
This class has to be rewritten, it's really really a shame.......
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.
it's a list, in fact...
virtual GLComponent * glAPI()
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 bool render(PrimList &, const ViewState &)
rendering (generally 2D or 3D using OpenGL).
virtual void glSetTexMode(glTextureMode mode, unsigned tex=0)
virtual bool hasTexture() const
Textured objects have values associated with a geometric coordinate.
virtual bool isTransparent() const
static Tree * _optionTree
virtual const GLComponent * glAPI() const
virtual Sliceable * sliceableAPI()
Base class for all OpenGL objects in Anatomist (with OpenGL display lists)
std::set< glTextureMode > glAllowedTexModes(unsigned tex=0) const
List of actually allowed texturing modes for this particular object.
virtual unsigned glNumTextures() const
virtual bool CanRemove(AObject *obj)
glPart
GL object parts, each driving a GL list.
virtual Tree * optionTree() const
Menu tree for new options, see object/optionMatcher.h.
virtual void glSetChanged(glPart, bool=true) const
void moveVolume(AObject *vol, int dstpos)
move the sub-object vol to position dstpos.
virtual const AObjectPalette * glPalette(unsigned tex=0) const
virtual void glClearHasChangedFlags() const
virtual std::vector< float > glMin2D() const
void setDynamic(bool dynamic)
Referential: marker for transformations, with an associated color.
virtual void glSetTexImageChanged(bool x=true, unsigned tex=0) const
Specialization for a sliceable object.
Anatomist object which contains two volumes: one for the MRI anatomic image, and another for the func...
Sliceable objects can draw themselves in a 2D texture.
virtual const Sliceable * sliceableAPI() const
virtual void update(const Observable *observable, void *arg)
This class is an Observer of each of the AObject it groups.
virtual std::vector< float > glVoxelSize() const