24#if !defined _SO_POLY_LINE_SCREEN_DRAWER_H_
25#define _SO_POLY_LINE_SCREEN_DRAWER_H_
27#include <Inventor/drawers/SoScreenDrawer.h>
28#include <Inventor/fields/SoSFInt32.h>
29#include <Inventor/fields/SoSFUShort.h>
30#include <Inventor/fields/SoSFUInt32.h>
31#include <Inventor/fields/SoSFColor.h>
32#include <Inventor/fields/SoMFVec2f.h>
33#include <Inventor/fields/SoSFBool.h>
34#include <Inventor/fields/SoSFFloat.h>
35#include <Inventor/SbEventHandler.h>
36#include <Inventor/SbEventArg.h>
289 : m_action( action ), m_drawer( drawer )
350 static void initClass();
353 static void exitClass();
362 void removePoint(
unsigned id );
368 void setPoint(
unsigned id,
const SbVec2f& newPoint);
384 static void simplify( std::vector<SbVec2f>& polyline,
float epsilon );
387 static bool isCCW(
const std::vector<SbVec2f>& polyline );
390 static void makeCCW( std::vector<SbVec2f>& polyline );
402 class MFVec2ToMFVec3;
404 MFVec2ToMFVec3* m_vec2ToVec3;
Base class for all event arguments.
Class representing an event.
Allows nodes in a graph to receive input events.
Multiple-value field containing any number of two-dimensional vectors.
virtual void deleteValues(int start, int num=-1)
Deletes num values beginning at index start (index start through start + num -1 will be del...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Interactively dr...
SbEventHandler< const EventArg & > onStart
Event raised when starting to draw a polyline.
virtual void clear()
Convenience method to clear the points in the line.
SbEventHandler< EventArg & > onFinish
Event raised when the line is finished.
SoSFUShort linePattern
Stipple pattern.
SbEventHandler< const EventArg & > onMove
Event raised during polyline drawing.
SoSFColor color
Color of line.
SoSFBool doCCW
Make the line counter-clockwise when it is finalized.
SoSFBool isClosed
Close the line during display (connect last point to first point).
SoSFInt32 linePatternScaleFactor
Stipple pattern scale factor.
SoSFFloat lineWidth
Width of lines.
SoPolyLineScreenDrawer()
Constructor.
SoSFUInt32 simplificationThreshold
Threshold (in pixels) used to simplify line when it is finished.
virtual void reset()
Clears the points in the line and resets internal state to initial values.
SoMFVec2f point
Points of line.
Field containing a single Boolean value.
Field containing an RGB color.
Field containing a floating-point value.
Field containing a int32_t integer.
Field containing an unsigned int32_t integer.
Field containing an unsigned short integer.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Base class to dr...
Group node that saves and restores traversal state.
Structure given to callback when an event is raised.
EventArg(SoHandleEventAction *action, SoPolyLineScreenDrawer *drawer)
Default constructor.
SoHandleEventAction * getAction() const
Returns the handle event action related to the drawing.
SoPolyLineScreenDrawer * getSource() const
Returns the drawer.