#include <sfsfint.hxx>


Public Member Functions | |
| void | debug (FILE *fp=debug_file_ptr) const |
| Writes debug information about surf_surf_int to the printer or to the specified file. | |
| surf_surf_int (SPAposition const &pos, surf_surf_int *nextint=NULL) | |
| C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments. | |
| surf_surf_int (curve *cur, surf_surf_int *inter=NULL, surf_surf_term *term1=NULL, surf_surf_term *term2=NULL) | |
| C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments. | |
| ~surf_surf_int () | |
| C++ destructor, deleting a surf_surf_int. | |
Public Attributes | |
| surf_surf_rel | aux_left_rel [2] |
| For each of the surfaces, it specifies the relationship surf_surf_rel on the left side of the intersection curve to the auxiliary surface. | |
| surface * | aux_surf |
Normally NULL, this points to a surface containing the intersection curve. | |
| curve * | cur |
Intersecting curve from the face-face coincidence, and it may be NULL. | |
| double | end_param |
The parameter value of end_point, which is meaningless if the end_point is NULL. | |
| surf_surf_term * | end_term |
| The terminator point at the end of the curve. | |
| surf_int_type | int_type |
| The classification of the intersection type surf_int_type . | |
| surf_int_type | left_int_type [2] |
| Intersection type surf_int_type with respect to other face of the portions of each face to the left of the intersection curve. | |
| surf_surf_rel | left_surf_rel [2] |
| The relationships surf_surf_rel with respect to the other face of the portions of each face to the left of the intersection curve. | |
| surf_surf_int * | next |
| Next surface-surface intersection. | |
| int | nsplit |
The number of values in the array split_param. | |
| pcurve * | pcur1 |
| The first pcurve, it provides the parametric-space intersection curve with respect to the intersection surfaces, if they are parametric. | |
| pcurve * | pcur2 |
| The second pcurve, it provides the parametric-space intersection curve with respect to the intersection surfaces, if they are parametric. | |
| surf_int_type | right_int_type [2] |
| Intersection type surf_int_type with respect to other face of the portions of each face to the left of the intersection curve. | |
| surf_surf_rel | right_surf_rel [2] |
| The relationships surf_surf_rel with respect to the other face of the portions of each face to the left of the intersection curve. | |
| double * | split_param |
| The terminator point at the start of the curve. | |
| double | start_param |
The parameter value of start_point, which is meaningless if the start_point is NULL. | |
| surf_surf_term * | start_term |
| The terminator point at the start of the curve. | |
Role: This class holds the details of the intersection of two FACE surfaces and returns zero or more curves. Every EDGE of each FACE is assumed to have been intersected with the other surface, so the intersection points may be used to assist (for example, if the surfaces are parametric).
| surf_surf_int::surf_surf_int | ( | curve * | cur, | |
| surf_surf_int * | inter = NULL, |
|||
| surf_surf_term * | term1 = NULL, |
|||
| surf_surf_term * | term2 = NULL | |||
| ) |
C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
Role: The default type is normal, and the relationships are suitable for the conventional curve direction being the cross products of the surface normals in the given order.
| cur | curve | |
| inter | surf-surf intersection | |
| term1 | surf-surf termination | |
| term2 | surf-surf termination |
| surf_surf_int::surf_surf_int | ( | SPAposition const & | pos, | |
| surf_surf_int * | nextint = NULL | |||
| ) |
C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments.
Role: Constructor for an intersection curve representing an isolated point. The default type is normal and the relationships are set to unknown.
| pos | position | |
| nextint | nest surf-surf intersection |
| surf_surf_int::~surf_surf_int | ( | ) |
C++ destructor, deleting a surf_surf_int.
| void surf_surf_int::debug | ( | FILE * | fp = debug_file_ptr |
) | const |
Writes debug information about surf_surf_int to the printer or to the specified file.
| fp | file name |
For each of the surfaces, it specifies the relationship surf_surf_rel on the left side of the intersection curve to the auxiliary surface.
Role: Because this is always a clean "inside" or "outside," the right relationship is always the converse, so it does not need to be recorded.
Intersecting curve from the face-face coincidence, and it may be NULL.
Role: In this case, all face-body relationships are either surf_symmetric or surf_antisymmetric, and this is the only CURVE_LIST record in the list.
| double surf_surf_int::end_param |
The parameter value of end_point, which is meaningless if the end_point is NULL.
| surf_surf_term* surf_surf_int::end_term |
The classification of the intersection type surf_int_type .
Intersection type surf_int_type with respect to other face of the portions of each face to the left of the intersection curve.
Role: Only used for mesh surface intersections (otherwise the single int_type above is sufficient). Set to int_unknown if not used.
The relationships surf_surf_rel with respect to the other face of the portions of each face to the left of the intersection curve.
Next surface-surface intersection.
The number of values in the array split_param.
Role: This is 0 if split_param is NULL.
Intersection type surf_int_type with respect to other face of the portions of each face to the left of the intersection curve.
Role: Only used for mesh surface intersections (otherwise the single int_type above is sufficient). Set to int_unknown if not used.
The relationships surf_surf_rel with respect to the other face of the portions of each face to the left of the intersection curve.
| double* surf_surf_int::split_param |
The terminator point at the start of the curve.
Role: It is NULL if the curve is not bounded at the start. An array of parameter values flagging bounded regions of the curve where it lies outside the region of interest. Each value is a typical parameter value within the portion outside the SPAbox. If no SPAbox was specified, or the intersection curve lies wholly within the SPAbox, or it is unbounded but only enters the SPAbox in one SPAinterval, then this pointer is NULL. Otherwise it must point to an array on the heap.
| double surf_surf_int::start_param |
The parameter value of start_point, which is meaningless if the start_point is NULL.
| surf_surf_term* surf_surf_int::start_term |