Purpose:
|
Represents the intersection of a curve with a surface and returns the intersections as a list.
|
|
Derivation:
|
curve_surf_int : ACIS_OBJECT : -
|
|
Filename:
|
kern/kernel/kernint/intcusf/cusfint.hxx
|
|
Description:
|
This class represents the intersection of a curve with a surface. This class returns all intersections inside the bounding box in a list. This list can be walked using the "next" data member of the class.
|
|
|
If an end point lies on the surface, the intersection is first coerced to that point and then checked against the bounding box. In this way, a vertex is treated the same for every edge running through it.
|
|
References:
|
BASE
|
SPApar_pos, SPAparameter, SPAposition
|
|
Data:
|
public const void *data1;
|
|
General purpose pointer used to store the element on a
meshsurf from which this intersection originated.
|
|
|
public const void *data2;
|
|
General purpose pointer used to store the element on a
compcurv from which this intersection originated.
|
|
|
public curve_surf_int *next;
|
|
The pointer to the list.
|
|
|
public curve_surf_rel high_rel;
|
|
The relationship between the curve and the surface in the neighborhood of the intersection, in the positive parameter direction.
|
|
|
public curve_surf_rel low_rel;
|
|
The relationship between the curve and the surface in the neighborhood of the intersection, in the negative parameter direction.
|
|
|
public curve_surf_userdata *userdata;
|
|
Pointer to an arbitrary object to store user data. If non-NULL, it is deleted when this object is deleted. It is the responsibility of the user's class derived from this to ensure that the destructor does what is necessary.
|
|
|
public logical fuzzy;
|
|
This is
TRUE if the intersection is not tightly defined (a tangency or small-angle crossing).
|
|
|
public SPApar_pos surf_param;
|
|
The parameters of the intersection point on the surface.
|
|
|
public SPAparameter high_param;
|
|
The high end of the parameter range if it is fuzzy; the same as
param if it is not fuzzy.
|
|
|
public SPAparameter low_param;
|
|
The low end of the parameter range if it is fuzzy; the same as
param if it is not fuzzy.
|
|
|
public SPAposition int_point;
|
|
The point of intersection.
|
|
|
public SPAparameter param;
|
|
The parameters of the intersection point on the curve.
|
|
|
public double tolerance;
|
|
Supports tolerant modeling. The value is used to record the tolerance value of the intersection. It is defaulted to
SPAresabs.
|
|
Constructor:
|
public: curve_surf_int::curve_surf_int
(
|
|
|
curve_surf_int*,
|
// next intersection
|
|
|
SPAposition const&,
|
// intersection point
|
|
|
double,
|
// param at intersection
|
|
|
curve_surf_rel
|
// relationship before
|
|
|
|
= curve_unknown,
|
// param
|
|
|
curve_surf_rel
|
// relationship after
|
|
|
|
= curve_unknown
|
// param
|
|
|
);
|
|
|
C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
|
|
|
|
|
|
|
public: curve_surf_int::curve_surf_int
(
|
|
|
curve_surf_int const&
|
// curve-surf
|
|
|
|
|
// intersection
|
|
|
);
|
|
|
C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument.
|
|
|
|
|
Destructor:
|
public: curve_surf_int::~curve_surf_int
();
|
|
|
C++ destructor, deleting a
curve_surf_int.
|
|
|
|
Methods:
|
public: void curve_surf_int::debug
(
|
|
|
FILE*
|
// file name
|
|
|
|
= debug_file_ptr
|
|
|
) const;
|
|
|
Writes debug information about
curve_surf_int to the printer or to the specified file.
|
|
|
|
|
Related Fncs:
|
delete_curve_surf_ints
|