Purpose:
|
Defines a parametric curve as an object in the model.
|
|
Derivation:
|
INTCURVE : CURVE : ENTITY : ACIS_OBJECT : -
|
|
SAT Identifier:
|
"intcurve"
|
|
Filename:
|
kern/kernel/kerndata/geom/intcurve.hxx
|
|
Description:
|
INTCURVE is a model geometry class that contains a pointer to a (lowercase)
intcurve, the corresponding construction geometry class. In general, a model geometry class is derived from
ENTITY and is used to define a permanent model object. It provides model management functionality, in addition to the geometry definition.
|
|
|
INTCURVE is one of several classes derived from
CURVE to define a specific type of curve. The
intcurve record consists of a pointer to an
int_cur and a
logical denoting its sense.
|
|
|
An
INTCURVE is the general representation of any curve that is not defined by an explicit equation, but by reference to other geometric entities. This includes the intersection between two surfaces, the projection of a curve onto a surface, an exact spline curve, or any other general curve.
|
|
|
A use count allows multiple references to an
INTCURVE. The construction of a new
INTCURVE initializes the use count to 0. Methods are provided to increment and decrement the use count, and after the use count returns to 0, the entity is deleted.
|
|
References:
|
KERN
|
intcurve
|
|
Constructor:
|
public: INTCURVE::INTCURVE
();
|
|
|
C++ allocation constructor requests memory for this object but does not populate it. The allocation constructor is used primarily by restore. Applications should call this constructor only with the overloaded
new operator, because this reserves the memory on the heap, a requirement to support roll back and history management.
|
|
|
|
|
|
|
public: INTCURVE::INTCURVE
(
|
|
|
intcurve const&
|
// intersection curve
|
|
|
);
|
|
|
C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument. Applications should call this constructor only with the overloaded
new operator, because this reserves the memory on the heap, a requirement to support roll back and history management.
|
|
|
|
|
Destructor:
|
public: virtual void INTCURVE::lose
();
|
|
|
Posts a delete bulletin to the bulletin board indicating the instance is no longer used in the active model. The
lose methods for attached attributes are also called.
|
|
|
|
|
|
|
protected: virtual INTCURVE::~INTCURVE
();
|
|
|
This
C++ destructor should never be called directly. Instead, applications should use the overloaded
lose method inherited from the
ENTITY class, because this supports history management. (For example,
x=new INTCURVE(...) then later
x->lose.)
|
|
|
|
Methods:
|
protected: virtual logical
|
|
|
INTCURVE::bulletin_no_change_vf (
|
|
|
ENTITY const* other,
|
|
// other entity
|
|
|
logical identical_comparator
|
// comparator
|
|
|
) const;
|
|
|
Virtual function for comparing subclass data - called by
bulletin_no_change. For the
identical_comparator argument to be
TRUE requires an exact match when comparing doubles and returns the result of
memcmp as a default (for non-overridden subclasses).
FALSE indicates tolerant compares and returns
FALSE as a default.
|
|
|
|
|
|
|
public: virtual void INTCURVE::debug_ent
(
|
|
|
FILE*
|
// file pointer
|
|
|
) const;
|
|
|
Prints the type and address of this object, roll back pointer, attributes, and any unknown subtype information to the specified file. Refer to the
ENTITY class for more details.
|
|
|
|
|
|
|
public: curve const& INTCURVE::equation
() const;
|
|
|
Returns the curve's equation, for reading only.
|
|
|
|
|
|
|
public: curve& INTCURVE::equation_for_update
();
|
|
|
Returns the
curve's equation. Before performing a change it checks whether the data structure is posted on the bulletin board. If not, the routine calls
backup to put an entry on the bulletin board.
|
|
|
|
|
|
|
public: virtual int INTCURVE::identity
(
|
|
|
int
|
|
// level
|
|
|
|
= 0
|
|
|
) const;
|
|
|
If
level is unspecified or 0, returns the type identifier
INTCURVE_TYPE. If
level is specified, returns
INTCURVE_TYPE for that level of derivation from
ENTITY. The level of this class is defined as
INTCURVE_LEVEL.
|
|
|
|
|
|
|
public: virtual logical INTCURVE::is_deepcopyable
(
|
|
|
) const;
|
|
|
Returns
TRUE if this can be deep copied.
|
|
|
|
|
|
|
public: SPAbox INTCURVE::make_box
(
|
|
|
APOINT*,
|
// first point
|
|
|
APOINT*,
|
// second point
|
|
|
SPAtransf const*,
|
// transform
|
|
|
double
|
// tolerance
|
|
|
|
= 0.0
|
|
|
) const;
|
|
|
Makes a
SPAbox enclosing a segment of the
INTCURVE between two points, and transforms it.
|
|
|
|
|
|
|
public: void INTCURVE::operator*=
(
|
|
|
SPAtransf const&
|
// transform
|
|
|
);
|
|
|
Transforms an
INTCURVE. Before performing a change it checks whether the data structure is posted on the bulletin board. If not, the routine calls
backup to put an entry on the bulletin board.
|
|
|
|
|
|
|
public: void INTCURVE::restore_common
();
|
|
|
The
RESTORE_DEF macro expands to the
restore_common method, which is used in reading information from a SAT file. This method is never called directly. It is called by a higher hierarchical function if an item in the SAT file is determined to be of this class type. An instance of this class will already have been created through the allocation constructor. This method then populates the class instance with the appropriate data from the SAT file.
|
|
|
intcurve::restore_data
|
intcurve low-level geometry definition
|
|
|
|
|
|
|
public: void INTCURVE::set_def
(
|
|
|
intcurve const&
|
// definition curve
|
|
|
);
|
|
|
Sets the
INTCURVE's definition curve to the given
intcurve. Before performing a change it checks whether the data structure is posted on the bulletin board. If not, the routine calls
backup to put an entry on the bulletin board.
|
|
|
|
|
|
|
public: curve* INTCURVE::trans_curve
(
|
|
|
SPAtransf const&
|
|
// transform
|
|
|
|
= * (SPAtransf* ) NULL_REF,
|
|
|
logical
|
|
// reversed flag
|
|
|
|
= FALSE
|
|
|
) const;
|
|
|
Transforms the curve's equation. If the logical is
TRUE, the curve is reversed.
|
|
|
|
|
|
|
public: virtual const char*
|
|
|
INTCURVE::type_name () const;
|
|
|
Returns the string "intcurve".
|
|
Internal Use:
|
full_size
|
|
|
|
|
Related Fncs:
|
is_INTCURVE
|