 |
PK_LATTICE_find_nabox_o_t |
|
struct PK_LATTICE_find_nabox_o_s
{
int o_t_version; --- version number of options
--- structure.
PK_LOGICAL_t have_axis1; --- whether axis1 supplied
--- ( PK_LOGICAL_false )
PK_AXIS1_sf_t axis1; --- local origin and one axis for nabox
PK_LOGICAL_t have_axis2; --- whether axis2 supplied
--- ( PK_LOGICAL_false )
PK_AXIS2_sf_t axis2; --- local coordinate system for nabox
--- ( world coordinate system )
};
typedef struct PK_LATTICE_find_nabox_o_s PK_LATTICE_find_nabox_o_t;
This structure contains optional controls for PK_LATTICE_find_nabox.
Specific Errors:
PK_ERROR_bad_combination (MILD) 'have_axis1' and 'have_axis2' are
both set to PK_LOGICAL_true
Used in:
PK_LATTICE_find_nabox
This option structure contains the fields:
'have_axis1' whether the application wishes to specify one of the
axes of the non-aligned box and leave the other two
for Parasolid to calculate.
'axis1' the 'location' and 'axis' to occur in the 'basis_set'
in the PK_NABOX_sf_t returned by PK_LATTICE_find_nabox
when 'have_axis1' is PK_LOGICAL_true.
'have_axis2' whether or not the application has supplied a local
coordinate system in which a non-aligned box should
be calculated.
'axis2' the coordinate system in which a non-aligned box is
required if 'have_axis2' is set to PK_LOGICAL_true.
Parasolid determined coordinate system
--------------------------------------
When 'have_axis1' and 'have_axis2' are both PK_LOGICAL_false, Parasolid
will find a local coordinate system which is aligned with a near-minimal
bounding box for the given lattice. The local axes will be ordered in such
a way that the local X axis has the greatest dimension, the local Y axis
the next greatest dimension and the local Z axis the smallest dimension.
In terms of the fields of a PK_AXIS2_sf_t
structure:
local X is 'ref_direction'
local Z is 'axis'
local Y is the cross product of local Z and local X.
Specifying a single axis
------------------------
When 'have_axis1' is PK_LOGICAL_true, Parasolid will calculate a non-aligned
box containing the given lattice such that the 'location' and 'axis' of its
'basis_set' will be the 'location' and 'axis' from 'axis1', and whose
projection onto the plane defined by 'axis1' is of minimal area. The
'ref_direction' is taken from the longest side of the rectangle bounding the
projection of the non-aligned box onto this plane.
Specifying a full coordinate system
-----------------------------------
If 'have_axis2' is PK_LOGICAL_true, then Parasolid will find the non-aligned
box of the given lattice within the coordinate system defined by 'axis2'. In
this case the 'basis_set' in the PK_NABOX_sf_t returned by
PK_LATTICE_find_nabox will be identical to 'axis2'.