Itasca C++ Interface
Loading...
Searching...
No Matches
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 std::vector< 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
virtual bool getIntersectRay (DVect p, DVect t, std::vector< DVect > *point, bool both=true) const =0
virtual bool getIntersectRay3D (DVect p, DVect t, std::vector< DVect > *point, bool both=true) const =0
virtual bool getIntersectLine3D (DVect p, DVect t, std::vector< DVect > *point) 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: