 |
PK_GEOM_check_o_t |
|
struct PK_GEOM_check_o_s
{
int o_t_version; --- version number of option
--- structure
int max_faults; --- limit on fault numbers (1)
PK_check_geom_t geom; --- bad geometry
--- (PK_check_geom_yes_c)
PK_check_attribs_t attribs; --- system attribute validity
--- checks (PK_check_attribs_no_c)
PK_check_extra_faults_t extra_faults; --- expand
--- PK_ENTITY_state_invalid_c
--- (PK_check_extra_faults_0_c)
};
typedef struct PK_GEOM_check_o_s PK_GEOM_check_o_t;
Holds optional controls for checking a geometrical entity.
Used in:
PK_GEOM_check
The option structure defines options applicable to checking a geometrical
entity.
option structure
------ ---------
The option structure allows the caller to control which checks are performed;
if no options are supplied, all checks appropriate to the geometric entity
will be made.
The option structure allows the following to be set:
'max_faults'
maximum number of faults to be returned and whether to force checking
to raise a PK error instead of returning check faults.
'geom'
what general geometry checking is to be performed
'attribs'
This can be set to one of:
PK_check_attribs_no_c Do not perform validity checks on
attached system attributes.
PK_check_attribs_yes_c Perform system attribute validity checks.
The only check fault associated with this check is the following:
PK_ATTRIB_state_invalid_att_c
Description: invalid attribute
(If any faults are found with the system
attributes present, the user is encouraged
to use PK_ENTITY_check_attribs to discover
more information on the faulty attribute)
entity_1 : attribute
entity_2 : attribute owner
'extra_faults'
This option can be set to one of these values:
PK_check_extra_faults_0_c returns version 0 check fault states
PK_check_extra_faults_1_c returns version 1 check fault states
PK_check_extra_faults_latest_c returns latest check fault states
When 'extra_faults' is set to PK_check_extra_faults_0_c the following
tokens are returned
PK_check_extra_faults_0_c tokens:
bcurve:
PK_BCURVE_state_close_knots_c
Description: The knots are closer than the
accepted minimum.
entity_1 : bcurve
Position : a vector (t,0,0) where the parameter t
is where the knots are too close
bsurface:
PK_BSURF_state_close_u_knots_c
Description: The u knots are closer than the
accepted minimum.
entity_1 : bsurface
Position : a vector (u,0,0) where the parameter u
is where the u knots are too close
PK_BSURF_state_close_v_knots_c
Description: The v knots are closer than the
accepted minimum.
entity_1 : bsurface
Position : a vector (v,0,0) where the parameter v
is where the v knots are too close
Geometry:
PK_GEOM_state_self_int_c
Description: The surface is self intersecting
entity_1 : surface
Position : A point from the intersecting region
PK_GEOM_state_degenerate_c
Description: The geometry has a degenerate region
entity_1 : geometry
Position : point from degenerate region
Entity (default):
PK_ENTITY_state_invalid_c
Description: The entity is invalid
entity_1 : entity
When 'extra_faults' is set to PK_check_extra_faults_1_c or
PK_check_extra_faults_latest_c then the faults which are
returned as PK_ENTITY_state_invalid_c under
PK_check_extra_faults_0_c are expanded and
returned as
PK_check_extra_faults_1_c tokens:
(notation for bcurve and bsurf
------------------------------------------
|the bcurve degree |n |
|the bsurf degree in u |nu |
|the bsurf degree in v |nv |
------------------------------------------
|number of control vertices |m |
|number of control vertices in u |mu |
|number of control vertices in v |mv |
------------------------------------------
|The bcurve i'th control vertex |v(i) |
|The bsurf control vertex with |v(i,j)|
|index (i,j) | |
------------------------------------------
|number of bcurve knots |p |
|number of bsurf knots in u |pu |
|number of bsurf knots in v |pv |
------------------------------------------
|multiplicity of bcurve knot i |r(i) |
|multiplicity of bsurf knot i in u|ru(i) |
|multiplicity of bsurf knot i in v|rv(i) |
------------------------------------------
|bcurve knot[i] |t(i) |
|bsurf knot[i] in u |tu(i) |
|bsurf knot[i] in v |tv(i) |
------------------------------------------
)
PK_BCURVE_state_vx_periodic_c
Description: The control vertices do not satisfy the
periodic condition
v(j) = v(j + m - period) where
j=1,...,period
period = 1 + n - r(n)
entity_1 : bcurve
Position : the control vertex v(j) which is
faulty
PK_BCURVE_state_knot_periodic_c
Description: The i'th knot periodicity condition
is violated
period = t(p-n) - t(n)
t(i) + period = t(i+p-n): i=1,...,n
entity_1 : bcurve
Position : (t(i), period, 0)
PK_BCURVE_state_knot_bad_mult_c
Description: bad multiplicity knot (for a non
periodic curve)
No knot should have
r(i) > n, for an internal knot
r(i) > n+1, for an end knot
entity_1 : bcurve
Position : (t(i), r(i), n)
PK_BCURVE_state_knot_vx_count_c
Description: number of control vertices is inconsistent
with the curve degree ( m < n + 1)
entity_1 : bcurve
Position : (m, n, 0)
PK_BCURVE_state_knot_count_c
Description: number of vertices is inconsistent with
number of knots (p != m + n + 1)
entity_1 : bcurve
Position : (p, m, n)
PK_BCURVE_state_bad_knot_seq_c
Description: The knot sequence is non monotonic
entity_1 : bcurve
Position : (t(i-1), t(i), 0) the non monotonic knots
PK_BCURVE_state_bad_dimen_c
Description: The control vertex dimension should be 3
for non rational bcurve or 4
for rational bcurve
entity_1 : bcurve
PK_BLENDSF_state_bad_spine_c
Description: The spine does not lie on the
the offset of the supporting geometries
with offset distance equal to the blendsf
radius
entity_1 : blendsf
PK_BSURF_state_bad_vx_uperiod_c
Description: The control vertices do not satisfy the
periodic condition in u
v(i, j) = v(i + mu - period, j) where
i=1,...,period
j=1,...,mv
period = 1 + nu - ru(nu)
entity_1 : bsurf
Position : (i,i+mu-period,j) the indices of the
faulty vertices
PK_BSURF_state_bad_vx_vperiod_c
Description: The control vertices do not satisfy the
periodic condition in v
v(j, i) = v(j, i + mu - period) where
i=1,...,period
j=1,...,mu
period = 1 + nv - rv(nv)
entity_1 : bsurf
Position : (j,i,i+mv-period), the indices of the
faulty vertices.
PK_BSURF_state_uknot_vx_count_c
Description: number of control vertices in u is
inconsistent with the bsurf degree in u
(mu < nu + 1)
entity_1 : bsurf
Position : (mu, nu, 0)
PK_BSURF_state_vknot_vx_count_c
Description: number of control vertices in v is
inconsistent with the bsurf degree in v
(mv < nv + 1)
entity_1 : bsurf
Position : (mv, nv, 0)
PK_BSURF_state_uknot_periodic_c
Description: The i'th u knot periodicity condition
is violated
period = tu(pu - nu) - tu(nu)
tu(i) + period = tu(i + pu - nu)
i=1,...,nu
entity_1 : bsurf
Position : (tu(i), period, 0)
PK_BSURF_state_vknot_periodic_c
Description: The i'th v knot periodicity condition
is violated
period = tv(pv - nv) - tv(nv)
tv(i) + period = tv(i + pv - nv)
i=1,...,nv
entity_1 : bsurf
Position : (tv(i), period, 0)
PK_BSURF_state_uknot_bad_mult_c
Description: bad multiplicity of u knot (for a non
periodic curve)
No knot should have
ru(i) > nu, for an internal u knot
ru(i) > nu + 1, for an end u knot
entity_1 : bsurf
Position : (tu(i), ru(i), nu)
PK_BSURF_state_vknot_bad_mult_c
Description: bad multiplicity of v knot (for a non
periodic curve)
No knot should have
rv(i) > nv, for an internal v knot
rv(i) > nv + 1, for an end v knot
entity_1 : bsurf
Position : (tv(i), rv(i), nv)
PK_BSURF_state_uknot_count_c
Description: number of control vertices is
inconsistent with the number of
knots in u (pu != mu + nu + 1)
entity_1 : bsurf
Position : (pu, mu, nu)
PK_BSURF_state_vknot_count_c
Description: number of control vertices is
inconsistent with the number of
knots in v (pv != mv + nv + 1)
entity_1 : bsurf
Position : (pv, mv, nv)
PK_BSURF_state_bad_uknot_seq_c
Description: non monotonic knot sequence in u
entity_1 : bsurf
Position : (tu(i-1), tu(i), 0) the faulty knots
PK_BSURF_state_bad_vknot_seq_c
Description: non monotonic knot sequence in v
entity_1 : bsurf
Position : (tv(i-1), tv(i), 0) the faulty knots
PK_BSURF_state_bad_dimen_c
Description: The control vertex dimension should be 3
or 4.
entity_1 : bsurf
PK_CIRCLE_state_bad_radius_c
Description: Radius outside of the accepted range
entity_1 : circle
PK_GEOM_state_outside_box_c
Description: The geometry is outside the size box
entity_1 : geometry
Position : vertex position outside the box.
PK_LINE_state_bad_unit_vec_c
Description: The direction vector is not a unit vector
entity_1 : line
Position : direction vector
PK_OFFSET_state_bad_dist_c
Description: The offset distance parameter is less than
the accepted minimum.
entity_1 : offset surface
PK_OFFSET_state_under_sense_c
Description: The senses of the offset and its
underlying surfaces disagree
entity_1 : offset surface
entity_2: : underlying surface
PK_OFFSET_state_under_non_g1_c
Description: The underlying surface has a degenerate
region
entity_1 : offset surface
entity_2 : underlying surface
Position : A position from the degenerate region
PK_SPCURVE_state_bad_linear_c
Description: The linear bcurve has more than one
segment (The number of control vertices
is different from two).
entity_1 : spcurve
entity_2 : bcurve
PK_SPCURVE_state_surf_span_c
Description: A section of the spcurve is outside the
surface boundary
entity_1 : spcurve
entity_2 : bcurve
PK_SPCURVE_state_non_g1_x_u_c
Description: The spcurve crosses a constant u
parameter line where the surface
is non G1.
entity_1 : spcurve
entity_2 : surface
PK_SPCURVE_state_non_c1_x_u_c
Description: The spcurve crosses a constant u
parameter line where the surface
is non C1
entity_1 : spcurve
entity_2 : surface
PK_SPCURVE_state_non_g1_x_v_c
Description: The spcurve crosses a constant v
parameter line where the surface
is non G1.
entity_1 : spcurve
entity_2 : surface
PK_SPCURVE_state_non_c1_x_v_c
Description: The spcurve crosses a constant v
parameter line where the surface
is non C1
entity_1 : spcurve
entity_2 : surface
PK_SPCURVE_state_non_g1_c
Description: spcurve is non G1
entity_1 : spcurve
entity_2 : bcurve
Position : (t,0,0) where
t is a parameter where the fault
occurred
PK_SPCURVE_state_bad_dimen_c
Description: spcurve has invalid control vertex
dimension (dimension should be 3 for
rational curve and 2 for non rational)
entity_1 : spcurve
entity_2 : bcurve
PK_SPUN_state_profile_x_axis_c
Description: The spun profile should not cross the spun
axis but it may just touch axis at either
ends
entity_1 : spun
PK_SWEPT_state_bad_min_rad_c
Description: The swept surface minimal radius of
curvature is smaller than the accepted
minimum
entity_1 : swept surface
Position : (tu,0,0) where the fault occurs
PK_TRCURVE_state_ends_open_c
Description: The open curve has equal bounds
entity_1 : trimmed curve
PK_TRCURVE_state_ends_order_c
Description: The curve end points are not in order
entity_1 : trimmed curve
PK_TRCURVE_state_ends_match_c
Description: The end curve parameters do not
match the end points
entity_1 : trimmed curve
Generated on: Fri, 04 Oct 2024 12:19:38 GMT