Action:
|
Projects a curve onto a surface.
|
|
Prototype:
|
outcome api_project_curve_to_surface (
|
|
|
const curve& in_curve,
|
|
// curve to project
|
|
|
const SPAinterval& in_range,
|
// parameter range of
|
|
|
|
|
|
// in_curve
|
|
|
const surface& in_surface,
|
// surface to project
|
|
|
|
|
|
// curve on to
|
|
|
curve*& curve_on_surface,
|
// resulting curve
|
|
|
|
|
|
// projected onto
|
|
|
|
|
|
// surface
|
|
|
AcisOptions* ao = NULL
|
// acis options
|
|
|
);
|
|
Includes:
|
#include "kernel/acis.hxx"
|
|
#include "baseutil/vector/interval.hxx"
|
|
#include "kernel/kernapi/api/api.hxx"
|
|
#include "kernel/kernapi/api/kernapi.hxx"
|
|
#include "kernel/kerngeom/curve/curdef.hxx"
|
|
#include "kernel/kerngeom/surface/surdef.hxx"
|
|
#include "kernel/kernapi/api/acis_options.hxx"
|
|
Description:
|
This API projects
in_curve onto
in_surface, returning the result in
is_surface. in_range is the parameter range of
in_curve.
|
|
|
The input curve and surface should both be in world coordinates. They might not be if their owning body contains a transformation, and may need to be converted. See the Scheme command,
edge:project-to-face, for an example of how to do this.
|
|
|
Only that part of the curve for which a perpendicular projection onto the surface exists will be projected. Parts which can only be projected to the boundaries of the surface will be excluded.
|
|
Errors:
|
Curve or surface not in world coordinates.
|
|
Limitations:
|
If the curve has a perpendicular projection onto the surface over more than one distinct interval, the function will fail, as it can only return a single output curve.
|
|
Library:
|
kernel
|
|
Filename:
|
kern/kernel/kernapi/api/kernapi.hxx
|
|
Effect:
|
Changes model
|