Woolz Image Processing Version 1.4.0
|
Woolz C pre-processor directives, eg macros. More...
Go to the source code of this file.
Defines | |
#define | WLZ_VERSION PACKAGE_VERSION |
#define | WLZ_MAX(X, Y) (((X)>=(Y))?(X):(Y)) |
#define | WLZ_MIN(X, Y) (((X)<=(Y))?(X):(Y)) |
#define | WLZ_ABS(X) (((X)>0)?(X):(-(X))) |
#define | WLZ_NINT(X) ((int)(((X)<0)?((X)-(0.5)):((X)+(0.5)))) |
#define | WLZ_SIGN(X) (((X)<0)?-1:((X)>0)?1:0) |
#define | WLZ_CLAMP(v, min, max) (v<min ? min : v>max ? max : v) |
#define | WLZ_M_E (2.7182818284590452354) |
#define | WLZ_M_LOG2E (1.4426950408889634074) |
#define | WLZ_M_LOG10E (0.43429448190325182765) |
#define | WLZ_M_LN2 (0.69314718055994530942) |
#define | WLZ_M_LN10 (2.30258509299404568402) |
#define | WLZ_M_PI (3.14159265358979323846) |
#define | WLZ_M_PI_2 (1.57079632679489661923) |
#define | WLZ_M_PI_4 (0.78539816339744830961) |
#define | WLZ_M_1_PI (0.31830988618379067154) |
#define | WLZ_M_2_PI (0.63661977236758134308) |
#define | WLZ_M_2_SQRTPI (1.12837916709551257390) |
#define | WLZ_M_SQRT2 (1.41421356237309504880) |
#define | WLZ_M_SQRT1_2 (0.70710678118654752440) |
#define | WLZ_M_SQRT3 (1.73205080756887729352) |
#define | WLZ_M_SQRT3_2 (0.86602540378443864676) |
#define | WLZ_MESH_TOLERANCE (1.0E-04) |
#define | WLZ_MESH_TOLERANCE_SQ (WLZ_MESH_TOLERANCE * WLZ_MESH_TOLERANCE) |
#define | WLZ_MESH_ELEM_AREA_TOLERANCE (WLZ_M_SQRT3_2 * WLZ_MESH_TOLERANCE_SQ) |
#define | WLZ_BIT_SET(A, B) *((A)+((B)>>3))|=(1<<((B)&7)) |
#define | WLZ_BIT_GET(A, B) (*((A)+((B)>>3))&(1<<((B)&7))) |
#define | WLZ_RGBA_RED_GET(V) ((((WlzUInt )V) & 0xff)>>0) |
#define | WLZ_RGBA_GREEN_GET(V) ((((WlzUInt )V) & 0xff00)>>8) |
#define | WLZ_RGBA_BLUE_GET(V) ((((WlzUInt )V) & 0xff0000)>>16) |
#define | WLZ_RGBA_ALPHA_GET(V) ((((WlzUInt )V) & 0xff000000)>>24) |
#define | WLZ_RGBA_RED_SET(V, C) |
#define | WLZ_RGBA_GREEN_SET(V, C) |
#define | WLZ_RGBA_BLUE_SET(V, C) |
#define | WLZ_RGBA_ALPHA_SET(V, C) |
#define | WLZ_RGBA_RGBA_SET(V, R, G, B, A) |
#define | WLZ_RGBA_MEAN(V) |
#define | WLZ_RGBA_MODULUS_2(V) |
#define | WLZ_RGBA_MODULUS(V) (sqrt((double) WLZ_RGBA_MODULUS_2(V))) |
#define | WLZ_VTX_2_ABS(A, X) |
#define | WLZ_VTX_3_ABS(A, X) |
#define | WLZ_VTX_2_SIGN(S, X) |
#define | WLZ_VTX_3_SIGN(S, X) |
#define | WLZ_VTX_2_SET(U, X, Y) |
#define | WLZ_VTX_3_SET(U, X, Y, Z) |
#define | WLZ_VTX_2_ADD(U, V, W) |
#define | WLZ_VTX_3_ADD(U, V, W) |
#define | WLZ_VTX_2_ADD3(U, V, W, X) |
#define | WLZ_VTX_3_ADD3(U, V, W, X) |
#define | WLZ_VTX_3_ADD4(U, V, W, X, Y) |
#define | WLZ_VTX_2_SUB(U, V, W) |
#define | WLZ_VTX_3_SUB(U, V, W) |
#define | WLZ_VTX_2_SCALE(U, V, C) |
#define | WLZ_VTX_3_SCALE(U, V, C) |
#define | WLZ_VTX_2_SCALE_ADD(U, V, C, W) |
#define | WLZ_VTX_3_SCALE_ADD(U, V, C, W) |
#define | WLZ_VTX_2_DOT(V, W) |
#define | WLZ_VTX_3_DOT(V, W) |
#define | WLZ_VTX_3_CROSS(U, V, W) |
#define | WLZ_VTX_2_SQRLEN(U) |
#define | WLZ_VTX_3_SQRLEN(U) |
#define | WLZ_VTX_2_LENGTH(U) (sqrt(WLZ_VTX_2_SQRLEN(U))) |
#define | WLZ_VTX_3_LENGTH(U) (sqrt(WLZ_VTX_3_SQRLEN(U))) |
#define | WLZ_VTX_2_ZERO(U) |
#define | WLZ_VTX_3_ZERO(U) |
#define | WLZ_VTX_2_NEGATE(U, V) |
#define | WLZ_VTX_3_NEGATE(U, V) |
#define | WLZ_VTX_2_EQUAL(U, V, T) |
#define | WLZ_VTX_3_EQUAL(U, V, T) |
#define | WLZ_VTX_2_FABS(U, V) |
#define | WLZ_VTX_3_FABS(U, V) |
#define | WLZ_VTX_2_NINT(U, P) |
#define | WLZ_VTX_3_NINT(U, P) |
#define | WLZ_CMESH_ELM2D_GET_NODE_0(e) ((e)->edu[0].nod) |
#define | WLZ_CMESH_ELM2D_GET_NODE_1(e) ((e)->edu[1].nod) |
#define | WLZ_CMESH_ELM2D_GET_NODE_2(e) ((e)->edu[2].nod) |
#define | WLZ_CMESH_ELM2D5_GET_NODE_0(e) ((e)->edu[0].nod) |
#define | WLZ_CMESH_ELM2D5_GET_NODE_1(e) ((e)->edu[1].nod) |
#define | WLZ_CMESH_ELM2D5_GET_NODE_2(e) ((e)->edu[2].nod) |
#define | WLZ_CMESH_ELM3D_GET_NODE_0(e) ((e)->face[0].edu[0].nod) |
#define | WLZ_CMESH_ELM3D_GET_NODE_1(e) ((e)->face[0].edu[1].nod) |
#define | WLZ_CMESH_ELM3D_GET_NODE_2(e) ((e)->face[0].edu[2].nod) |
#define | WLZ_CMESH_ELM3D_GET_NODE_3(e) ((e)->face[1].edu[1].nod) |
Woolz C pre-processor directives, eg macros.
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.
#define WLZ_VERSION PACKAGE_VERSION |
#define WLZ_MAX | ( | X, | |
Y | |||
) | (((X)>=(Y))?(X):(Y)) |
Referenced by WlzClipObjToBox2D(), WlzClipObjToBox3D(), WlzConvolveObj(), WlzDistMetricVertex2D(), WlzDistMetricVertex3D(), WlzErosion(), WlzHasIntersection(), WlzMakeLBTDomain2D(), WlzMakeLBTDomain3D(), WlzMatchICPCtr(), WlzRegICPVertices(), WlzRegICPVerticesWSD2D(), WlzRGBAConvertRGBToHSV_UBYTENormalised(), and WlzSnapFit().
#define WLZ_MIN | ( | X, | |
Y | |||
) | (((X)<=(Y))?(X):(Y)) |
#define WLZ_ABS | ( | X | ) | (((X)>0)?(X):(-(X))) |
Referenced by WlzHistogramDistance(), and WlzPrincipalAngle().
#define WLZ_NINT | ( | X | ) | ((int)(((X)<0)?((X)-(0.5)):((X)+(0.5)))) |
Referenced by Wlz3DSectionIncrementDistance(), Wlz3DSectionSegmentObject(), Wlz3DViewStructSetupTransformLuts(), Wlz3DViewTransformObj(), WlzAffineTransformVertexI2(), WlzAffineTransformVertexI3(), WlzBasisFnTransformGMModel(), WlzBasisFnTransformVertexI(), WlzCMeshTransformVtxAry2I(), WlzCMeshTransformVtxAry3I(), WlzDrawDomainObj(), WlzEffReadObjVff(), WlzFilterNObjValues(), WlzGetProjectionFromObject(), WlzGMShellSetGBB2D(), WlzGMShellSetGBB3D(), WlzGMShellUpdateGBB2D(), WlzGMShellUpdateGBB3D(), WlzGMVertexSetG2D(), WlzGMVertexSetG2N(), WlzGMVertexSetG3D(), WlzGMVertexSetG3N(), WlzGreySetRange(), WlzGreyValueGet(), WlzGreyValueGetI(), WlzHistogramDistance(), WlzHistogramEqualiseObj(), WlzHistogramNorm(), WlzHistogramRebin(), WlzInsideDomain(), WlzMakeCircleObject(), WlzMakeCuboidObject(), WlzMakeRectangleObject(), WlzMakeSphereObject(), WlzMakeStdStructElement(), WlzMeshFromObj(), WlzPointsToDomObj(), WlzPolarSample(), WlzPolyEquispace(), WlzPolyTo8Polygon(), WlzProjectObjToPlane(), WlzRegICPVerticesWSD2D(), WlzValueClampDoubleIntoInt(), WlzValueClampDoubleIntoShort(), WlzValueClampFloatIntoInt(), WlzValueClampFloatIntoShort(), WlzValueConvertPixel(), WlzValueCopyDoubleToInt(), WlzValueCopyDoubleToShort(), WlzValueCopyDoubleToUByte(), WlzValueCopyDVertexToIVertex(), WlzValueCopyDVertexToIVertex3(), WlzValueCopyFloatToInt(), WlzValueCopyFloatToShort(), WlzValueCopyFloatToUByte(), WlzValueCopyFVertexToIVertex(), WlzValueCopyFVertexToIVertex3(), and WlzValueDitherI().
#define WLZ_SIGN | ( | X | ) | (((X)<0)?-1:((X)>0)?1:0) |
#define WLZ_CLAMP | ( | v, | |
min, | |||
max | |||
) | (v<min ? min : v>max ? max : v) |
Referenced by Wlz1DConv(), WlzCMeshClosestNod2D5(), WlzFilterNObjValues(), WlzGaussNoise(), WlzGreyInterval(), WlzGreyScale(), WlzGreySetRange(), WlzGreyShift(), WlzGreyValueGetI(), WlzIndexedValueBufWeight(), WlzIndexToRGBA(), WlzLUTGreyTransformSet(), WlzLUTMergeToRGBA(), WlzLUTTransformGreyValues(), WlzSplitMontageObj(), WlzValueConvertPixel(), and WlzValueCopyRGBAToUByte().
#define WLZ_M_E (2.7182818284590452354) |
#define WLZ_M_LOG2E (1.4426950408889634074) |
#define WLZ_M_LOG10E (0.43429448190325182765) |
#define WLZ_M_LN2 (0.69314718055994530942) |
#define WLZ_M_LN10 (2.30258509299404568402) |
#define WLZ_M_PI (3.14159265358979323846) |
#define WLZ_M_PI_2 (1.57079632679489661923) |
Referenced by WlzPrincipalAngle(), and WlzTransposeObj().
#define WLZ_M_PI_4 (0.78539816339744830961) |
#define WLZ_M_1_PI (0.31830988618379067154) |
#define WLZ_M_2_PI (0.63661977236758134308) |
#define WLZ_M_2_SQRTPI (1.12837916709551257390) |
#define WLZ_M_SQRT2 (1.41421356237309504880) |
#define WLZ_M_SQRT1_2 (0.70710678118654752440) |
#define WLZ_M_SQRT3 (1.73205080756887729352) |
#define WLZ_M_SQRT3_2 (0.86602540378443864676) |
#define WLZ_MESH_TOLERANCE (1.0E-04) |
Referenced by WlzBasisFnSetCMesh2D(), WlzBasisFnSetCMesh3D(), WlzCMeshClosestNod2D5(), WlzCMeshCmpElmFeat2D(), WlzCMeshCmpElmFeat3D(), WlzCMeshCompSurfMapIdx(), WlzCMeshDGTensorAtPts(), WlzCMeshElmClosestPosIn2D(), WlzCMeshElmClosestPosIn3D(), WlzCMeshElmEnclosesPos2D5(), WlzCMeshIntersectDom2D5(), WlzCMeshLocateNod2D(), WlzCMeshLocateNod2D5(), WlzCMeshLocateNod3D(), and WlzCMeshMeshMeshProduct().
#define WLZ_MESH_TOLERANCE_SQ (WLZ_MESH_TOLERANCE * WLZ_MESH_TOLERANCE) |
Referenced by WlzCMeshBoundConform3D(), WlzCMeshCopy2D(), WlzCMeshCopy2D5(), WlzCMeshCopy3D(), WlzCMeshElmClosestPosIn2D(), WlzCMeshElmClosestPosIn3D(), WlzCMeshFixNegativeElms2D(), WlzCMeshFixNegativeElms3D(), WlzCMeshSetElm2D(), WlzCMeshSetElm2D5(), WlzCMeshSetElm3D(), WlzCMeshVerify2D(), WlzCMeshVerify3D(), WlzMeshClosestNod2D(), WlzMeshElemFindVxWalk(), WlzMeshElemReplace1(), WlzMeshElemReplaceNWithN(), WlzMeshElemSplit(), and WlzMeshElemVerify().
#define WLZ_MESH_ELEM_AREA_TOLERANCE (WLZ_M_SQRT3_2 * WLZ_MESH_TOLERANCE_SQ) |
Referenced by WlzMeshEarPowerSet(), and WlzMeshNodeDel().
#define WLZ_BIT_SET | ( | A, | |
B | |||
) | *((A)+((B)>>3))|=(1<<((B)&7)) |
#define WLZ_BIT_GET | ( | A, | |
B | |||
) | (*((A)+((B)>>3))&(1<<((B)&7))) |
Referenced by WlzContourGrdObj2D().
#define WLZ_RGBA_RED_GET | ( | V | ) | ((((WlzUInt )V) & 0xff)>>0) |
Referenced by Wlz1DConv(), WlzEffWriteObjJpeg(), WlzGreyInvertMinMax(), WlzGreyMeanDifference(), WlzGreySetRange(), WlzGreySetRangeLut(), WlzIndexedValueBufWeight(), WlzLUTGreyTransformSet(), WlzLUTTransformGreyValues(), WlzRGBABoxThreshold(), WlzRGBAMultiThreshold(), WlzRGBAPixelValue(), WlzRGBAToCompound(), WlzSplitMontageObj(), and WlzVectorThreshCb().
#define WLZ_RGBA_GREEN_GET | ( | V | ) | ((((WlzUInt )V) & 0xff00)>>8) |
Referenced by Wlz1DConv(), WlzEffWriteObjJpeg(), WlzGreyInvertMinMax(), WlzGreyMeanDifference(), WlzGreySetRange(), WlzGreySetRangeLut(), WlzIndexedValueBufWeight(), WlzLUTGreyTransformSet(), WlzLUTTransformGreyValues(), WlzRGBABoxThreshold(), WlzRGBAMultiThreshold(), WlzRGBAPixelValue(), WlzRGBAToCompound(), WlzSplitMontageObj(), and WlzVectorThreshCb().
#define WLZ_RGBA_BLUE_GET | ( | V | ) | ((((WlzUInt )V) & 0xff0000)>>16) |
Referenced by Wlz1DConv(), WlzEffWriteObjJpeg(), WlzGreyInvertMinMax(), WlzGreyMeanDifference(), WlzGreySetRange(), WlzGreySetRangeLut(), WlzIndexedValueBufWeight(), WlzLUTGreyTransformSet(), WlzLUTTransformGreyValues(), WlzRGBABoxThreshold(), WlzRGBAMultiThreshold(), WlzRGBAPixelValue(), WlzRGBAToCompound(), WlzSplitMontageObj(), and WlzVectorThreshCb().
#define WLZ_RGBA_ALPHA_GET | ( | V | ) | ((((WlzUInt )V) & 0xff000000)>>24) |
#define WLZ_RGBA_RED_SET | ( | V, | |
C | |||
) |
Referenced by WlzGreyInvertMinMax(), WlzGreySetRangeLut(), and WlzRGBABoxThreshold().
#define WLZ_RGBA_GREEN_SET | ( | V, | |
C | |||
) |
Referenced by WlzGreyInvertMinMax(), WlzGreySetRangeLut(), and WlzRGBABoxThreshold().
#define WLZ_RGBA_BLUE_SET | ( | V, | |
C | |||
) |
Referenced by WlzGreyInvertMinMax(), WlzGreySetRangeLut(), and WlzRGBABoxThreshold().
#define WLZ_RGBA_ALPHA_SET | ( | V, | |
C | |||
) |
Referenced by WlzGreySetRangeLut().
#define WLZ_RGBA_RGBA_SET | ( | V, | |
R, | |||
G, | |||
B, | |||
A | |||
) |
(V = ((((WlzUInt )R)&0xff) + \ ((((WlzUInt )G)&0xff)<<8) + \ ((((WlzUInt )B)&0xff)<<16) + \ ((((WlzUInt )A)&0xff)<<24)))
Referenced by Wlz1DConv(), WlzEffReadObjJpeg(), WlzGreySetRange(), WlzIndexedValueBufWeight(), WlzIndexToRGBA(), WlzLUTGreyTransformSet(), WlzLUTMergeToRGBA(), WlzLUTTransformGreyValues(), WlzRGBABoxThreshold(), WlzSplitMontageObj(), WlzValueClampDoubleIntoRGBA(), WlzValueClampFloatIntoRGBA(), WlzValueClampIntIntoRGBA(), WlzValueClampShortIntoRGBA(), WlzValueConvertPixel(), and WlzValueCopyUByteToRGBA().
#define WLZ_RGBA_MEAN | ( | V | ) |
((WLZ_RGBA_RED_GET(V) + \ WLZ_RGBA_GREEN_GET(V) + \ WLZ_RGBA_BLUE_GET(V))/3.0)
#define WLZ_RGBA_MODULUS_2 | ( | V | ) |
(WLZ_RGBA_RED_GET(V)*WLZ_RGBA_RED_GET(V) + \ WLZ_RGBA_GREEN_GET(V)*WLZ_RGBA_GREEN_GET(V) + \ WLZ_RGBA_BLUE_GET(V)*WLZ_RGBA_BLUE_GET(V))
#define WLZ_RGBA_MODULUS | ( | V | ) | (sqrt((double) WLZ_RGBA_MODULUS_2(V))) |
Referenced by WlzLUTTransformGreyValues(), WlzPrincipalAngle(), WlzRGBAModulusRange(), WlzRGBAPixelValue(), WlzRGBAToModulus(), WlzThreshold(), WlzValueConvertPixel(), WlzValueCopyRGBAToDouble(), WlzValueCopyRGBAToFloat(), WlzValueCopyRGBAToInt(), WlzValueCopyRGBAToShort(), and WlzValueCopyRGBAToUByte().
#define WLZ_VTX_3_ABS | ( | A, | |
X | |||
) |
#define WLZ_VTX_3_SIGN | ( | S, | |
X | |||
) |
#define WLZ_VTX_2_SET | ( | U, | |
X, | |||
Y | |||
) |
(U).vtX = (X), \ (U).vtY = (Y)
Referenced by WlzCMeshClosePointDom2D5().
#define WLZ_VTX_3_SET | ( | U, | |
X, | |||
Y, | |||
Z | |||
) |
(U).vtX = (X), \ (U).vtY = (Y), \ (U).vtZ = (Z)
Referenced by WlzCMeshClosePointDom2D5(), WlzCMeshClosestNod2D5(), WlzCMeshComputeNormalsIxv2D5(), and WlzGeomCurvature().
#define WLZ_VTX_2_ADD | ( | U, | |
V, | |||
W | |||
) |
(U).vtX = (V).vtX + (W).vtX, \ (U).vtY = (V).vtY + (W).vtY
Referenced by WlzAffineTransformLSqReg2D(), WlzAffineTransformLSqScale2D(), WlzBasisFnSetCMesh2D(), WlzBasisFnTransformNormalD(), WlzCentreOfMassVtx2D(), WlzCMeshClosestNod2D(), WlzCMeshIntersect2Mesh2D(), WlzCMeshMeshMeshProduct(), WlzGeomObjLineSegIntersect2D(), WlzGeomRectFromWideLine(), and WlzMeshAffineProduct().
#define WLZ_VTX_3_ADD | ( | U, | |
V, | |||
W | |||
) |
(U).vtX = (V).vtX + (W).vtX, \ (U).vtY = (V).vtY + (W).vtY, \ (U).vtZ = (V).vtZ + (W).vtZ
Referenced by WlzAffineTransformLSqReg3D(), WlzBasisFnSetCMesh3D(), WlzBasisFnValueMOS3D(), WlzCentreOfMassVtx3D(), WlzCMeshClosestNod2D5(), WlzCMeshClosestNod3D(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshIntersectDom2D5(), WlzGeomObjLineSegIntersect3D(), WlzGMVertexNormal3D(), and WlzLBTClassifyNodeFace3D().
#define WLZ_VTX_2_ADD3 | ( | U, | |
V, | |||
W, | |||
X | |||
) |
(U).vtX = (V).vtX + (W).vtX + (X).vtX, \ (U).vtY = (V).vtY + (W).vtY + (X).vtY
Referenced by WlzGeomTriangleCen2D().
#define WLZ_VTX_3_ADD3 | ( | U, | |
V, | |||
W, | |||
X | |||
) |
(U).vtX = (V).vtX + (W).vtX + (X).vtX, \ (U).vtY = (V).vtY + (W).vtY + (X).vtY, \ (U).vtZ = (V).vtZ + (W).vtZ + (X).vtZ
Referenced by WlzGeomTriangleCen3D().
#define WLZ_VTX_3_ADD4 | ( | U, | |
V, | |||
W, | |||
X, | |||
Y | |||
) |
(U).vtX = (V).vtX + (W).vtX + (X).vtX + (Y).vtX, \ (U).vtY = (V).vtY + (W).vtY + (X).vtY + (Y).vtY, \ (U).vtZ = (V).vtZ + (W).vtZ + (X).vtZ + (Y).vtZ
Referenced by WlzGeomTetrahedronCen3D().
#define WLZ_VTX_2_SUB | ( | U, | |
V, | |||
W | |||
) |
(U).vtX = (V).vtX - (W).vtX, \ (U).vtY = (V).vtY - (W).vtY
Referenced by WlzAffineTransformLSqReg2D(), WlzAffineTransformLSqScale2D(), WlzBasisFnSetCMesh2D(), WlzBasisFnTransformNormalD(), WlzCMeshClosePointDom2D5(), WlzCMeshClosestNod2D(), WlzCMeshCmpElmFeat2D(), WlzCMeshCurvToImage(), WlzCMeshElmMinEdgLnSq2D(), WlzCMeshIntersectDom2D5(), WlzCMeshMeshMeshProduct(), WlzCMeshSetElm2D(), WlzGeomArcLength2D(), WlzGeomCmpVtx2D(), WlzGeomCos3V(), WlzGeomDist2D(), WlzGeomDistSq2D(), WlzGeomEllipseVxDistSq(), WlzGeomInterpolateConvexPoly2D(), WlzGeomObjLineSegIntersect2D(), WlzGeomPolar2D(), WlzGeomRectFromWideLine(), WlzGeomTriangleAABBIntersect2D(), WlzGeomUnitVector2D2(), WlzGeomVertexInDiamCircle(), WlzGeomVtxOnLineSegment2D(), WlzGeomVxInTriangle2D(), WlzGMModelSpxStats(), WlzMeshAffineProduct(), WlzMeshClosestNod2D(), WlzMeshMaxEdgeLenSq(), and WlzProjectObjToPlane().
#define WLZ_VTX_3_SUB | ( | U, | |
V, | |||
W | |||
) |
(U).vtX = (V).vtX - (W).vtX, \ (U).vtY = (V).vtY - (W).vtY, \ (U).vtZ = (V).vtZ - (W).vtZ
Referenced by main(), WlzAffineTransformLSqReg3D(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnSetCMesh3D(), WlzBasisFnValueMOS3D(), WlzBasisFnValueScalarMOS3D(), WlzCMeshClosestNod2D5(), WlzCMeshClosestNod3D(), WlzCMeshCmpElmFeat3D(), WlzCMeshCompSurfMapIdx(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshElmMinEdgLnSq3D(), WlzCMeshIntersectDom2D5(), WlzCMeshSetElm2D5(), WlzCMeshSetElm3D(), WlzGeomCmpVtx3D(), WlzGeomCurvature(), WlzGeomDist3D(), WlzGeomDistSq3D(), WlzGeometryLSqOPlane(), WlzGeomInterpolateTet3D(), WlzGeomLineLineSegmentIntersect3D(), WlzGeomLinePlaneIntersection(), WlzGeomLineTriangleIntersect3D(), WlzGeomMap3DTriangleTo2D(), WlzGeomObjLineSegIntersect3D(), WlzGeomPlaneTriangleIntersect(), WlzGeomTetrahedronAABBIntersect3D(), WlzGeomTriangleAABBIntersect3D(), WlzGeomTriangleArea2Sq3(), WlzGeomTriangleNormal(), WlzGeomTriangleVtxDistSq3D(), WlzGeomUnitVector3D2(), WlzGeomVtxOnLine3D(), WlzGeomVtxOnLineSegment3D(), WlzGeomVxInTriangle3D(), and WlzGMEdgeTInsertRadial().
#define WLZ_VTX_2_SCALE | ( | U, | |
V, | |||
C | |||
) |
(U).vtX = (V).vtX * (C), \ (U).vtY = (V).vtY * (C)
Referenced by WlzAffineTransformLSqReg2D(), WlzAffineTransformLSqScale2D(), WlzBasisFnSetCMesh2D(), WlzBasisFnTransformNormalD(), WlzCentreOfMassVtx2D(), WlzGeomObjLineSegIntersect2D(), WlzGeomTriangleCen2D(), WlzGeomUnitVector2D(), and WlzGeomUnitVector2D2().
#define WLZ_VTX_3_SCALE | ( | U, | |
V, | |||
C | |||
) |
(U).vtX = (V).vtX * (C), \ (U).vtY = (V).vtY * (C), \ (U).vtZ = (V).vtZ * (C)
Referenced by WlzAffineTransformLSqReg3D(), WlzBasisFnSetCMesh3D(), WlzCentreOfMassVtx3D(), WlzCMeshCompSurfMapIdx(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshComputeNormalsNod(), WlzCMeshIntersectDom2D5(), WlzGeomCurvature(), WlzGeomMap3DTriangleTo2D(), WlzGeomObjLineSegIntersect3D(), WlzGeomTetrahedronCen3D(), WlzGeomTriangleCen3D(), WlzGeomTriangleNormal(), WlzGeomUnitVector3D(), WlzGeomUnitVector3D2(), WlzGeomVtxSortRadial(), WlzGeomVxInTriangle3D(), WlzGMEdgeTInsertRadial(), and WlzGMVertexNormal3D().
#define WLZ_VTX_2_SCALE_ADD | ( | U, | |
V, | |||
C, | |||
W | |||
) |
(U).vtX = (V).vtX * (C) + (W.vtX), \ (U).vtY = (V).vtY * (C) + (W.vtY)
#define WLZ_VTX_3_SCALE_ADD | ( | U, | |
V, | |||
C, | |||
W | |||
) |
(U).vtX = (V).vtX * (C) + (W.vtX), \ (U).vtY = (V).vtY * (C) + (W.vtY), \ (U).vtZ = (V).vtZ * (C) + (W.vtZ)
Referenced by WlzGeomLineLineSegmentIntersect3D(), and WlzGeomVtxOnLineSegment3D().
#define WLZ_VTX_2_DOT | ( | V, | |
W | |||
) |
((V).vtX * ((W).vtX) + \ ((V).vtY * (W).vtY))
Referenced by WlzAffineTransformLSqReg2D(), and WlzGeomVertexInDiamCircle().
#define WLZ_VTX_3_DOT | ( | V, | |
W | |||
) |
((V).vtX * ((W).vtX) + \ ((V).vtY * (W).vtY) + \ ((V).vtZ * (W).vtZ))
Referenced by main(), WlzAffineTransformLSqReg3D(), WlzCMeshCompSurfMapIdx(), WlzGeomCurvature(), WlzGeomLineTriangleIntersect3D(), WlzGeomMap3DTriangleTo2D(), WlzGeomTriangleVtxDistSq3D(), WlzGeomVtxOnLineSegment3D(), WlzGeomVtxSortRadial(), WlzGeomVxInTriangle3D(), and WlzGMEdgeTInsertRadial().
#define WLZ_VTX_3_CROSS | ( | U, | |
V, | |||
W | |||
) |
(U).vtX = ((V).vtY * (W).vtZ) - ((W).vtY * (V).vtZ), \ (U).vtY = ((V).vtZ * (W).vtX) - ((W).vtZ * (V).vtX), \ (U).vtZ = ((V).vtX * (W).vtY) - ((W).vtX * (V).vtY)
Referenced by WlzCMeshCompSurfMapIdx(), WlzCMeshComputeNormalsIxv2D5(), WlzGeomCurvature(), WlzGeomLineLineSegmentIntersect3D(), WlzGeomLineTriangleIntersect3D(), WlzGeomMap3DTriangleTo2D(), WlzGeomTetrahedronAABBIntersect3D(), WlzGeomTriangleAABBIntersect3D(), WlzGeomTriangleArea2Sq3(), WlzGeomTriangleNormal(), WlzGeomVtxOnLine3D(), WlzGeomVtxOnLineSegment3D(), WlzGeomVtxSortRadial(), WlzGeomVxInTriangle3D(), and WlzGMEdgeTInsertRadial().
#define WLZ_VTX_2_SQRLEN | ( | U | ) |
(((U).vtX * (U).vtX) + \ ((U).vtY * (U).vtY))
Referenced by WlzBasisFnTransformNormalD(), WlzCMeshClosestNod2D(), WlzCMeshCmpElmFeat2D(), WlzCMeshCurvToImage(), WlzCMeshElmMinEdgLnSq2D(), WlzCMeshMeshMeshProduct(), WlzCMeshSetElm2D(), WlzGeomArcLength2D(), WlzGeomCos3V(), WlzGeomDistSq2D(), WlzGeomInterpolateConvexPoly2D(), WlzGeomObjLineSegIntersect2D(), WlzGMModelSpxStats(), WlzMeshClosestNod2D(), and WlzMeshMaxEdgeLenSq().
#define WLZ_VTX_3_SQRLEN | ( | U | ) |
(((U).vtX * (U).vtX) + \ ((U).vtY * (U).vtY) + \ ((U).vtZ * (U).vtZ))
Referenced by WlzCMeshClosestNod2D5(), WlzCMeshClosestNod3D(), WlzCMeshCmpElmFeat3D(), WlzCMeshElmMinEdgLnSq3D(), WlzCMeshSetElm2D5(), WlzCMeshSetElm3D(), WlzGeomDistSq3D(), WlzGeomLineLineSegmentIntersect3D(), WlzGeomObjLineSegIntersect3D(), WlzGeomPlaneTriangleIntersect(), WlzGeomTetrahedronAABBIntersect3D(), WlzGeomTriangleAABBIntersect3D(), WlzGeomTriangleArea2Sq3(), WlzGeomVtxOnLine3D(), WlzGeomVtxOnLineSegment3D(), and WlzGeomVxInTriangle3D().
#define WLZ_VTX_2_LENGTH | ( | U | ) | (sqrt(WLZ_VTX_2_SQRLEN(U))) |
#define WLZ_VTX_3_LENGTH | ( | U | ) | (sqrt(WLZ_VTX_3_SQRLEN(U))) |
Referenced by main(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnSetCMesh3D(), WlzBasisFnValueMOS3D(), WlzBasisFnValueScalarMOS3D(), WlzCMeshCompSurfMapIdx(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshComputeNormalsNod(), WlzGeomCurvature(), WlzGeomDist3D(), WlzGeomMap3DTriangleTo2D(), WlzGeomObjLineSegIntersect3D(), WlzGeomTriangleNormal(), WlzGeomUnitVector3D(), WlzGeomUnitVector3D2(), WlzGeomVtxSortRadial(), and WlzGMEdgeTInsertRadial().
#define WLZ_VTX_2_ZERO | ( | U | ) |
(U).vtX = 0, \ (U).vtY = 0
Referenced by WlzBasisFnSetCMesh2D(), WlzBasisFnTransformNormalD(), and WlzCentreOfMassVtx2D().
#define WLZ_VTX_3_ZERO | ( | U | ) |
(U).vtX = 0, \ (U).vtY = 0, \ (U).vtZ = 0
Referenced by WlzBasisFnSetCMesh3D(), WlzCentreOfMassVtx3D(), WlzCMeshComputeNormalsIxv2D5(), and WlzCMeshComputeNormalsNod().
#define WLZ_VTX_2_NEGATE | ( | U, | |
V | |||
) |
(U).vtX = -((V).vtX), \ (U).vtY = -((V).vtY)
#define WLZ_VTX_3_NEGATE | ( | U, | |
V | |||
) |
(U).vtX = -((V).vtX), \ (U).vtY = -((V).vtY), \ (U).vtZ = -((V).vtZ)
#define WLZ_VTX_2_EQUAL | ( | U, | |
V, | |||
T | |||
) |
((fabs((U).vtX - (V).vtX) < (T)) && \ (fabs((U).vtY - (V).vtY) < (T)))
Referenced by WlzCMeshLocateNod2D().
#define WLZ_VTX_3_EQUAL | ( | U, | |
V, | |||
T | |||
) |
((fabs((U).vtX - (V).vtX) < (T)) && \ (fabs((U).vtY - (V).vtY) < (T)) && \ (fabs((U).vtZ - (V).vtZ) < (T)))
Referenced by WlzCMeshLocateNod2D5(), and WlzCMeshLocateNod3D().
#define WLZ_VTX_2_FABS | ( | U, | |
V | |||
) |
((U).vtX = fabs((V).vtX), \ (U).vtY = fabs((V).vtY))
#define WLZ_VTX_3_FABS | ( | U, | |
V | |||
) |
((U).vtX = fabs((V).vtX), \ (U).vtY = fabs((V).vtY), \ (U).vtZ = fabs((V).vtZ))
#define WLZ_VTX_2_NINT | ( | U, | |
P | |||
) |
Referenced by WlzProjectObjToPlane().
#define WLZ_VTX_3_NINT | ( | U, | |
P | |||
) |
#define WLZ_CMESH_ELM2D_GET_NODE_0 | ( | e | ) | ((e)->edu[0].nod) |
#define WLZ_CMESH_ELM2D_GET_NODE_1 | ( | e | ) | ((e)->edu[1].nod) |
#define WLZ_CMESH_ELM2D_GET_NODE_2 | ( | e | ) | ((e)->edu[2].nod) |
#define WLZ_CMESH_ELM2D5_GET_NODE_0 | ( | e | ) | ((e)->edu[0].nod) |
Referenced by WlzCMeshCompSurfMapIdx(), WlzCMeshCopy2D5(), and WlzCMeshElmGetNodes2D5().
#define WLZ_CMESH_ELM2D5_GET_NODE_1 | ( | e | ) | ((e)->edu[1].nod) |
Referenced by WlzCMeshCompSurfMapIdx(), WlzCMeshCopy2D5(), and WlzCMeshElmGetNodes2D5().
#define WLZ_CMESH_ELM2D5_GET_NODE_2 | ( | e | ) | ((e)->edu[2].nod) |
Referenced by WlzCMeshCompSurfMapIdx(), WlzCMeshCopy2D5(), and WlzCMeshElmGetNodes2D5().
#define WLZ_CMESH_ELM3D_GET_NODE_0 | ( | e | ) | ((e)->face[0].edu[0].nod) |
Referenced by WlzCMeshBoundConform3D(), WlzCMeshCmpElmFeat3D(), WlzCMeshCopy3D(), WlzCMeshElmClosestPosIn3D(), WlzCMeshElmEnclosesPos3D(), WlzCMeshElmGetNodes3D(), WlzCMeshElmMaxSqEdgLen3D(), WlzCMeshElmMinEdgLnSq3D(), WlzCMeshElmRingElmIndices3D(), WlzCMeshElmSnVolume63D(), WlzCMeshFixNegativeElms3D(), WlzCMeshFMarNodes3D(), WlzCMeshUpdateMaxSqEdgLen3D(), WlzEffWriteObjMesh(), and WlzEffWriteObjNodeEle().
#define WLZ_CMESH_ELM3D_GET_NODE_1 | ( | e | ) | ((e)->face[0].edu[1].nod) |
Referenced by WlzCMeshBoundConform3D(), WlzCMeshCmpElmFeat3D(), WlzCMeshCopy3D(), WlzCMeshElmClosestPosIn3D(), WlzCMeshElmEnclosesPos3D(), WlzCMeshElmGetNodes3D(), WlzCMeshElmMaxSqEdgLen3D(), WlzCMeshElmMinEdgLnSq3D(), WlzCMeshElmRingElmIndices3D(), WlzCMeshElmSnVolume63D(), WlzCMeshFixNegativeElms3D(), WlzCMeshFMarNodes3D(), WlzCMeshUpdateMaxSqEdgLen3D(), WlzEffWriteObjMesh(), and WlzEffWriteObjNodeEle().
#define WLZ_CMESH_ELM3D_GET_NODE_2 | ( | e | ) | ((e)->face[0].edu[2].nod) |
Referenced by WlzCMeshBoundConform3D(), WlzCMeshCmpElmFeat3D(), WlzCMeshCopy3D(), WlzCMeshElmClosestPosIn3D(), WlzCMeshElmEnclosesPos3D(), WlzCMeshElmGetNodes3D(), WlzCMeshElmMaxSqEdgLen3D(), WlzCMeshElmMinEdgLnSq3D(), WlzCMeshElmRingElmIndices3D(), WlzCMeshElmSnVolume63D(), WlzCMeshFixNegativeElms3D(), WlzCMeshFMarNodes3D(), WlzCMeshUpdateMaxSqEdgLen3D(), WlzEffWriteObjMesh(), and WlzEffWriteObjNodeEle().
#define WLZ_CMESH_ELM3D_GET_NODE_3 | ( | e | ) | ((e)->face[1].edu[1].nod) |
Referenced by WlzCMeshBoundConform3D(), WlzCMeshCmpElmFeat3D(), WlzCMeshCopy3D(), WlzCMeshElmClosestPosIn3D(), WlzCMeshElmEnclosesPos3D(), WlzCMeshElmGetNodes3D(), WlzCMeshElmMaxSqEdgLen3D(), WlzCMeshElmMinEdgLnSq3D(), WlzCMeshElmRingElmIndices3D(), WlzCMeshElmSnVolume63D(), WlzCMeshFixNegativeElms3D(), WlzCMeshFMarNodes3D(), WlzCMeshUpdateMaxSqEdgLen3D(), WlzEffWriteObjMesh(), and WlzEffWriteObjNodeEle().