16 #include "visbasemod.h" 26 namespace Geometry {
class PosIdHolder; }
28 namespace osg {
class Array; }
36 class CoordinatesOsgImpl;
53 friend class CoordinatesBuilder;
56 void setDisplayTransformation(const
mVisTrans*);
62 const mVisTrans* getDisplayTransformation() const;
64 void copyFrom(const Coordinates&);
66 int nextID(
int previd) const;
69 int size(
bool includedelete=false) const;
71 Coord3 getPos(
int,
bool scenespace=false) const;
72 bool isDefined(
int) const;
73 void setPos(
int,const Coord3&);
74 void setPositions(const Coord3*,
int sz,
int start,
75 bool scenespace=false);
76 void insertPos(
int,const Coord3&);
77 void removePos(
int,
bool keepidxafter=true );
78 void removeAfter(
int);
79 void setAllPositions(const Coord3& pos,
int sz,
int start);
81 void setAllZ(const
float*,
int sz,
bool dotransf);
83 osg::Array* osgArray() {
return osgcoords_; }
84 const osg::Array*
osgArray()
const {
return osgcoords_; }
87 bool isEmpty()
const {
return size()==0; }
95 void setPosWithoutLock(
int,
const Coord3&,
bool scenespace);
108 friend class SetOrGetCoordinates;
117 virtual int size()
const;
118 virtual bool setSize(
int,
bool cpdata);
120 virtual void setCoord(
int,
const float*);
121 virtual void getCoord(
int,
float*)
const;
123 virtual void setNormal(
int,
const float*);
124 virtual void getNormal(
int,
float*)
const;
126 virtual void setTCoord(
int,
const float*);
127 virtual void getTCoord(
int,
float*)
const;
145 int nextID(
int)
const;
148 void set(int,
const Coord3&);
150 bool isDefined(
int)
const;
151 void addValue(
int,
const Coord3&);
152 int size()
const {
return coords_.size(); }
#define mExpClass(module)
Definition: commondefs.h:160
Normals * normals_
Definition: viscoord.h:132
Interface for a list of Coord3 with automatically maintained IDs.
Definition: positionlist.h:72
Notifier< Coordinates > change
Definition: viscoord.h:50
DataObject is the base class off all objects that are used in Visualization and ought to be shared in...
Definition: visdata.h:65
Base class for vertex attribute list.
Definition: positionlist.h:24
Definition: callback.h:254
Definition: visnormals.h:32
Definition: viscoord.h:140
TypeSet< int > unusedcoords_
Definition: viscoord.h:103
#define mVisTrans
Definition: visdata.h:31
Threads::Mutex mutex_
Definition: viscoord.h:104
Coordinates * getCoordinates()
Definition: viscoord.h:155
const visBase::Transformation * transformation_
Definition: viscoord.h:105
A cartesian coordinate in 3D space.
Definition: coord.h:72
A set of coordinates. The coordinates will be transformed by the transformation before given to Coin...
Definition: viscoord.h:46
Definition: visannot.h:43
const osg::Array * osgArray() const
Definition: viscoord.h:84
osg::Array * osgcoords_
Definition: viscoord.h:107
Is a lock that allows a thread to have exlusive rights to something.
Definition: thread.h:43
Open Scene Graph.
Definition: visannot.h:29
int size() const
Definition: viscoord.h:152
#define mCreateDataObj(clss)
Definition: visdata.h:209
Definition: viscoord.h:112
static Coordinates * create()
Definition: viscoord.h:51
Definition: arraytesselator.h:21
Coordinates & coords_
Definition: viscoord.h:133
Coordinates & coords_
Definition: viscoord.h:159
bool isEmpty() const
Definition: viscoord.h:87