bounded_arc
List of: Classes
Subjects: Model Geometry
Contents: Kernel

Purpose: Defines a bounded_arc as a subtype of a bounded_curve.

Derivation: bounded_arc : bounded_curve : ACIS_OBJECT : -

Filename: kern/kernel/geomhusk/bnd_arc.hxx

Description: This class adds no new data to the bounded_curve class from which it is derived, but it provides additional constructors and redefines some virtual functions.

References: by KERN bounded_curve, bounded_line

Constructor: public: bounded_arc::bounded_arc ();


C++ allocation constructor requests memory for this object but does not populate it.






public: bounded_arc::bounded_arc (


const bounded_arc& // given bounded arc


);


C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument.






public: bounded_arc::bounded_arc (


const SPAposition& center, // center


const SPAposition& pt1,
// edge point 1


const SPAposition& pt2,
// edge point 2


const SPAunit_vector& normal // normal vector


);


C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.


If pt1 equals pt2, then a full circle is created. Use normal only if center, pt1, and pt2 do not determine a plane.






public: bounded_arc::bounded_arc (


const SPAposition& center, // center


const SPAunit_vector& normal,// normal vector


const SPAvector& majax,
// 0-angle/radius





// vector


double t0,
// major axis start





// angle


double t1,
// major axis end





// angle


double ratio
// radius ratio



= 1.0


);


C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.


The angles are in radians. The radius is the length of the major_axis vector. The center_pt + major_axis corresponds to the point at the 0-degree angle on the arc.






public: bounded_arc::bounded_arc (


const SPAposition& center, // center


double radius,
// radius


const SPAunit_vector& normal // plane normal


);


C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.






public: bounded_arc::bounded_arc (


const SPAposition& pt1, // position 1


const SPAposition& pt2, // position 2


const SPAposition& pt3, // position 3


logical full // positions colinear?


);


C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.


The arc passes through three points. If the positions are colinear, this method returns an error.






public: bounded_arc::bounded_arc (


const SPAposition& pt1,
// position 1


const SPAposition& pt2,
// position 2


const SPAunit_vector& normal,// normal vector


logical full
// positions





// colinear?


);


C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.


Creates an arc given two points on the diagonal. If the positions are colinear, this method returns an error.






public: bounded_arc::bounded_arc (


EDGE*, // edge


const SPAtransf* // transformation


);


C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.


The edge must be an ellipse.



Methods: public: virtual logical bounded_arc::change_end_pt (


const SPAposition& // end position


);


Changes the end position.






public: virtual logical


bounded_arc::change_start_pt (


const SPAposition& // start position


);


Changes the start position.






public: virtual bounded_curve* bounded_arc::copy (


const SPAtransf* // transformation



= NULL


) const;


Creates a transformed copy.






public: SPAposition bounded_arc::get_center () const;


Returns the center.






public: SPAvector bounded_arc::get_major_axis () const;


Returns the major axis.






public: virtual SPAunit_vector


bounded_arc::get_normal () const;


Returns the SPAunit_vector normal.






public: double bounded_arc::get_radius () const;


Returns the radius.






public: double


bounded_arc::get_radius_ratio () const;


Returns the radius ratio of the arc.






public: sense_type bounded_arc::get_sense () const;


Returns the sense.






public: double bounded_arc::get_subtend () const;


Returns the subtended angle.






public: virtual logical bounded_arc::is_arc () const;


Determines if entity is an arc.


Returns TRUE if the given ENTITY is a bounded_arc; otherwise, it returns FALSE.






public: void bounded_arc::set_center (


const SPAposition& // arc center position


);


Modifies the arc center position.






public: void bounded_arc::set_major_axis (


const SPAvector& // arc major axis


);


Modifies the major axis of the arc.






public: void bounded_arc::set_normal (


const SPAunit_vector& // arc normal


);


Modifies the normal to the arc.






public: void bounded_arc::set_radius (


double // arc radius


);


Modifies the arc radius.






public: void bounded_arc::set_radius_ratio (


double // arc radius ratio


);


Modifies the radius ratio of the arc.
PDF/KERN/28CLB.PDF
HTM/DATA/KERN/KERN/28CLB/0004.HTM