ALBA
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
albaGizmoCrossRotateFan Class Reference

#include <albaGizmoCrossRotateFan.h>

Inheritance diagram for albaGizmoCrossRotateFan:
Inheritance graph
[legend]
Collaboration diagram for albaGizmoCrossRotateFan:
Collaboration graph
[legend]

Public Types

enum  AXIS { X = 0 , Y , Z }
 
- Public Types inherited from albaGizmoInterface
enum  MODALITY { G_LOCAL = 0 , G_GLOBAL }
 

Public Member Functions

 albaGizmoCrossRotateFan (albaVME *input, albaObserver *listener=NULL)
 
virtual ~albaGizmoCrossRotateFan ()
 
void SetInput (albaVME *vme)
 
albaVMEGetInput ()
 
void SetListener (albaObserver *Listener)
 
virtual void OnEvent (albaEventBase *alba_event)
 
void SetAxis (int axis)
 
int GetAxis ()
 
void Show (bool show)
 
void SetRadius (double radius)
 
double GetRadius ()
 
void SetAbsPose (albaMatrix *absPose)
 
- Public Member Functions inherited from albaGizmoInterface
void SetName (albaString name)
 
albaString GetName ()
 
virtual void SetInput (albaVME *vme)
 
albaVMEGetInput ()
 
void SetMediator (albaObserver *mediator)
 
albaObserverGetMediator ()
 
void SetAutoscale (bool autoscale)
 
bool GetAutoscale ()
 
void SetRenderWindowHeightPercentage (double percentage)
 
double GetRenderWindowHeightPercentage ()
 
void SetAlwaysVisible (bool alwaysVisible)
 
bool GetAlwaysVisible ()
 
void SetListener (albaObserver *listener)
 
albaObserverGetListener ()
 
virtual void OnEvent (albaEventBase *alba_event)
 
virtual void Show (bool show)
 
void SetModalityToLocal ()
 
void SetModalityToGlobal ()
 
int GetModality ()
 
virtual void SetAbsPose (albaMatrix *absPose)
 
virtual albaMatrixGetAbsPose ()
 
virtual albaGUIGetGui ()
 
- Public Member Functions inherited from albaObserver
 albaObserver ()
 
virtual ~albaObserver ()
 
virtual void OnEvent (albaEventBase *e)=0
 

Protected Types

enum  MIRROR_STATUS { OFF = 0 , ON }
 

Protected Member Functions

void CreatePipeline ()
 
void SetColor (double col[3])
 
void SetColor (double colR, double colG, double colB)
 
double PointPickedToStartTheta (double xp, double yp, double zp)
 
void SetRefSysMatrix (albaMatrix *matrix)
 
- Protected Member Functions inherited from albaGizmoInterface
 albaGizmoInterface ()
 
virtual ~albaGizmoInterface ()
 
void SendTransformMatrix (albaMatrix *matrix, int eventId, long arg)
 
virtual void OnEventGizmoGui (albaEventBase *alba_event)
 
virtual void OnEventGizmoComponents (albaEventBase *alba_event)
 

Protected Attributes

albaVMEm_InputVme
 
albaObserverm_Listener
 
int m_ActiveAxis
 
vtkSphereSource * m_Sphere
 
vtkTransform * m_RotateFanTransform
 
vtkTransformPolyDataFilter * m_RotateFanTPDF
 
vtkTransform * m_ChangeFanAxisTransform
 
vtkTransformPolyDataFilter * m_ChangeFanAxisTPDF
 
albaVMEGizmo * m_Gizmo
 
double m_StartTheta
 
double m_EndTheta
 
int m_MirrorStatus
 
vtkTransform * m_MirrorTr
 
vtkTransform * m_BufferTr
 
vtkTransformPolyDataFilter * m_MirrorTPDF
 
albaRefSysm_RefSys
 
- Protected Attributes inherited from albaGizmoInterface
albaObserverm_Mediator
 
albaString m_Name
 
albaVMEm_InputVME
 
int m_Modality
 
albaObserverm_Listener
 
albaVMEm_RefSysVME
 
bool m_Visibility
 
double m_RenderWindowHeightPercentage
 
bool m_AlwaysVisible
 
bool m_Autoscale
 

Friends

class albaGizmoRotateFanTest
 

Detailed Description

Basic gizmo component used to give rotation angle feedback.

This gizmo draws a fan centered at rotation origin giving visual feedback for rotation angle value.

z               x              y
^               ^              ^
|               |              |
|   /|          |  /|          |   /|
| /  |          |/  |          | /  |
x-------> y     y-------> z    z-------> x

    X               Y            Z

This component notifies the listener with the activeGizmoAxis
and the localRotationAngle around the activGizmoAxis

albaString activeGizmoAxis = *(event->GetString()); // "X", "Y" or "Z" string double localRotationAngle = event->GetDouble();

Definition at line 70 of file albaGizmoCrossRotateFan.h.

Member Enumeration Documentation

◆ AXIS

axis enum

Enumerator

Definition at line 96 of file albaGizmoCrossRotateFan.h.

◆ MIRROR_STATUS

Enumerator
OFF 
ON 

Definition at line 168 of file albaGizmoCrossRotateFan.h.

Constructor & Destructor Documentation

◆ albaGizmoCrossRotateFan()

albaGizmoCrossRotateFan::albaGizmoCrossRotateFan ( albaVME input,
albaObserver listener = NULL 
)

◆ ~albaGizmoCrossRotateFan()

virtual albaGizmoCrossRotateFan::~albaGizmoCrossRotateFan ( )
virtual

Member Function Documentation

◆ SetInput()

void albaGizmoCrossRotateFan::SetInput ( albaVME vme)
virtual

Set the gizmo generating vme; the gizmo will be centered on this vme.

Reimplemented from albaGizmoInterface.

◆ GetInput()

albaVME * albaGizmoCrossRotateFan::GetInput ( )
inline

Definition at line 79 of file albaGizmoCrossRotateFan.h.

References m_InputVme.

◆ SetListener()

void albaGizmoCrossRotateFan::SetListener ( albaObserver Listener)
inline

Set the event receiver object.

Definition at line 86 of file albaGizmoCrossRotateFan.h.

References m_Listener.

◆ OnEvent()

virtual void albaGizmoCrossRotateFan::OnEvent ( albaEventBase alba_event)
virtual

Events handling.

Reimplemented from albaGizmoInterface.

◆ SetAxis()

void albaGizmoCrossRotateFan::SetAxis ( int  axis)

Set/Get gizmo axis, default axis is X.

◆ GetAxis()

int albaGizmoCrossRotateFan::GetAxis ( )

Get gizmo axis.

◆ Show()

void albaGizmoCrossRotateFan::Show ( bool  show)
virtual

Show gizmo.

Reimplemented from albaGizmoInterface.

◆ SetRadius()

void albaGizmoCrossRotateFan::SetRadius ( double  radius)

Set/Get the radius of the gizmo.

◆ GetRadius()

double albaGizmoCrossRotateFan::GetRadius ( )

◆ SetAbsPose()

void albaGizmoCrossRotateFan::SetAbsPose ( albaMatrix absPose)
virtual

Set the abs pose.

Reimplemented from albaGizmoInterface.

◆ CreatePipeline()

void albaGizmoCrossRotateFan::CreatePipeline ( )
protected

gizmo data

Create vtk objects needed

◆ SetColor() [1/2]

void albaGizmoCrossRotateFan::SetColor ( double  col[3])
protected

m_Gizmo color setting facilities for gizmo segments;

◆ SetColor() [2/2]

void albaGizmoCrossRotateFan::SetColor ( double  colR,
double  colG,
double  colB 
)
protected

◆ PointPickedToStartTheta()

double albaGizmoCrossRotateFan::PointPickedToStartTheta ( double  xp,
double  yp,
double  zp 
)
protected

Get the start theta from abs pick coordinates.

◆ SetRefSysMatrix()

void albaGizmoCrossRotateFan::SetRefSysMatrix ( albaMatrix matrix)
protected

Set the reference system matrix.

Reference system type is set to CUSTOM.

Friends And Related Function Documentation

◆ albaGizmoRotateFanTest

friend class albaGizmoRotateFanTest
friend

Test Friend.

Definition at line 187 of file albaGizmoCrossRotateFan.h.

Member Data Documentation

◆ m_InputVme

albaVME* albaGizmoCrossRotateFan::m_InputVme
protected

Register input vme.

Definition at line 127 of file albaGizmoCrossRotateFan.h.

Referenced by GetInput().

◆ m_Listener

albaObserver* albaGizmoCrossRotateFan::m_Listener
protected

Register the event receiver object.

Definition at line 131 of file albaGizmoCrossRotateFan.h.

Referenced by SetListener().

◆ m_ActiveAxis

int albaGizmoCrossRotateFan::m_ActiveAxis
protected

Register the gizmo axis.

Definition at line 134 of file albaGizmoCrossRotateFan.h.

◆ m_Sphere

vtkSphereSource* albaGizmoCrossRotateFan::m_Sphere
protected

Create the sphere.

Definition at line 137 of file albaGizmoCrossRotateFan.h.

◆ m_RotateFanTransform

vtkTransform* albaGizmoCrossRotateFan::m_RotateFanTransform
protected

Transform to rotate the fan around Z axis after creation to match new m_StartTheta angle.

Definition at line 141 of file albaGizmoCrossRotateFan.h.

◆ m_RotateFanTPDF

vtkTransformPolyDataFilter* albaGizmoCrossRotateFan::m_RotateFanTPDF
protected

Definition at line 143 of file albaGizmoCrossRotateFan.h.

◆ m_ChangeFanAxisTransform

vtkTransform* albaGizmoCrossRotateFan::m_ChangeFanAxisTransform
protected

sphere transform

Definition at line 146 of file albaGizmoCrossRotateFan.h.

◆ m_ChangeFanAxisTPDF

vtkTransformPolyDataFilter* albaGizmoCrossRotateFan::m_ChangeFanAxisTPDF
protected

rotate PDF for sphere

Definition at line 149 of file albaGizmoCrossRotateFan.h.

◆ m_Gizmo

albaVMEGizmo* albaGizmoCrossRotateFan::m_Gizmo
protected

Fan gizmo.

Definition at line 152 of file albaGizmoCrossRotateFan.h.

◆ m_StartTheta

double albaGizmoCrossRotateFan::m_StartTheta
protected

Start angle and end angle.

Definition at line 165 of file albaGizmoCrossRotateFan.h.

◆ m_EndTheta

double albaGizmoCrossRotateFan::m_EndTheta
protected

Definition at line 166 of file albaGizmoCrossRotateFan.h.

◆ m_MirrorStatus

int albaGizmoCrossRotateFan::m_MirrorStatus
protected

Register the mirror status of the fan; default status is off.

Definition at line 171 of file albaGizmoCrossRotateFan.h.

◆ m_MirrorTr

vtkTransform* albaGizmoCrossRotateFan::m_MirrorTr
protected

Definition at line 173 of file albaGizmoCrossRotateFan.h.

◆ m_BufferTr

vtkTransform* albaGizmoCrossRotateFan::m_BufferTr
protected

Definition at line 174 of file albaGizmoCrossRotateFan.h.

◆ m_MirrorTPDF

vtkTransformPolyDataFilter* albaGizmoCrossRotateFan::m_MirrorTPDF
protected

Definition at line 175 of file albaGizmoCrossRotateFan.h.

◆ m_RefSys

albaRefSys* albaGizmoCrossRotateFan::m_RefSys
protected

Definition at line 184 of file albaGizmoCrossRotateFan.h.


The documentation for this class was generated from the following file: