| 
| 
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()]. 
  | 
|   |