9#include "utility/interface/igroup.h"
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;
59 virtual string getName()
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;
106 virtual bool valid(std::vector<string> *problems =
nullptr)
const=0;
108 virtual bool isValidParameter(std::vector<string>* problems =
nullptr)
const = 0;
110 virtual bool isValidGeometry(std::vector<string>* 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 string &key,
const string &value)=0;
154 virtual int getMetaCount()
const=0;
156 virtual string getMetaKey(
int index)
const=0;
158 virtual string getMetaValue(
int index)
const=0;
160 virtual int findMetaKeyIndex(
const string &key)
const=0;
162 virtual string findMetaKeyValue(
const string &key)
const=0;
164 virtual void getGroups(StringMap<StringList>*)
const = 0;
166 virtual void getAvailableSlots(
StringList*)
const = 0;
Definition basestring.h:71
Interface for IExtrudeEdge objects.
Definition iextrudeedge.h:27
Provides interface to IExtrudePath. Contains containers for points, edges and blocks objects.
Definition iextrudepath.h:32
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition iextrudepath.h:36
Interface for IExtrudePoint objects.
Definition iextrudepoint.h:20
Interface for IExtrudeEdge objects.
Definition iextruderegion.h:21
Interface for containers of IThings.
Definition icontainer.h:21
Interface to a group object.
Definition igroup.h:9
Base class for items that will be stored in containers.
Definition ithing.h:31
Interface for a user-defined geometric point.
Definition igeompoint.h:18
debug checked shorthand for std::numeric_limits<T>::
Definition limit.h:25
An array class that attempts to minimize unnecessary heap access.
uint32 TType
class type indicator
Definition basedef.h:47
EXPORT_TAG const char * getName()
Definition fishexample.cpp:43
#define itascaxd
Expands to itasca2d in 2D, itasca3d in 3D, for use as a namespace name....
Definition dim.h:181
Axes3D Axes
Axes system, either 2D or 3D.
Definition dim.h:166
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:156
Interface for container of IThings.
namespace Itasca
Definition basememory.cpp:14
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:6