VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
vtkControlPointsItem Class Reference

Abstract class for control points items. More...

#include <vtkControlPointsItem.h>

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

List of all members.

Public Types

enum  { CurrentPointChangedEvent = vtkCommand::UserEvent, CurrentPointEditEvent }
typedef vtkPlot Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkControlPointsItemNewInstance () const
virtual void PrintSelf (ostream &os, vtkIndent indent)
virtual void GetBounds (double bounds[4])
virtual bool Paint (vtkContext2D *painter)
void SelectPoint (vtkIdType pointId)
void SelectPoint (double *currentPoint)
void SelectAllPoints ()
void DeselectPoint (vtkIdType pointId)
void DeselectPoint (double *currentPoint)
void DeselectAllPoints ()
void ToggleSelectPoint (vtkIdType pointId)
void ToggleSelectPoint (double *currentPoint)
virtual bool SelectPoints (const vtkVector2f &min, const vtkVector2f &max)
vtkIdType GetNumberOfSelectedPoints () const
vtkIdType FindPoint (double *pos)
bool IsOverPoint (double *pos, vtkIdType pointId)
vtkIdType GetControlPointId (double *pos)
virtual vtkIdType AddPoint (double *newPos)=0
virtual vtkIdType RemovePoint (double *pos)=0
vtkIdType RemovePoint (vtkIdType pointId)
void RemoveCurrentPoint ()
virtual vtkIdType GetNumberOfPoints () const =0
virtual void GetControlPoint (vtkIdType index, double *point) const =0
virtual void SetControlPoint (vtkIdType index, double *point)=0
void MovePoints (const vtkVector2f &translation, vtkIdTypeArray *pointIds)
void MovePoints (const vtkVector2f &translation, bool dontMoveFirstAndLast=false)
void SpreadPoints (float factor, vtkIdTypeArray *pointIds)
void SpreadPoints (float factor, bool dontSpreadFirstAndLast=false)
vtkIdType GetCurrentPoint () const
void SetCurrentPoint (vtkIdType index)
void ResetBounds ()
virtual bool MouseMoveEvent (const vtkContextMouseEvent &mouse)
virtual bool KeyPressEvent (const vtkContextKeyEvent &key)
virtual bool KeyReleaseEvent (const vtkContextKeyEvent &key)
virtual void SetUserBounds (double, double, double, double)
virtual void SetUserBounds (double[4])
virtual doubleGetUserBounds ()
virtual void GetUserBounds (double &, double &, double &, double &)
virtual void GetUserBounds (double[4])
virtual void SetValidBounds (double, double, double, double)
virtual void SetValidBounds (double[4])
virtual doubleGetValidBounds ()
virtual void GetValidBounds (double &, double &, double &, double &)
virtual void GetValidBounds (double[4])
virtual float GetScreenPointRadius ()
virtual void SetScreenPointRadius (float)
void GetControlPointsIds (vtkIdTypeArray *ids, bool excludeFirstAndLast=false) const
virtual bool GetStrokeMode ()
virtual void SetSwitchPointsMode (bool)
virtual bool GetSwitchPointsMode ()
virtual void SetEndPointsXMovable (bool)
virtual bool GetEndPointsXMovable ()
virtual void SetEndPointsYMovable (bool)
virtual bool GetEndPointsYMovable ()
virtual bool GetEndPointsMovable ()
virtual void SetEndPointsRemovable (bool)
virtual bool GetEndPointsRemovable ()
virtual vtkPenGetSelectedPointPen ()
virtual vtkBrushGetSelectedPointBrush ()
virtual bool MouseButtonPressEvent (const vtkContextMouseEvent &mouse)
virtual bool MouseDoubleClickEvent (const vtkContextMouseEvent &mouse)

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkControlPointsItemSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkControlPointsItem ()
virtual ~vtkControlPointsItem ()
void StartChanges ()
void EndChanges ()
void StartInteraction ()
void StartInteractionIfNotStarted ()
void Interaction ()
void EndInteraction ()
int GetInteractionsCount () const
virtual void emitEvent (unsigned long event, void *params=0)=0
virtual bool Hit (const vtkContextMouseEvent &mouse)
void SetCurrentPointPos (const vtkVector2f &newPos)
vtkIdType SetPointPos (vtkIdType point, const vtkVector2f &newPos)
void MoveCurrentPoint (const vtkVector2f &translation)
vtkIdType MovePoint (vtkIdType point, const vtkVector2f &translation)
vtkVector2f GetSelectionCenterOfMass () const
vtkVector2f GetCenterOfMass (vtkIdTypeArray *pointIDs) const
void Stroke (const vtkVector2f &newPos)
virtual void EditPoint (float vtkNotUsed(tX), float vtkNotUsed(tY))
virtual bool MouseButtonReleaseEvent (const vtkContextMouseEvent &mouse)
void AddPointId (vtkIdType addedPointId)
bool IsEndPointPicked ()
bool IsPointRemovable (vtkIdType pointId)
virtual void ComputePoints ()
virtual unsigned long int GetControlPointsMTime ()=0
bool ClampPos (double pos[2], double bounds[4])
bool ClampValidPos (double pos[2])
void DrawUnselectedPoints (vtkContext2D *painter)
void DrawSelectedPoints (vtkContext2D *painter)
virtual void DrawPoint (vtkContext2D *painter, vtkIdType index)

Static Protected Member Functions

static void CallComputePoints (vtkObject *sender, unsigned long event, void *receiver, void *params)

Protected Attributes

vtkCallbackCommandCallback
vtkPenSelectedPointPen
vtkBrushSelectedPointBrush
int BlockUpdates
int StartedInteractions
vtkIdType CurrentPoint
double Bounds [4]
double UserBounds [4]
double ValidBounds [4]
vtkTransform2DTransform
float ScreenPointRadius
bool StrokeMode
bool SwitchPointsMode
bool MouseMoved
bool EnforceValidFunction
vtkIdType PointToDelete
bool PointAboutToBeDeleted
vtkIdType PointToToggle
bool PointAboutToBeToggled
bool InvertShadow
bool EndPointsXMovable
bool EndPointsYMovable
bool EndPointsRemovable

Detailed Description

Abstract class for control points items.

vtkControlPointsItem provides control point painting and management for subclasses that provide points (typically control points of a transfer function)

See also:
vtkScalarsToColorsItem vtkPiecewiseControlPointsItem
Tests:
vtkControlPointsItem (Tests)

Definition at line 43 of file vtkControlPointsItem.h.


Member Typedef Documentation


Member Enumeration Documentation

anonymous enum
Enumerator:
CurrentPointChangedEvent 
CurrentPointEditEvent 

Definition at line 49 of file vtkControlPointsItem.h.


Constructor & Destructor Documentation

virtual vtkControlPointsItem::~vtkControlPointsItem ( ) [protected, virtual]

Member Function Documentation

static int vtkControlPointsItem::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkPlot.

Reimplemented in vtkCompositeControlPointsItem, vtkPiecewiseControlPointsItem, and vtkColorTransferControlPointsItem.

virtual int vtkControlPointsItem::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkPlot.

Reimplemented in vtkCompositeControlPointsItem, vtkPiecewiseControlPointsItem, and vtkColorTransferControlPointsItem.

virtual vtkObjectBase* vtkControlPointsItem::NewInstanceInternal ( ) const [protected, virtual]
virtual void vtkControlPointsItem::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkPlot.

Reimplemented in vtkCompositeControlPointsItem, vtkPiecewiseControlPointsItem, and vtkColorTransferControlPointsItem.

virtual void vtkControlPointsItem::GetBounds ( double  bounds[4]) [virtual]

Bounds of the item, typically the bound of all the control points except if custom bounds have been set

See also:
SetUserBounds.

Reimplemented from vtkPlot.

virtual void vtkControlPointsItem::SetUserBounds ( double  ,
double  ,
double  ,
double   
) [virtual]

Set custom bounds, except if bounds are invalid, bounds will be automatically computed based on the range of the control points Invalid bounds by default.

virtual void vtkControlPointsItem::SetUserBounds ( double  [4]) [virtual]

Set custom bounds, except if bounds are invalid, bounds will be automatically computed based on the range of the control points Invalid bounds by default.

Set custom bounds, except if bounds are invalid, bounds will be automatically computed based on the range of the control points Invalid bounds by default.

virtual void vtkControlPointsItem::GetUserBounds ( double ,
double ,
double ,
double  
) [virtual]

Set custom bounds, except if bounds are invalid, bounds will be automatically computed based on the range of the control points Invalid bounds by default.

virtual void vtkControlPointsItem::GetUserBounds ( double  [4]) [virtual]

Set custom bounds, except if bounds are invalid, bounds will be automatically computed based on the range of the control points Invalid bounds by default.

virtual void vtkControlPointsItem::SetValidBounds ( double  ,
double  ,
double  ,
double   
) [virtual]

Controls the valid range for the values. An invalid value (0, -1, 0., -1, 0, -1.) indicates that the valid range is the current bounds. It is the default behavior.

virtual void vtkControlPointsItem::SetValidBounds ( double  [4]) [virtual]

Controls the valid range for the values. An invalid value (0, -1, 0., -1, 0, -1.) indicates that the valid range is the current bounds. It is the default behavior.

Controls the valid range for the values. An invalid value (0, -1, 0., -1, 0, -1.) indicates that the valid range is the current bounds. It is the default behavior.

virtual void vtkControlPointsItem::GetValidBounds ( double ,
double ,
double ,
double  
) [virtual]

Controls the valid range for the values. An invalid value (0, -1, 0., -1, 0, -1.) indicates that the valid range is the current bounds. It is the default behavior.

virtual void vtkControlPointsItem::GetValidBounds ( double  [4]) [virtual]

Controls the valid range for the values. An invalid value (0, -1, 0., -1, 0, -1.) indicates that the valid range is the current bounds. It is the default behavior.

Get/set the radius for screen points. Default is 6.f

virtual void vtkControlPointsItem::SetScreenPointRadius ( float  ) [virtual]

Get/set the radius for screen points. Default is 6.f

virtual bool vtkControlPointsItem::Paint ( vtkContext2D painter) [virtual]

Paint the points with a fixed size (cosmetic) which doesn't depend on the scene zoom factor. Selected and unselected points are drawn with a different color.

Reimplemented from vtkAbstractContextItem.

Select a point by its ID

void vtkControlPointsItem::SelectPoint ( double currentPoint)

Utility function that selects a point providing its coordinates. To be found, the position of the point must be no further away than its painted point size

Select all the points

Unselect a point by its ID

void vtkControlPointsItem::DeselectPoint ( double currentPoint)

Utility function that unselects a point providing its coordinates. To be found, the position of the point must be no further away than its painted point size

Unselect all the previously selected points

Toggle the selection of a point by its ID. If the point was selected then unselect it, otherwise select it.

Utility function that toggles the selection a point providing its coordinates. To be found, the position of the point must be no further away than its painted point size

virtual bool vtkControlPointsItem::SelectPoints ( const vtkVector2f min,
const vtkVector2f max 
) [virtual]

Select all points in the specified rectangle.

Reimplemented from vtkPlot.

Return the number of selected points.

Returns the vtkIdType of the point given its coordinates and a tolerance based on the screen point size.

bool vtkControlPointsItem::IsOverPoint ( double pos,
vtkIdType  pointId 
)

Returns true if pos is above the pointId point, false otherwise. It uses the size of the drawn point. To search what point is under the pos, use the more efficient

See also:
FindPoint() instead.

Returns the id of the control point exactly matching pos, -1 if not found.

void vtkControlPointsItem::GetControlPointsIds ( vtkIdTypeArray ids,
bool  excludeFirstAndLast = false 
) const

Utility function that returns an array of all the control points IDs Typically: [0, 1, 2, ... n -1] where n is the point count Can exclude the first and last point ids from the array.

virtual bool vtkControlPointsItem::GetStrokeMode ( ) [virtual]

Controls whether or not control points are drawn (true) or clicked and moved (false). False by default.

virtual void vtkControlPointsItem::SetSwitchPointsMode ( bool  ) [virtual]

If DrawPoints is false, SwitchPoints controls the behavior when a control point is dragged past another point. The crossed point becomes current (true) or the current point is blocked/stopped (false). False by default.

virtual bool vtkControlPointsItem::GetSwitchPointsMode ( ) [virtual]

If DrawPoints is false, SwitchPoints controls the behavior when a control point is dragged past another point. The crossed point becomes current (true) or the current point is blocked/stopped (false). False by default.

virtual void vtkControlPointsItem::SetEndPointsXMovable ( bool  ) [virtual]

If EndPointsMovable is false, the two end points will not be moved. True by default.

virtual bool vtkControlPointsItem::GetEndPointsXMovable ( ) [virtual]

If EndPointsMovable is false, the two end points will not be moved. True by default.

virtual void vtkControlPointsItem::SetEndPointsYMovable ( bool  ) [virtual]

If EndPointsMovable is false, the two end points will not be moved. True by default.

virtual bool vtkControlPointsItem::GetEndPointsYMovable ( ) [virtual]

If EndPointsMovable is false, the two end points will not be moved. True by default.

virtual bool vtkControlPointsItem::GetEndPointsMovable ( ) [virtual]

If EndPointsMovable is false, the two end points will not be moved. True by default.

virtual void vtkControlPointsItem::SetEndPointsRemovable ( bool  ) [virtual]

If EndPointsRemovable is false, the two end points will not be be removed. True by default.

virtual bool vtkControlPointsItem::GetEndPointsRemovable ( ) [virtual]

If EndPointsRemovable is false, the two end points will not be be removed. True by default.

virtual vtkIdType vtkControlPointsItem::AddPoint ( double newPos) [pure virtual]

Add a point to the function. Returns the index of the point (0 based), or -1 on error. Subclasses should reimplement this function to do the actual work.

Implemented in vtkCompositeControlPointsItem, vtkColorTransferControlPointsItem, and vtkPiecewiseControlPointsItem.

virtual vtkIdType vtkControlPointsItem::RemovePoint ( double pos) [pure virtual]

Remove a point of the function. Returns the index of the point (0 based), or -1 on error. Subclasses should reimplement this function to do the actual work.

Implemented in vtkCompositeControlPointsItem, vtkColorTransferControlPointsItem, and vtkPiecewiseControlPointsItem.

Remove a point give its id. It is a utility function that internally call the virtual method RemovePoint(double*) and return its result.

Remove the current point.

Definition at line 363 of file vtkControlPointsItem.h.

virtual vtkIdType vtkControlPointsItem::GetNumberOfPoints ( ) const [pure virtual]

Returns the total number of points

Implemented in vtkCompositeControlPointsItem, vtkPiecewiseControlPointsItem, and vtkColorTransferControlPointsItem.

virtual void vtkControlPointsItem::GetControlPoint ( vtkIdType  index,
double point 
) const [pure virtual]

Returns the x and y coordinates as well as the midpoint and sharpness of the control point corresponding to the index. point must be a double array of size 4.

Implemented in vtkCompositeControlPointsItem, vtkPiecewiseControlPointsItem, and vtkColorTransferControlPointsItem.

virtual void vtkControlPointsItem::SetControlPoint ( vtkIdType  index,
double point 
) [pure virtual]

Sets the x and y coordinates as well as the midpoint and sharpness of the control point corresponding to the index.

Implemented in vtkCompositeControlPointsItem, vtkPiecewiseControlPointsItem, and vtkColorTransferControlPointsItem.

void vtkControlPointsItem::MovePoints ( const vtkVector2f translation,
vtkIdTypeArray pointIds 
)

Move the points referred by pointIds by a given translation. The new positions won't be outside the bounds. MovePoints is typically called with GetControlPointsIds() or GetSelection(). Warning: if you pass this->GetSelection(), the array is deleted after each individual point move. Increase the reference count of the array. See also MoveAllPoints()

void vtkControlPointsItem::MovePoints ( const vtkVector2f translation,
bool  dontMoveFirstAndLast = false 
)

Utility function to move all the control points of the given translation If dontMoveFirstAndLast is true, then the first and last points won't be moved.

void vtkControlPointsItem::SpreadPoints ( float  factor,
vtkIdTypeArray pointIds 
)

Spread the points referred by pointIds If factor > 0, points are moved away from each other. If factor < 0, points are moved closer to each other SpreadPoints is typically called with GetControlPointsIds() or GetSelection(). Warning: if you pass this->GetSelection(), the array is deleted after each individual point move. Increase the reference count of the array.

void vtkControlPointsItem::SpreadPoints ( float  factor,
bool  dontSpreadFirstAndLast = false 
)

Utility function to spread all the control points of a given factor If dontSpreadFirstAndLast is true, then the first and last points won't be spread.

Returns the current point ID selected or -1 if there is no point current. No current point by default.

Sets the current point selected.

Gets the selected point pen and brush.

Depending on the control points item, the brush might not be taken into account.

Recompute the bounds next time they are requested. You shouldn't have to call it but it is provided for rare cases.

virtual bool vtkControlPointsItem::MouseButtonPressEvent ( const vtkContextMouseEvent mouse) [virtual]

Mouse button down event.

Reimplemented from vtkAbstractContextItem.

Reimplemented in vtkCompositeControlPointsItem.

virtual bool vtkControlPointsItem::MouseDoubleClickEvent ( const vtkContextMouseEvent mouse) [virtual]

Mouse button down event.

Reimplemented from vtkAbstractContextItem.

Reimplemented in vtkCompositeControlPointsItem.

virtual bool vtkControlPointsItem::MouseMoveEvent ( const vtkContextMouseEvent mouse) [virtual]

Mouse move event.

Reimplemented from vtkAbstractContextItem.

Reimplemented in vtkCompositeControlPointsItem.

virtual bool vtkControlPointsItem::KeyPressEvent ( const vtkContextKeyEvent key) [virtual]

Key press event.

Reimplemented from vtkAbstractContextItem.

virtual bool vtkControlPointsItem::KeyReleaseEvent ( const vtkContextKeyEvent key) [virtual]

Key release event.

Reimplemented from vtkAbstractContextItem.

void vtkControlPointsItem::StartChanges ( ) [protected]
void vtkControlPointsItem::EndChanges ( ) [protected]
void vtkControlPointsItem::Interaction ( ) [protected]
virtual void vtkControlPointsItem::emitEvent ( unsigned long  event,
void *  params = 0 
) [protected, pure virtual]
static void vtkControlPointsItem::CallComputePoints ( vtkObject sender,
unsigned long  event,
void *  receiver,
void *  params 
) [static, protected]
virtual void vtkControlPointsItem::ComputePoints ( ) [protected, virtual]

Must be reimplemented by subclasses to calculate the points to draw. It's subclass responsibility to call ComputePoints() via the callback

virtual unsigned long int vtkControlPointsItem::GetControlPointsMTime ( ) [protected, pure virtual]

Must be reimplemented by subclasses to calculate the points to draw. It's subclass responsibility to call ComputePoints() via the callback

Implemented in vtkCompositeControlPointsItem, vtkColorTransferControlPointsItem, and vtkPiecewiseControlPointsItem.

virtual bool vtkControlPointsItem::Hit ( const vtkContextMouseEvent mouse) [protected, virtual]

Returns true if the supplied x, y coordinate is on a control point.

Reimplemented from vtkAbstractContextItem.

bool vtkControlPointsItem::ClampPos ( double  pos[2],
double  bounds[4] 
) [protected]

Clamp the given 2D pos into the bounds of the function. Return true if the pos has been clamped, false otherwise.

bool vtkControlPointsItem::ClampValidPos ( double  pos[2]) [protected]

Clamp the given 2D pos into the bounds of the function. Return true if the pos has been clamped, false otherwise.

Internal function that paints a collection of points and optionally excludes some.

void vtkControlPointsItem::DrawSelectedPoints ( vtkContext2D painter) [protected]

Internal function that paints a collection of points and optionally excludes some.

virtual void vtkControlPointsItem::DrawPoint ( vtkContext2D painter,
vtkIdType  index 
) [protected, virtual]

Internal function that paints a collection of points and optionally excludes some.

Reimplemented in vtkCompositeControlPointsItem, and vtkColorTransferControlPointsItem.

void vtkControlPointsItem::SetCurrentPointPos ( const vtkVector2f newPos) [protected]
vtkIdType vtkControlPointsItem::SetPointPos ( vtkIdType  point,
const vtkVector2f newPos 
) [protected]
void vtkControlPointsItem::MoveCurrentPoint ( const vtkVector2f translation) [protected]
vtkIdType vtkControlPointsItem::MovePoint ( vtkIdType  point,
const vtkVector2f translation 
) [protected]

Definition at line 369 of file vtkControlPointsItem.h.

void vtkControlPointsItem::Stroke ( const vtkVector2f newPos) [protected]
virtual void vtkControlPointsItem::EditPoint ( float   vtkNotUsedtX,
float   vtkNotUsedtY 
) [protected, virtual]
virtual bool vtkControlPointsItem::MouseButtonReleaseEvent ( const vtkContextMouseEvent mouse) [protected, virtual]

Mouse button release event.

Reimplemented from vtkAbstractContextItem.

void vtkControlPointsItem::AddPointId ( vtkIdType  addedPointId) [protected]

Return true if any of the end points is current point or part of the selection

bool vtkControlPointsItem::IsPointRemovable ( vtkIdType  pointId) [protected]

Return true if the point is removable


Member Data Documentation

Definition at line 326 of file vtkControlPointsItem.h.

Definition at line 327 of file vtkControlPointsItem.h.

Definition at line 328 of file vtkControlPointsItem.h.

Definition at line 329 of file vtkControlPointsItem.h.

Definition at line 330 of file vtkControlPointsItem.h.

Definition at line 331 of file vtkControlPointsItem.h.

Definition at line 333 of file vtkControlPointsItem.h.

Definition at line 334 of file vtkControlPointsItem.h.

Definition at line 335 of file vtkControlPointsItem.h.

Definition at line 337 of file vtkControlPointsItem.h.

Definition at line 338 of file vtkControlPointsItem.h.

Definition at line 340 of file vtkControlPointsItem.h.

Definition at line 341 of file vtkControlPointsItem.h.

Definition at line 342 of file vtkControlPointsItem.h.

Definition at line 343 of file vtkControlPointsItem.h.

Definition at line 344 of file vtkControlPointsItem.h.

Definition at line 345 of file vtkControlPointsItem.h.

Definition at line 346 of file vtkControlPointsItem.h.

Definition at line 347 of file vtkControlPointsItem.h.

Definition at line 348 of file vtkControlPointsItem.h.

Definition at line 349 of file vtkControlPointsItem.h.

Definition at line 350 of file vtkControlPointsItem.h.

Definition at line 351 of file vtkControlPointsItem.h.


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