26 #ifndef INTERFACEGEOMETRY_H 27 #define INTERFACEGEOMETRY_H 31 #include <vtkSmartPointer.h> 40 class vtkAlgorithmOutput;
93 virtual const QString
getLabel()
const = 0;
96 virtual void setLabel(QString newName) = 0;
101 virtual vtkSmartPointer<vtkPointSet>
getPointSet() = 0;
109 virtual void setPointSet(vtkSmartPointer<vtkPointSet>) = 0;
112 virtual void setPointData(vtkSmartPointer<vtkDataArray>) = 0;
134 virtual vtkSmartPointer<vtkAlgorithmOutput>
getDataPort()
const = 0;
157 virtual vtkSmartPointer<vtkActor>
getActor(
const RenderingModes) = 0;
160 virtual vtkSmartPointer<vtkProp>
getProp(
const QString&) = 0;
166 virtual vtkSmartPointer<vtkProp>
getProp(
unsigned int) = 0;
176 virtual bool addProp(
const QString&, vtkSmartPointer<vtkProp>) = 0;
179 virtual void setTexture(vtkSmartPointer<vtkTexture>) = 0;
193 virtual void pointPicked(vtkIdType pointId,
bool pickingIsSelecting) = 0;
206 virtual void cellPicked(vtkIdType cellId,
bool pickingIsSelecting) = 0;
215 virtual void getBounds(
double* bounds) = 0;
221 virtual void setPointPosition(
const unsigned int orderNumber,
const double x,
const double y,
const double z) = 0;
242 virtual void setActorColor(
const RenderingModes,
double* color) = 0;
245 virtual void setActorColor(
const RenderingModes,
const double,
const double,
const double) = 0;
250 virtual void getActorColor(
const RenderingModes,
double* color) = 0;
253 virtual void setColor(
const double,
const double,
const double) = 0;
256 virtual void setColor(
const double,
const double,
const double,
const double) = 0;
280 virtual void setGlyphType(
const GlyphTypes type,
const double size = 0.0) = 0;
292 Q_DECLARE_OPERATORS_FOR_FLAGS(camitk::InterfaceGeometry::RenderingModes)
293 Q_DECLARE_OPERATORS_FOR_FLAGS(camitk::InterfaceGeometry::GlyphTypes)
294 Q_DECLARE_OPERATORS_FOR_FLAGS(camitk::InterfaceGeometry::EnhancedModes)
virtual void setTexture(vtkSmartPointer< vtkTexture >)=0
Set a texture to this object.
virtual void setRenderingModes(const RenderingModes)=0
virtual void setPointSet(vtkSmartPointer< vtkPointSet >)=0
set the low-level data set.
there are no glyph type attached to the geometry
Definition: InterfaceGeometry.h:84
no rendering mode, the InterfaceGeometry is not visible
Definition: InterfaceGeometry.h:66
virtual void setActorOpacity(const RenderingModes, const double)=0
Set the opacity of this representation modes. WARNING color field (surfaceColor, ...) are not modified!
Definition: Action.cpp:36
virtual void setOpacity(const double)=0
Set the opacity of this object. WARNING color field (surfaceColor, ...) are not modified! ...
virtual void pointPicked(vtkIdType pointId, bool pickingIsSelecting)=0
This method is called when a vtkPoint included in the vtk representation was picked.
virtual void setPointData(vtkSmartPointer< vtkDataArray >)=0
set the point data (may contains a lookup table).
virtual void cellPicked(vtkIdType cellId, bool pickingIsSelecting)=0
This method is called when a vtkCell included in the vtk representation was picked.
virtual void setColor(const double, const double, const double)=0
Set an (r,g,b) color to all representation modes, without changing the opacity.
virtual ~InterfaceGeometry()=default
empty virtual destructor, to avoid memory leak
virtual void setActorColor(const RenderingModes, double *color)=0
Set the color of given representation modes.
virtual const EnhancedModes getEnhancedModes() const =0
get the current enhanced mode
virtual void setMeshWorldTransform(vtkSmartPointer< vtkTransform >)=0
set the transformation for 3D representation
virtual const QString getLabel() const =0
get the string used to display the label
virtual vtkSmartPointer< vtkAlgorithmOutput > getDataPort() const =0
get the custom algorithm pipeline input.
virtual void setLinesAsTubes(bool)=0
set the lines as tubes (works only for vtkDataSet representation that contains lines) ...
the object is hidden
Definition: InterfaceGeometry.h:76
virtual void setLabel(QString newName)=0
set the string used to display the label
virtual bool removeProp(const QString &)=0
remove a given additional prop.
the surface is visible
Definition: InterfaceGeometry.h:67
virtual void getBounds(double *bounds)=0
compute the object's bounding box [xmin,xmax, ymin,ymax, zmin,zmax]
virtual vtkSmartPointer< vtkProp > getProp(const QString &)=0
Return the vtkProp (actors, volumes and annotations) corresponding to the given name.
virtual const RenderingModes getRenderingModes() const =0
Return if the actor associated to a rendering mode is currently visible or not.
virtual double getBoundingRadius()=0
compute the object's bounding sphere radius
virtual unsigned int getNumberOfProp() const =0
return the number of additional prop
virtual void setEnhancedModes(const EnhancedModes)=0
set the enhanced mode
GlyphType
(and QFlags GlyphTypes) is the type of glyph attached to the geometry representation ...
Definition: InterfaceGeometry.h:83
the object is shaded
Definition: InterfaceGeometry.h:77
virtual vtkSmartPointer< vtkPointSet > getPointSet()=0
EnhancedMode
(and QFlags EnhancedModes) handle the way the rendering actors will be enhanced or not (from complete...
Definition: InterfaceGeometry.h:74
virtual vtkSmartPointer< vtkActor > getActor(const RenderingModes)=0
Return the actor for the representation mode, NULL if the actor doesn't exist.
virtual void setDataConnection(vtkSmartPointer< vtkAlgorithmOutput >)=0
Set/reset the connection for the InterfaceGeometry internal algorithm.
Handle rendering options (surface and wireframe) of an Object3D.
Definition: RenderingMode.h:37
This class describes what are the methods to implement for a Geometry (rendering parameters, input/output, filters, picking parameters...)
Definition: InterfaceGeometry.h:61
virtual void setPointPosition(const unsigned int orderNumber, const double x, const double y, const double z)=0
set a given point position
virtual double getActorOpacity(const RenderingModes) const =0
Return the opacity of a given renderng mode.
virtual void getActorColor(const RenderingModes, double *color)=0
Get the color of given representation modes in the second parameter.
the object is highlighted
Definition: InterfaceGeometry.h:78
the glyph is a nice sphere
Definition: InterfaceGeometry.h:85
virtual void setGlyphType(const GlyphTypes type, const double size=0.0)=0
Set the glyph type (a glyph is a geometric representation attached to every point in the input datase...
the object is normally displayed
Definition: InterfaceGeometry.h:75
the wireframe is visible
Definition: InterfaceGeometry.h:68
the points are visible
Definition: InterfaceGeometry.h:69
virtual bool addProp(const QString &, vtkSmartPointer< vtkProp >)=0
insert an additional prop, defining it by its name (default visibility = false).
virtual void setMapperScalarRange(double min, double max)=0
Set the mapper scalar range.