18 #ifndef __igstkObjectRepresentation_h
19 #define __igstkObjectRepresentation_h
22 #pragma warning ( disable : 4786 )
26 #include "itkCommand.h"
83 typedef std::vector< vtkProp* > ActorsListType;
89 void SetColor(ColorScalarType r, ColorScalarType g, ColorScalarType b);
92 ColorScalarType
GetRed() const;
94 ColorScalarType
GetBlue() const;
130 virtual
void PrintSelf( std::ostream& os, itk::Indent indent ) const;
147 void operator=(const Self&);
152 virtual
void UpdateRepresentationProcessing() = 0;
156 void RequestVerifyTimeStampAndUpdateVisibility();
163 void SetSpatialObjectProcessing();
166 void ReportInvalidRequestProcessing();
171 void MakeObjectsInvisibleProcessing();
175 void MakeObjectsVisibleProcessing();
179 void ReceiveSpatialObjectTransformProcessing();
185 void ReceiveTransformNotAvailableProcessing();
190 void RequestGetTransformProcessing();
194 void RequestSetActorVisibility( vtkProp * );
198 void SetActorVisibleProcessing();
199 void SetActorInvisibleProcessing();
203 ColorScalarType m_Color[3];
222 StateMachineType m_VisibilityStateMachine;
230 vtkProp * m_VisibilitySetActor;
233 igstkDeclareInputMacro( NullSpatialObject );
234 igstkDeclareInputMacro( ValidSpatialObject );
235 igstkDeclareInputMacro( UpdateRepresentation );
236 igstkDeclareInputMacro( SpatialObjectTransform );
237 igstkDeclareInputMacro( TransformNotAvailable );
240 igstkDeclareStateMacro( NullSpatialObject );
241 igstkDeclareStateMacro( ValidSpatialObject );
242 igstkDeclareStateMacro( AttemptingGetTransform );
253 igstkEventTransductionMacro(
254 TransformNotAvailable,
255 TransformNotAvailable);
258 igstkLoadedEventTransductionMacro(
259 CoordinateSystemTransformTo,
260 SpatialObjectTransform );
263 igstkDeclareInputMacro( ValidTimeStamp );
264 igstkDeclareInputMacro( InvalidTimeStamp );
265 igstkDeclareInputMacro( SetActorVisibility );
268 igstkDeclareStateMacro( Visible );
269 igstkDeclareStateMacro( Invisible );
275 #endif // __igstkObjectRepresentation_h
virtual void CreateActors()=0
Create the vtkActors.
TimeStamp provides periods of validity for data.
#define igstkStandardAbstractClassTraitsMacro(classname, superclassname)
Convenience macro for traits of an abstract non-templated class.
#define igstkGetMacro(name, type)
Get built-in type.
virtual void SetOpacity(OpacityType alpha)
Set/Get the opacity.
virtual void RequestUpdateRepresentation(const TimeStamp &time, const CoordinateSystem *cs)
Update the visual representation with changes in the geometry.
Geometrical abstraction of physical objects present in the surgical scene.
igstkStandardAbstractClassTraitsMacro(ObjectRepresentation, Object) public typedef double ColorScalarType
Macro with standard traits declarations.
Base class for all the IGSTK classes.
ColorScalarType GetRed() const
Get each color component.
void RequestSetSpatialObject(const SpatialObject *spatialObject)
Request the state machine to set a Spatial Object.
defines standard system-wide macros, constants, and other common parameters in the IGSTK Library...
ColorScalarType GetGreen() const
::itk::SmartPointer< Self > Pointer
virtual void PrintSelf(std::ostream &os, itk::Indent indent) const
Print the object informations in a stream.
void AddActor(vtkProp *)
Add an actor to the list.
virtual bool VerifyTimeStamp() const
Verify the time stamp.
double OpacityType
Type for representing the opacity of the object.
virtual void DeleteActors()
Empty the list of actors.
This class represents the frame of a coordinate reference system.
::itk::SmartPointer< const Self > ConstPointer
An abstract base class for all the igstk representation objects.
ColorScalarType GetBlue() const
TimeStamp GetRenderTimeStamp() const
Get Time stamp for the time at which the next rendering will take place.
void SetColor(ColorScalarType r, ColorScalarType g, ColorScalarType b)
Set the color.