Itasca C++ Interface
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
extruder::IExtrudeEdge Class Referenceabstract

Interface for IExtrudeEdge objects. More...

#include <iextrudeedge.h>

Public Member Functions

virtual const IThinggetIThing () const =0
 Return a const IThing interface for this object.
 
virtual IThinggetIThing ()=0
 Return an IThing interface for this object.
 
virtual const IGeomEdgegetIGeomEdge () const =0
 Return a const IGeomPoint interface for this object.
 
virtual IGeomEdgegetIGeomEdge ()=0
 Return a IGeomPoint interface for this object.
 
virtual bool isBlocked () const =0
 Are there any blocks attached?
 
virtual bool isSimple () const =0
 Is edge simple (linear, no control points)?
 
virtual bool isPolyline () const =0
 Is edge a polyline (linear and at least one control point)?
 
virtual bool isCurved () const =0
 Is edge a "curved" type (requiring sampling approximation)?
 
virtual void setPointExtrude (IExtrudePoint *point, uint32 end)=0
 Adds point at end.
 
virtual IExtrudePointgetIExtrudePoint (uint32 end)=0
 Returns a pointer to IExtrudePoint at end.
 
virtual const IExtrudePointgetIExtrudePoint (uint32 end) const =0
 Returns a const pointer to IExtrudePoint at end.
 
virtual CLinkType< IExtrudeEdgegetNextExtrude (uint32 end) const =0
 Returns a interface to a CLinkType<> object, a const pointer to the next object in the linked list.
 
virtual LinkType< IExtrudeEdgegetNextExtrude (uint32 end)=0
 Returns a interface to a CLinkType<> object, a pointer to the next object in the linked list.
 
virtual CLinkType< IExtrudeRegiongetStartExtrude () const =0
 Returns a interface to a CLinkType<> object, a const pointer to the first object in the linked list.
 
virtual LinkType< IExtrudeRegiongetStartExtrude ()=0
 Returns a interface to a CLinkType<> object, a pointer to the first object in the linked list.
 
virtual uint32 getSize () const =0
 Return (zone) size.
 
virtual double getZoneLength () const =0
 Return zone length.
 
virtual double getRatio () const =0
 Return zone ratio.
 
virtual bool getRatioIsolate () const =0
 Return zone ratio isolate flag (Stops propagating ratios by connected blocks)
 
virtual DVect getDiscretizedLocation (uint32 index, uint32 multiplier) const =0
 Return x,y gridpoint position along edge.
 
virtual DVect getParametricLocation (const double &frac0) const =0
 Return x,y parametric position, frac0=0 to 1.
 
virtual double getFraction (uint32 i) const =0
 Return fraction value.
 
virtual QList< uint64 > getConnectedEdges () const =0
 Return list of edges connected by block opposite sides, used for assigning zone sizes and ratios.
 
virtual uint32 setSize (uint32 s)=0
 Set (zone) size.
 
virtual uint32 setRatio (const double &r)=0
 Set zone ratio on edge.
 
virtual void setRatioIsolate (bool b)=0
 Set zone ratio isolate flag (Stops propagating ratios by connected blocks)
 
virtual int getEdgeBlockCount () const =0
 Return number of blocks connected to edge.
 
virtual DVect computeBlockSplitPoint (double mu, int index) const =0
 Return x,y split position of block opposite edge to this edge, by parametric position mu.
 
virtual uint32 getEdgeType () const =0
 Return EdgeType: 0=simple, 1=polyline, 2=ellipse arc.
 
virtual uint32 getHybridType () const =0
 Return EdgeType: 0=simple, 1=polyline, 2=arc, 3=spline, 4=ellipse arc.
 
virtual const IExtrudePointgetEllipseArcCenter () const =0
 Return ellipse arc center point.
 
virtual const IExtrudePointgetEllipseArcWith () const =0
 Return ellipse arc "with" point.
 
virtual double getEdgePolylineLength () const =0
 Return polyline length (linear segments only)
 
virtual double computeEdgePolylineCurveLength () const =0
 Return computed length of edge, including estimate for curved edges.
 
virtual uint32 getEdgePolylineType () const =0
 Return PolylineType: 0=linear segments, 1=circle arcs, 2=cubic splines.
 
virtual uint32 getEdgePolylineSize () const =0
 Return number of segments in polyline.
 
virtual DVect getEdgePolylineControlPoint (int id) const =0
 Return position of control points, 1..size-1, index 0,size return endpoint positions.
 
virtual double getEdgePolylineControlU (int id) const =0
 Return local U coordinate of controlpoint.
 
virtual double getEdgePolylineControlV (int id) const =0
 Return local V coordinate of controlpoint.
 
virtual void setEdgePolylineControlPoint (int index, DVect p)=0
 Set x,y position of controlpoint.
 
virtual void setEdgePolylineControlLocal (int index, DVect p)=0
 Set u,v local position of controlpoint.
 
virtual void setEdgePolylineControlLocalU (int index, double u)=0
 Set u local position of controlpoint.
 
virtual void setEdgePolylineControlLocalV (int index, double v)=0
 Set v local position of controlpoint.
 
virtual void addEdgePolylineControlPoint (DVect p)=0
 Add controlpoint by x,y position.
 
virtual void addEdgePolylineControlLocal (DVect p)=0
 Add controlpoint by u,v position.
 
virtual void removeEdgePolylineControlPoint (int id)=0
 Remove indexed control point.
 
virtual double findParameterForPosition (DVect pos) const =0
 Estimate parametric position (0,1) of position.
 
virtual void setEdgeTypeSimple ()=0
 Set edge type as simple.
 
virtual void setEdgeType (int edgeType)=0
 Set EdgeType.
 
virtual void setEdgePolylineType (int curvetype=edgePolyTypeLinear)=0
 Set EdgeType as polyline, and polyline type: 0=linear, 1=circle arcs, 2=cubic splines.
 
virtual IExtrudeRegiongetOtherBlock (IExtrudeRegion *b)=0
 Return block, besides given one, sharing this edge, 0 if none.
 
virtual bool belongsToIrregBlock () const =0
 
virtual DVect getTangent (double mu) const =0
 

Static Public Attributes

static const TType type_ = 0x4cb610e6
 The type identification number for this class, for use in convert_cast() and convert_getcast().
 

Detailed Description

Interface for IExtrudeEdge objects.


The documentation for this class was generated from the following file: