34 enum ExtrudeMode { eParallel = 0, ePerpendicular, eAdjusted, eTest};
39 shared::Signal<uint64> pointAdded;
40 shared::Signal<uint64> pointRemoved;
41 shared::Signal<uint64> edgeAdded;
42 shared::Signal<uint64> edgeRemoved;
43 shared::Signal<uint64> pointMoved;
44 shared::Signal<uint64> edgeMoved;
45 shared::Signal<uint64> edgePointChanged;
46 shared::Signal<uint64> edgeTypeChanged;
47 shared::Signal<uint64, uint32> edgeControlPointAdded;
48 shared::Signal<uint64, uint32> edgeSizeChanged;
49 shared::Signal<uint64, double> edgeRatioChanged;
50 shared::Signal<int32> metaAdded;
51 shared::Signal<int32> metaRemoved;
52 shared::Signal<int32> metaChanged;
54 virtual IThing * getIThing()=0;
56 virtual const IThing * getIThing()
const=0;
71 virtual const IContainer * getPointContainer()
const=0;
73 virtual const IExtrudePoint *findPointWithID(uint64
id)
const=0;
84 virtual const IContainer * getEdgeContainer()
const=0;
86 virtual const IExtrudeEdge * findEdgeWithID(uint64
id)
const=0;
98 virtual void deletePoint(uint64 pid, uint32* edgeCount = 0) = 0;
100 virtual void deleteEdge(uint64 edgeid) = 0;
102 virtual int getPointSize()
const =0;
104 virtual int getEdgeSize()
const =0;
108 virtual bool isValidParameter(
QList<QString>* problems =
nullptr)
const = 0;
110 virtual bool isValidGeometry(
QList<QString>* problems =
nullptr)
const = 0;
112 virtual bool isContinued()
const=0;
114 virtual bool isClosed()
const=0;
120 virtual DVect getPathTangent(uint64
id,
double mu,
DVect vProj)
const = 0;
124 virtual DVect getPathTangentAtNode(uint64
id,
DVect vProj)
const = 0;
128 virtual void getSegmentLocalAxes(uint64
id,
double mu,
Axes* axe)
const = 0;
130 virtual void getSegmentLocalAxes(
const IExtrudeEdge* seg,
double mu,
Axes* axe)
const = 0;
133 virtual DVect getSweepPosition(uint64
id,
double mu,
const DVect& pos,
const uint32& currentView = 0)
const=0;
135 virtual bool setOrigin(
const DVect& pos) =0;
137 virtual const DVect& getOrigin()
const =0;
139 virtual uint32 getPointGroupNotice()
const=0;
141 virtual uint32 getEdgeGroupNotice()
const=0;
144 virtual uint32 getSegmentGroupNotice()
const=0;
146 virtual uint32 getSegmentNodeGroupNotice()
const=0;
150 virtual void clearMetaData()=0;
152 virtual void setMetaKeyValue(
const QString &key,
const QString &value)=0;
154 virtual int getMetaCount()
const=0;
156 virtual QString getMetaKey(
int index)
const=0;
158 virtual QString getMetaValue(
int index)
const=0;
160 virtual int findMetaKeyIndex(
const QString &key)
const=0;
162 virtual QString findMetaKeyValue(
const QString &key)
const=0;