Woolz Image Processing
Version 1.8.3
|
Utility functions associated with 3D views. More...
Functions | |
WlzThreeDViewStruct * | WlzMake3DViewStructCopy (WlzThreeDViewStruct *given, WlzErrorNum *dstErr) |
Allocates and intialises a new 3D view and sets it's parameters to those of the given view. The new transform's look up tables are not allocated. More... | |
WlzThreeDViewStruct * | WlzMake3DViewStruct (WlzObjectType type, WlzErrorNum *dstErr) |
Allocates and intialises a 3D view. The transform look up tables are not allocated. More... | |
WlzErrorNum | WlzFree3DViewStruct (WlzThreeDViewStruct *viewStr) |
Frees a view. More... | |
WlzErrorNum | WlzInit3DViewStructAffineTransform (WlzThreeDViewStruct *viewStr) |
Sets up the affine transform of the given view including scale. This does not require any initialisation. The intialisation mask will have the WLZ_3DVIEWSTRUCT_INIT_TRANS bit set. By default the scale parameters are not used. Scaling is enabled by setting bits in the voxelRescaleFlg: setting bit 1 will switch on voxel-size rescaling; setting bit 2 will enable global scaling. More... | |
WlzErrorNum | Wlz3DViewStructSetupTransformLuts (WlzThreeDViewStruct *viewStr) |
Sets up the transformation look up tables of the given view. More... | |
WlzErrorNum | Wlz3DViewStructTransformBB (WlzObject *obj, WlzThreeDViewStruct *viewStr) |
Set up the min and max vertex values for the transformed space. If the input object is a WLZ_3D_DOMAINOBJ then the bounding box will enclose the transformed bounding box of the input object. If the input object is a WLZ_2D_DOMAINOBJ then it is assumed that this is the transformed section and the min and max valuesa are those of the object itself. These values are padded to account for round-off errors. More... | |
WlzErrorNum | WlzInit3DViewStruct (WlzThreeDViewStruct *viewStr, WlzObject *obj) |
Initialises a 3D view with respect to the given view parameters and a 3D object. More... | |
WlzErrorNum | Wlz3DSectionTransformVtx (WlzDVertex3 *vtx, WlzThreeDViewStruct *viewStr) |
Transforms a 3D vertex using the section transform overwriting the vertex values. More... | |
WlzErrorNum | Wlz3DSectionTransformVtxR (WlzThreeDViewStruct *viewStr, WlzDVertex3 vtx, WlzDVertex3 *dstVtx) |
Transforms a 3D vertex using the section transform. More... | |
WlzErrorNum | Wlz3DSectionTransformInvVtx (WlzDVertex3 *vtx, WlzThreeDViewStruct *viewStr) |
Inverse transforms a 3D vertex using the section transform, overwriting the vertex values. More... | |
WlzErrorNum | Wlz3DSectionTransformInvVtxR (WlzThreeDViewStruct *viewStr, WlzDVertex3 vtx, WlzDVertex3 *dstVtx) |
Inverse transforms a 3D vertex using the section transform. More... | |
WlzErrorNum | Wlz3DSectionIncrementDistance (WlzThreeDViewStruct *viewStr, double incr) |
Increments the distance parameter of a 3D view resetting the look up tables as required. This is provided because changing the distance does not require the rotation matrix and all the look up tables only a single multiply and add per look up table entry instead of 2 multiplies and three adds plus all the y look up tables and the rotation matrix with many trigonometry calculations. More... | |
WlzDVertex2 | Wlz3DViewGetIntersectionPoint (WlzThreeDViewStruct *v1, WlzThreeDViewStruct *v2, WlzErrorNum *dstErr) |
Finds a point on the line of intersection of two 3D views. The point is returned in the coordinate system of the first view. This function together with Wlz3DViewGetIntersectionAngle() is useful for finding the line of intersection within one of the planes. More... | |
double | Wlz3DViewGetIntersectionAngle (WlzThreeDViewStruct *v1, WlzThreeDViewStruct *v2, WlzErrorNum *dstErr) |
Finds the angle of the ine of intersection of two views. More... | |
int | Wlz3DViewGetBoundingBoxIntersection (WlzThreeDViewStruct *viewStr, WlzDVertex3 *rtnVtxs, WlzErrorNum *dstErr) |
Gets the vertices of intersection between a section and the bounding box of the reference object. The vertices are returned in order to be used for display etc.. More... | |
int | Wlz3DViewGetBoundingBoxIntersectionA (WlzThreeDViewStruct *viewStr, int *dstSizeArrayVtxs, WlzDVertex3 **dstArrayVtxs, WlzErrorNum *dstErr) |
Gets the vertices of intersection between a section and the given bounding box. The vertices are returned in order to be used for display etc. More... | |
int | Wlz3DViewGetGivenBBIntersection (WlzThreeDViewStruct *viewStr, WlzDVertex3 bbMin, WlzDVertex3 bbMax, WlzDVertex3 *rtnVtxs, WlzErrorNum *dstErr) |
get the vertices of intersection between a section and the given bounding box. The vertices are returned in order to be used for display etc. More... | |
WlzErrorNum | Wlz3DViewGetFixed (WlzThreeDViewStruct *vs, double *dstX, double *dstY, double *dstZ) |
Gets the fixed point coordinates from a 3D view. More... | |
WlzErrorNum | Wlz3DViewSetFixed (WlzThreeDViewStruct *vs, double x, double y, double z) |
Sets the fixed point coordinates in a 3D view. More... | |
WlzErrorNum | Wlz3DViewGetTheta (WlzThreeDViewStruct *vs, double *dstVal) |
Gets the angle theta from the 3D view. More... | |
WlzErrorNum | Wlz3DViewSetTheta (WlzThreeDViewStruct *vs, double val) |
Sets the angle theta from the 3D view. More... | |
WlzErrorNum | Wlz3DViewGetPhi (WlzThreeDViewStruct *vs, double *dstVal) |
Gets the angle phi from the 3D view. More... | |
WlzErrorNum | Wlz3DViewSetPhi (WlzThreeDViewStruct *vs, double val) |
Sets the angle phi from the 3D view. More... | |
WlzErrorNum | Wlz3DViewGetZeta (WlzThreeDViewStruct *vs, double *dstVal) |
Gets the angle zeta from the 3D view. More... | |
WlzErrorNum | Wlz3DViewSetZeta (WlzThreeDViewStruct *vs, double val) |
Sets the angle zeta from the 3D view. More... | |
WlzErrorNum | Wlz3DViewGetDist (WlzThreeDViewStruct *vs, double *dstVal) |
Gets the increment distance from the 3D view. More... | |
WlzErrorNum | Wlz3DViewSetDist (WlzThreeDViewStruct *vs, double val) |
Sets the increment distance in the 3D view. More... | |
WlzErrorNum | Wlz3DViewGetScale (WlzThreeDViewStruct *vs, double *dstVal) |
Gets the scale from the 3D view. More... | |
WlzErrorNum | Wlz3DViewSetScale (WlzThreeDViewStruct *vs, double val) |
Sets the scale in the 3D view. More... | |
WlzErrorNum | Wlz3DViewGetViewMode (WlzThreeDViewStruct *vs, WlzThreeDViewMode *dstVal) |
Gets the view mode from the 3D view. More... | |
WlzErrorNum | Wlz3DViewSetViewMode (WlzThreeDViewStruct *vs, WlzThreeDViewMode val) |
Sets the view mode in the 3D view. More... | |
WlzErrorNum | Wlz3DViewGetUp (WlzThreeDViewStruct *vs, double *dstX, double *dstY, double *dstZ) |
Gets the up vector from the 3D view. More... | |
WlzErrorNum | Wlz3DViewSetUp (WlzThreeDViewStruct *vs, double x, double y, double z) |
Sets the up vector in the 3D view. More... | |
WlzErrorNum | Wlz3DViewGetFixed2 (WlzThreeDViewStruct *vs, double *dstX, double *dstY, double *dstZ) |
Gets the coordinates of the second fixed point from the 3D view. More... | |
WlzErrorNum | Wlz3DViewSetFixed2 (WlzThreeDViewStruct *vs, double x, double y, double z) |
Sets the coordinates of the second fixed point in the 3D view. More... | |
WlzErrorNum | Wlz3DViewGetFixedLineAngle (WlzThreeDViewStruct *vs, double *dstVal) |
Gets the fixed line angle from the 3D view. More... | |
WlzErrorNum | Wlz3DViewSetFixedLineAngle (WlzThreeDViewStruct *vs, double val) |
Sets the fixed line angle in the 3D view. More... | |
WlzErrorNum | Wlz3DViewGetMaxvals (WlzThreeDViewStruct *vs, double *dstX, double *dstY, double *dstZ) |
Gets the section maximum values from the 3D view. More... | |
WlzErrorNum | Wlz3DViewGetMinvals (WlzThreeDViewStruct *vs, double *dstX, double *dstY, double *dstZ) |
Gets the section minimum values from the 3D view. More... | |
void | Wlz3DViewGetPlaneEqn (WlzThreeDViewStruct *view, double *dstA, double *dstB, double *dstC, double *dstD) |
Computes the parameters of the equation of the plane defined by the given 3D view. More... | |
int | Wlz3DViewIntersectAABB (WlzThreeDViewStruct *view, WlzDBox3 box) |
Tests for an intersection between the plane defined by the given 3D view and the given axis aligned bounding box (AABB). More... | |
WlzThreeDViewStruct * | Wlz3DViewStructFromNormal (WlzDVertex3 nrm, WlzDVertex3 org, WlzDVertex3 up, WlzErrorNum *dstErr) |
Creates a new 3D view structure with angles and fixed point set. More... | |
Utility functions associated with 3D views.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.