16 #include <matrix/vlVector.h>
17 #include <boost/thread/shared_mutex.hpp>
24 class DtSceneObjectAgent;
25 class DtLineStyleUpdaterAgent;
26 class DtAgentManagerInterface;
46 virtual void setModelDefinition(
const std::string&) = 0;
50 virtual void setColor(
float r,
float g,
float b,
float a);
53 virtual void setLineWidth(
int) = 0;
57 virtual void setPoints(
const std::vector<DtVector>&,
const DtVector& withOffset = DtVector::zero());
60 virtual void addPoint(
int index,
const DtVector&);
63 virtual void removePoint(
int);
66 virtual void setStipplePattern(
unsigned int) = 0;
69 virtual void setOrigin(
const DtVector&);
70 virtual const DtVector& origin()
const;
75 virtual void setPoint(
int iIndex,
const DtVector&);
78 virtual void setSolid(
bool) = 0;
81 virtual void setVisible(
bool);
84 virtual const std::vector<DtVector>& points()
const;
89 virtual void setScribed(
bool);
92 virtual void setPickable(
bool);
95 virtual bool pickable()
const;
117 virtual void setSegmentEndArrow(
int seg,
bool flag) = 0;
120 virtual void setSegmentStartArrow(
int seg,
bool flag) = 0;
123 virtual void setArrowSize(
double);
126 virtual double arrowSize()
const;
130 virtual void setFixedWidthSizing(
bool);
133 virtual bool fixedWidthSizing()
const;
142 virtual int modelSet()
const;
145 virtual DtSceneObjectAgent* sceneObjectAgent();
149 virtual void updateArrowFrequencyForSegment(
int);