Synopsis
PDX_MSGT picr_BCurve(long option, int model, MDA_PTR orig_db_ptr, int tag, int identifier, MDA_PTR params, int degree, int n_vertices, int vertex_dim, PINT_BOOL is_rational, double *vertex, int form, int n_knots, int *knot_mult, double *knot, int knot_type, PINT_BOOL is_periodic, PINT_BOOL is_closed, PINT_BOOL self_intersecting, MDA_PTR *bcurve_ptr)
Purpose
Create the PINT model BCurve entity.
Description
This function creates a PINT BCurve entity for the given input data. The data provided must result in a valid definition. The orig_db_ptr argument should contain the database pointer of the entity that the new entity was created from (usually this should be obtained by the calling routine via mda_GetOrigDbptr) or MDA_NULL_PTR. See the mda_intro man page for more information about predecessor entities.
Input
option
PICR_VALIDATE
Validate the entity fields
PICR_NOVALIDATE
Do not validate the entity fields
model
PINT model for entity creation
orig_db_ptr
The original entities orig_db_ptr as obtained from the mda_GetOrigDbptr call, or MDA_NULL_PTR
tag
Parasolid tag for this entity
basis_set
MDA_PTR to basis_set entity defining bcurve
params
MDA_NULL_PTR
No parm values
degree
Degree of the bcurve
n_vertices
Number of vertices in the curve
vertex_dim
dimension of the vertex (2, 3, 4)
is_rational
PINT_TRUE
The curve is periodic
PINT_FALSE
The curve is not periodic
vertex
The curve vertices
form
PINT_BCURVE_UNSET
The curve shape has not been evaluated
PINT_BCURVE_ARBITRARY
The curve shape is not special
PINT_BCURVE_POLYLINE
The curve shape is piecewise linear
PINT_BCURVE_CIRCULAR
The curve shape is a circular arc
PINT_BCURVE_ELLIPTIC
The curve shape is a elliptical arc
PINT_BCURVE_PARABOLIC
The curve shape is a parabolic arc
PINT_BCURVE_HYPERBOLIC
The curve shape is a hyperbolic arc
n_knots
Number of knots for the curve
knot_mult
The number of times each knot value is repeated
knot
The knot values
knot_type
PINT_KNOT_UNSET
The type has not been calculated
PINT_KNOT_NON_UNIFORM
The knot is general non-uniform
PINT_KNOT_UNIFORM
The knot are uniformly spaced
PINT_KNOT_QUASI_UNIFORM
The first and last knots have multiplicity degree+1, and the remainder have multiplicity 1, with equal spacing
PINT_KNOT_PIECEWISE_BEZIER
The first and last knots have multiplicity degree+1, and the remainder have multiplicity degree, with equal spacing
PINT_KNOT_BEZIER_ENDS
The the first and last knots have multiplicity degree+1. In other respects, the knot set is non-uniform
is_periodic
PINT_TRUE
The curve is periodic
PINT_FALSE
The curve is not periodic
is_closed
PINT_TRUE
The curve is closed
PINT_FALSE
The curve is not closed
self_intersecting
PINT_TRUE
The curve is self_intersecting
PINT_FALSE
The curve is not self_intersecting
PINT_UNSET
The curve has not been tested
identifier
Parasolid's identifier
Output
bcurve_ptr
The PINT model pointer
Return
Low level error return
.fi