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.
|