curve_surf_int
List of: Classes
Subjects: Geometric Analysis, Intersectors
Contents: Kernel

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
PDF/KERN/29CLC.PDF
HTM/DATA/KERN/KERN/29CLC/0012.HTM