Woolz Image Processing  Version 1.7.5
WlzVerticies.c File Reference

Functions for extracting vertices from objects represented by vertices, eg polylines, boundlists and contours. More...

Functions

WlzVertexP WlzVerticesFromObj (WlzObject *obj, WlzVertexP *dstNr, int *dstCnt, WlzVertexType *dstType, WlzErrorNum *dstErr)
 Allocates a buffer which it fills with the vertices from the given object. If the object is not one of the types that is represented by vertices, eg polylines, boundlists, contours ..., then this may result in a very large number of vertices, with for example one per voxel. Normals will only be allocated and set for objects represented by vertices, eg there will be no normals for voxel based objects. More...
 
WlzVertexP WlzVerticesFromObjBnd (WlzObject *obj, int *dstCnt, WlzVertexType *dstType, WlzErrorNum *dstErr)
 Extracts all vertices that lie on the boundary of the given objects domain. More...
 
WlzErrorNum WlzVerticesFromObjBnd2I (WlzObject *obj, int *dstNVtx, WlzIVertex2 **dstVtx)
 Extracts all vertices that lie on the boundary of the given 2D domain object's domain. More...
 
WlzErrorNum WlzVerticesFromObjBnd3I (WlzObject *obj, int *dstNVtx, WlzIVertex3 **dstVtx)
 Extracts all vertices that lie on the boundary of the given 3D domain object's domain. More...
 
WlzErrorNum WlzVerticesFromObj2I (WlzObject *obj, int *dstNVtx, WlzIVertex2 **dstVtx)
 Extracts all vertices that lie within the given 2D domain object's domain. More...
 
WlzErrorNum WlzVerticesFromObj3I (WlzObject *obj, int *dstNVtx, WlzIVertex3 **dstVtx)
 Extracts all vertices that lie within the given 3D domain object's domain. More...
 
WlzVertexP WlzVerticesFromGM (WlzGMModel *model, WlzVertexP *dstNr, int **dstVId, int *dstCnt, WlzVertexType *dstType, WlzErrorNum *dstErr)
 Allocates a buffer which it fills with the vertices from a geometric model. More...
 
WlzVertexP WlzDVerticesFromGM (WlzGMModel *model, int *dstCnt, WlzVertexType *dstType, WlzErrorNum *dstErr)
 Allocates a buffer which it fills with either 2D or 3D double precission vertices from the geometric model. The indicies of the vertices in the buffer are the same as the indices of the vertices in the model. More...
 
WlzVertexP WlzDVerticesFromCMesh (WlzCMeshP mesh, int *dstCnt, WlzVertexType *dstType, int skip, WlzErrorNum *dstErr)
 Allocates a buffer which it fills with either 2D or 3D double precission vertices from the conforming mesh. The indicies of the vertices in the buffer are the same as the indices of the vertices in the model unless the skip non-valid nodes flag is set.. More...
 
int WlzVertexQSortFnI2 (void *p0, void *p1)
 Function for AlgSort() to sort WlzIVertex2 vertices so that they have increasing Y then X. More...
 
int WlzVertexQSortFnI3 (void *p0, void *p1)
 Function for AlgSort() to sort WlzIVertex3 vertices so that they have increasing z then Y then X. More...
 
int WlzVertexHeapSortIdxFnI2 (void *data, int *idx, int id0, int id1)
 Function for AlgHeapSortIdx() to sort WlzIVertex2 vertices so that they have increasing Y then X. More...
 
int WlzVertexHeapSortIdxFnI3 (void *data, int *idx, int id0, int id1)
 Function for AlgHeapSortIdx() to sort WlzIVertex3 vertices so that they have increasing Z then Y then X. More...
 
int WlzVertexHeapSortIdxFnD2 (void *data, int *idx, int id0, int id1)
 Function for AlgHeapSortIdx() to sort WlzDVertex2 vertices so that they have increasing Z then Y then X. More...
 
int WlzVertexHeapSortIdxFnD3 (void *data, int *idx, int id0, int id1)
 Function for AlgHeapSortIdx() to sort WlzDVertex3 vertices so that they have increasing Z then Y then X. More...
 
AlcKDTTreeWlzVerticesBuildTree (WlzVertexType vType, int nV, WlzVertexP vtx, int *shfBuf, WlzErrorNum *dstErr)
 Allocates and populates a k-D tree from the given vertices. The vertices are either WlzDVertex2 orWlzDVertex3. More...
 

Detailed Description

Functions for extracting vertices from objects represented by vertices, eg polylines, boundlists and contours.

Author
Bill Hill
Date
November 2000
Version
Id
be70590880d7224bd32ac3726557673a2f3c024d
Address: MRC Human Genetics Unit, MRC Institute of Genetics and Molecular Medicine, University of Edinburgh, Western General Hospital, Edinburgh, EH4 2XU, UK.
Copyright (C), [2012], The University Court of the University of Edinburgh, Old College, Edinburgh, UK.

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.