17#ifndef __albaGizmoPathRuler_H__
18#define __albaGizmoPathRuler_H__
64 int originTickId = 0,
double ticksHeigth = 50,
double ticksDistance = 20,
bool enableShorterTicks =
true);
72 if(index >= m_GizmoPathVector.size())
74 index = m_GizmoPathVector.size() - 1;
76 return m_GizmoPathVector[index]->GetCurvilinearAbscissa();
97 void HighlightExtremes(
double col[3],
int bound1,
int bound2,
int center,
bool inside =
false);
98 void HighlightExtremes(
double col[3],
double bound1,
double bound2,
double center,
bool inside =
false);
114 albaVMEGizmo *
GetOutput(
int tickId) {
return m_GizmoPathVector[tickId]->GetOutput();};
Implementation of the message object for the Subject/Observer design pattern.
albaGUI is a panel with function to easily create GUI.
Base class for operations and views gizmos.
A gizmo representing a ruler that can move on a polyline.
double GetTicksDistance()
void SetConstraintPolyline(albaVME *constraintPolyline)
Set the constraint polyline: any VME can be provided but its output must be a albaVMEOutputPolyline.
void SetTicksHeigth(double height)
albaVMEGizmo * GetOutput(int tickId)
return the gizmo object
std::vector< albaGizmoPath * > m_GizmoPathVector
void SetInput(albaVME *vme)
This method is used to change the input: this VME is used only to reparent the gizmo to the root.
void HighlightExtremes(double col[3], int bound1, int bound2, int center, bool inside=false)
void SetAbsPose(albaMatrix *absPose)
Set the gizmo pose; not yet implemented!!!
double GetGizmoPathCurvilinearAbscissa(int index)
albaGUI * GetGui()
not yet available...
bool m_EnableShorterTicks
void SetColor(int idGizmo, double col[3])
void HighlightExtremes(double col[3], double bound1, double bound2, double center, bool inside=false)
virtual ~albaGizmoPathRuler()
double m_CurvilinearAbscissa
void SetTicksDistance(double distance)
void OnEventGizmoGui(albaEventBase *alba_event)
Gizmo gui events handling; not yet implemented...
void OnEventGizmoComponents(albaEventBase *alba_event)
Gizmo components events handling.
void SetColor(double col[3])
Set the gizmo color.
void OnEvent(albaEventBase *alba_event)
Events handling.
double GetCurvilinearAbscissa()
void SetColor(double abscissa, double col[3])
albaGizmoPathRuler(albaVME *input, albaObserver *listener=NULL, int ticksNumber=1, int originTickId=0, double ticksHeigth=50, double ticksDistance=20, bool enableShorterTicks=true)
void ResetLabelsVisibility()
void Show(bool show)
Show the gizmo.
void CustomIndexLabelVisibility(int index, int flag)
void SetCurvilinearAbscissa(double s)
Set position of the origin tick along constraint polyline; other ticks will follow.
void SetGizmoLabelsVisibility(bool value)
albaMatrix * GetAbsPose(int tickId)
get the abs pose for each tick
albaMatrix - Time stamped 4x4 Matrix.
Interface implementing the Observer of the Subject/Observer design pattern.