|  | 
| virtual const IThing * | getIThing () const =0 | 
|  | returns a const IThing pointer 
 | 
|  | 
| virtual IThing * | getIThing ()=0 | 
|  | returns a IThing pointer 
 | 
|  | 
| virtual uint32 | setZoneSize (uint32 s, bool maintainFactor=false)=0 | 
|  | set (zone size) and returns counts of successfull zonesizes set (propagation assumed) 
 | 
|  | 
| virtual uint32 | getZoneSize () const =0 | 
|  | return zone size for the edge 
 | 
|  | 
| virtual void | zoneSize (uint32 s)=0 | 
|  | Set zone ratio for the edge (propagation) 
 | 
|  | 
| virtual uint32 | setRatio (const double &r)=0 | 
|  | Set zone ratio on edge. Returns counts (propagation depends on setRatioIsolate flag) 
 | 
|  | 
| virtual double | getRatio () const =0 | 
|  | Return zone ratio of the edge. 
 | 
|  | 
| virtual double | getFactor () const =0 | 
|  | Return zone factor of the edge (ratio of zone-lengths last over first) 
 | 
|  | 
| virtual uint32 | setFactor (const double &r)=0 | 
|  | 
| virtual void | setRatioIsolate (bool b)=0 | 
|  | Set zone ratio isolate flag (Stops propagating ratios by connected blocks) 
 | 
|  | 
| virtual bool | getRatioIsolate () const =0 | 
|  | Return ratio isolate flag. 
 | 
|  | 
| virtual bool | getGUIselect () const =0 | 
|  | return GUI specific select flag 
 | 
|  | 
| virtual void | setGUIselect (bool flag) const =0 | 
|  | set GUI specific select flag 
 | 
|  | 
| virtual int | getCurveType () const =0 | 
|  | get type of interpolating curve 0 - polyline, 1- CircleArc, 2-Spline 
 | 
|  | 
| virtual void | setCurveType (uint32 type)=0 | 
|  | sets interpolating curve type : 0 - polyline, 1- CircleArc, 2-Spline 
 | 
|  | 
| virtual uint32 | getControlPointsSize () const =0 | 
|  | returns number of control points 
 | 
|  | 
| virtual double | getCurveLength () const =0 | 
|  | returns total length of curved edge 
 | 
|  | 
| virtual int | addControlPoint (const DVect &pos)=0 | 
|  | 
| virtual void | addControlPointAtPosition (const DVect &pos)=0 | 
|  | calls addControlPoint() and then puts the point at the specified position 
 | 
|  | 
| virtual void | removeControlPoint (uint32 ind)=0 | 
|  | remove control point from the edge at index=ind; 
 | 
|  | 
| virtual DVect | getControlPointPosition (uint32 index) const =0 | 
|  | get control point position 
 | 
|  | 
| virtual void | setControlPointPosition (uint32 ind, const DVect &pos)=0 | 
|  | set control point new position 
 | 
|  | 
| virtual uint32 | getControlPointIndex (const DVect &pos) const =0 | 
|  | get index to control point from the position in space (clossest 
 | 
|  | 
| virtual uint32 | getControlPointIndex (double u) const =0 | 
|  | get index to control point from the position in space 
 | 
|  | 
| virtual double | closestWithSegment (const DVect &a1, const DVect &a2, DVect &segmentPos, DVect &edgeCurvePos) const =0 | 
|  | return closest distance and points of curved edge with the segment (a1,a2) 
 | 
|  | 
| virtual double | closestWithRay (const DVect &a1, const DVect &direction, DVect &rayPos, DVect &edgeCurvePos) const =0 | 
|  | return closest distance and points of curved edge with the ray (a1,direction). Vector direction must be non-zero length. 
 | 
|  | 
| virtual double | getControlPointU (uint32 index) const =0 | 
|  | return local corrdinate (parameter U) of a control point of the edge. Index must be in [1,getControlPointsSize()]. 
 | 
|  |