|
Action:
|
Gets the intersection with the surface and the normal to the surface of a perpendicular dropped from a point to the surface.
|
|
|
Prototype:
|
void bs3_surface_perp (
|
|
|
SPAposition const& point,// given point
|
|
|
bs3_surface bs,
|
// given surface
|
|
|
SPAposition& foot,
|
// returned foot of
|
|
|
|
|
// perpendicular
|
|
|
SPAunit_vector& norm,
|
// returned normal
|
|
|
SPApar_pos const& uv_guess// returned guess uv if
|
|
|
|
=*(SPApar_pos*)NULL_REF,// known
|
|
|
SPApar_pos& uv_actual
|
// returned actual uv
|
|
|
|
=*(SPApar_pos*)NULL_REF// used
|
|
|
);
|
|
|
Includes:
|
#include "kernel/acis.hxx"
|
|
#include "baseutil/vector/param.hxx"
|
|
#include "baseutil/vector/position.hxx"
|
|
#include "baseutil/vector/unitvec.hxx"
|
|
#include "kernel/spline/bs3_srf/bs3surf.hxx"
|
|
#include "kernel/spline/bs3_srf/sp3srtn.hxx"
|
|
|
Description:
|
If an initial guess of the parameter values for the foot of the perpendicular is given, it is assumed to be close to the desired position, allowing faster processing.
|
|
|
For an open surface, there may be no perpendicular at all if the given point is beyond the boundary. In this case, a perpendicular will be dropped to a boundary edge, even though this is not perpendicular to the surface itself. If there is no perpendicular to the edges, then one of the corners will be returned as the
foot. The normal direction will always be the normal to the surface at the foot.
|
|
|
Errors:
|
Returns without setting any arguments if the input surface is
NULL.
|
|
|
Library:
|
kernel
|
|
|
Filename:
|
kern/kernel/spline/bs3_srf/sp3srtn.hxx
|
|
|
Effect:
|
Read-only
|