Woolz Image Processing  Version 1.7.5
WlzMacro.h File Reference

Woolz C pre-processor directives, eg macros. More...

Go to the source code of this file.

Macros

#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_SWAP(T, A, B)   {(T)=(A);(A)=(B);(B)=(T);}
 Swaps the values of the variables A and B using the temporary variable T. More...
 
#define WLZ_CLAMP(V, N, X)   (((V)<(N))?(N):((V)>(X))?(X):(V))
 Clamps the value of V such that V >= N and V <= X. More...
 
#define WLZ_CLAMP_DOUBLE_TO_GREYP(U, F, V, G)
 Clamps a single double value from V setting U offset by F such that U >= MIN and U <= MAX where MIN and MAX are the minimum and maximum values for the grey type G. The only valid types for G are: WLZ_GREY_UBYTE, WLZ_GREY_SHORT, WLZ_GREY_INT, WLZ_GREY_FLOAT, and WLZ_GREY_DOUBLE; there is no check that G is none of these types. More...
 
#define WLZ_M_E   (2.7182818284590452354)0
 
#define WLZ_M_LOG2E   (1.4426950408889634074)
 
#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_COPY(D, S)
 
#define WLZ_VTX_3_COPY(D, S)
 
#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)
 

Detailed Description

Woolz C pre-processor directives, eg macros.

Author
Bill Hill
Date
March 1999
Version
Id
06fb46cce390d4f627ea371a874ca3e7610f8f1b
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.

Macro Definition Documentation

#define WLZ_VERSION   PACKAGE_VERSION
#define WLZ_ABS (   X)    (((X)>0)?(X):(-(X)))
#define WLZ_NINT (   X)    ((int)(((X)<0)?((X)-(0.5)):((X)+(0.5))))

Referenced by Wlz3DSectionIncrementDistance(), Wlz3DSectionSegmentObject(), Wlz3DViewStructSetupTransformLuts(), Wlz3DViewTransformObj(), WlzAffineTransformGMShell(), WlzAffineTransformIsTranslate(), WlzAffineTransformVertexI2(), WlzAffineTransformVertexI3(), WlzBasisFnTransformGMModel(), WlzBasisFnTransformVertexI(), WlzBoundingBoxVtx3I(), WlzClassValCon4(), WlzCMeshSetDispFromField(), WlzCMeshToDomObjValues(), WlzCMeshTransformManyObjAsIdx(), WlzCMeshTransformVtxAry2I(), WlzCMeshTransformVtxAry3I(), WlzCMeshValueTransfer(), WlzDrawDomainObj(), WlzEffReadObjVff(), WlzEffWritePointsVtkFieldValues(), WlzFilterNObjValues(), WlzGetMaskedSectionFromObject(), WlzGetProjectionFromObject(), WlzGetSubSectionFromObject(), WlzGMFilterGeomLPLM(), WlzGMShellSetGBB2D(), WlzGMShellSetGBB3D(), WlzGMShellUpdateGBB2D(), WlzGMShellUpdateGBB3D(), WlzGMVertexSetG2D(), WlzGMVertexSetG2N(), WlzGMVertexSetG3D(), WlzGMVertexSetG3N(), WlzGreySetRange(), WlzGreyValueGet(), WlzGreyValueGetI(), WlzGreyVariance(), WlzHistogramDistance(), WlzHistogramEqualiseObj(), WlzHistogramNorm(), WlzHistogramRebin(), WlzInsideDomain(), WlzMakeCircleObject(), WlzMakeCuboidObject(), WlzMakeRectangleObject(), WlzMakeSphereObject(), WlzMakeStdStructElement(), WlzMeshFromObj(), WlzMeshFromObjBox(), WlzMeshTransformVtx(), WlzPointsToDomObj(), WlzPolarSample(), WlzPolyEquispace(), WlzPolyTo8Polygon(), WlzProjectObjToPlane(), WlzRasterLineSetItv2D(), WlzRegCCorObjs(), WlzRegICPVerticesWSD2D(), WlzRGBChanRatio(), WlzSampleObjPoint2D(), WlzScalarMulAdd(), WlzShadeCorrectBFDF(), WlzToArray1D(), WlzValueClampDoubleIntoInt(), WlzValueClampDoubleIntoShort(), WlzValueClampFloatIntoInt(), WlzValueClampFloatIntoShort(), WlzValueConvertPixel(), WlzValueCopyDoubleToInt(), WlzValueCopyDoubleToShort(), WlzValueCopyDoubleToUByte(), WlzValueCopyDVertexToIVertex(), WlzValueCopyDVertexToIVertex3(), WlzValueCopyFloatToInt(), WlzValueCopyFloatToShort(), WlzValueCopyFloatToUByte(), WlzValueCopyFVertexToIVertex(), WlzValueCopyFVertexToIVertex3(), WlzValueDitherI(), and WlzValuesFromCoords().

#define WLZ_SIGN (   X)    (((X)<0)?-1:((X)>0)?1:0)
#define WLZ_SWAP (   T,
  A,
 
)    {(T)=(A);(A)=(B);(B)=(T);}

Swaps the values of the variables A and B using the temporary variable T.

#define WLZ_CLAMP_DOUBLE_TO_GREYP (   U,
  F,
  V,
 
)
Value:
{\
switch((G))\
{\
(U).inp[(F)]=WLZ_CLAMP((V),0,255);\
break;\
(U).shp[(F)]=WLZ_CLAMP((V),SHRT_MIN,SHRT_MAX);\
break;\
case WLZ_GREY_INT:\
(U).inp[(F)]=WLZ_CLAMP((V),-FLT_MAX,FLT_MAX);\
break;\
(U).flp[(F)]=WLZ_CLAMP((V),-FLT_MAX,FLT_MAX);\
break;\
(U).dbp[(F)]=(V);\
break;\
default:\
break;\
}\
}\
Definition: WlzType.h:85
#define WLZ_CLAMP(V, N, X)
Clamps the value of V such that V >= N and V <= X.
Definition: WlzMacro.h:75
Definition: WlzType.h:87
Definition: WlzType.h:88
Definition: WlzType.h:86
Definition: WlzType.h:90

Clamps a single double value from V setting U offset by F such that U >= MIN and U <= MAX where MIN and MAX are the minimum and maximum values for the grey type G. The only valid types for G are: WLZ_GREY_UBYTE, WLZ_GREY_SHORT, WLZ_GREY_INT, WLZ_GREY_FLOAT, and WLZ_GREY_DOUBLE; there is no check that G is none of these types.

Referenced by WlzCMeshStrainTensorAtPts().

#define WLZ_M_E   (2.7182818284590452354)0
#define WLZ_M_LOG2E   (1.4426950408889634074)
#define WLZ_M_LOG2E   (1.4426950408889634074)
#define WLZ_M_LOG10E   (0.43429448190325182765)
#define WLZ_M_LN2   (0.69314718055994530942)

Referenced by WlzSampleObjPoint2D().

#define WLZ_M_LN10   (2.30258509299404568402)
#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_ELEM_AREA_TOLERANCE   (WLZ_M_SQRT3_2 * WLZ_MESH_TOLERANCE_SQ)
#define WLZ_BIT_SET (   A,
 
)    *((A)+((B)>>3))|=(1<<((B)&7))
#define WLZ_BIT_GET (   A,
 
)    (*((A)+((B)>>3))&(1<<((B)&7)))
#define WLZ_RGBA_RED_SET (   V,
 
)
Value:
(V = (((WlzUInt )V)&0xffffff00) | \
(((WlzUInt) C)&0xff))
unsigned int WlzUInt
A 32 bit unsigned integer.
Definition: WlzType.h:63

Referenced by WlzAffineTransformGMShell(), WlzClassValCon4(), WlzCMeshGetNodesAndEdges(), WlzEffWriteObjNifti(), WlzGreyInvertMinMax(), WlzGreySetRangeLut(), and WlzRGBABoxThreshold().

#define WLZ_RGBA_GREEN_SET (   V,
 
)
Value:
(V = (((WlzUInt )V)&0xffff00ff) | \
((((WlzUInt) C)&0xff)<<8))
unsigned int WlzUInt
A 32 bit unsigned integer.
Definition: WlzType.h:63

Referenced by WlzAffineTransformGMShell(), WlzClassValCon4(), WlzCMeshGetNodesAndEdges(), WlzEffWriteObjNifti(), WlzGreyInvertMinMax(), WlzGreySetRangeLut(), and WlzRGBABoxThreshold().

#define WLZ_RGBA_BLUE_SET (   V,
 
)
Value:
(V = (((WlzUInt )V)&0xff00ffff) | \
((((WlzUInt) C)&0xff)<<16))
unsigned int WlzUInt
A 32 bit unsigned integer.
Definition: WlzType.h:63

Referenced by WlzAffineTransformGMShell(), WlzClassValCon4(), WlzCMeshGetNodesAndEdges(), WlzEffWriteObjNifti(), WlzGreyInvertMinMax(), WlzGreySetRangeLut(), and WlzRGBABoxThreshold().

#define WLZ_RGBA_ALPHA_SET (   V,
 
)
Value:
(V = (((WlzUInt )V)&0x00ffffff) | \
((((WlzUInt) C)&0xff)<<24))
unsigned int WlzUInt
A 32 bit unsigned integer.
Definition: WlzType.h:63

Referenced by WlzAffineTransformGMShell(), WlzClassValCon4(), WlzCMeshGetNodesAndEdges(), WlzEffWriteObjNifti(), and WlzGreySetRangeLut().

#define WLZ_RGBA_MEAN (   V)
Value:
WLZ_RGBA_GREEN_GET(V) + \
WLZ_RGBA_BLUE_GET(V))/3.0)
#define WLZ_RGBA_RED_GET(V)
Definition: WlzMacro.h:147
#define WLZ_RGBA_MODULUS_2 (   V)
Value:
WLZ_RGBA_GREEN_GET(V)*WLZ_RGBA_GREEN_GET(V) + \
WLZ_RGBA_BLUE_GET(V)*WLZ_RGBA_BLUE_GET(V))
#define WLZ_RGBA_GREEN_GET(V)
Definition: WlzMacro.h:148
#define WLZ_RGBA_BLUE_GET(V)
Definition: WlzMacro.h:149
#define WLZ_RGBA_RED_GET(V)
Definition: WlzMacro.h:147
#define WLZ_VTX_2_ABS (   A,
 
)
Value:
(A).vtX = WLZ_ABS((X).vtX), \
(A).vtY = WLZ_ABS((X).vtY)
#define WLZ_ABS(X)
Definition: WlzMacro.h:57

Referenced by WlzConvexHullVtxD3ToI3(), and WlzProjectObjToPlane().

#define WLZ_VTX_3_ABS (   A,
 
)
Value:
(A).vtX = WLZ_ABS((X).vtX), \
(A).vtY = WLZ_ABS((X).vtY), \
(A).vtZ = WLZ_ABS((X).vtZ)
#define WLZ_ABS(X)
Definition: WlzMacro.h:57

Referenced by WlzRasterLineSetItv2D().

#define WLZ_VTX_2_SIGN (   S,
 
)
Value:
(S).vtX = WLZ_SIGN((X).vtX), \
(S).vtY = WLZ_SIGN((X).vtY)
#define WLZ_SIGN(X)
Definition: WlzMacro.h:59
#define WLZ_VTX_3_SIGN (   S,
 
)
Value:
(S).vtX = WLZ_SIGN((X).vtX), \
(S).vtY = WLZ_SIGN((X).vtY), \
(S).vtZ = WLZ_SIGN((X).vtZ)
#define WLZ_SIGN(X)
Definition: WlzMacro.h:59

Referenced by WlzRasterLineSetItv2D().

#define WLZ_VTX_2_COPY (   D,
 
)
Value:
(D).vtX = (S).vtX, \
(D).vtY = (S).vtY

Referenced by WlzPointsDither().

#define WLZ_VTX_3_COPY (   D,
 
)
Value:
(D).vtX = (S).vtX, \
(D).vtY = (S).vtY, \
(D).vtZ = (S).vtZ

Referenced by WlzPointsDither().

#define WLZ_VTX_2_SET (   U,
  X,
 
)
Value:
(U).vtX = (X), \
(U).vtY = (Y)

Referenced by WlzCMeshClosePointDom2D5(), WlzCMeshFMarNodes3D(), and WlzMwrAngle().

#define WLZ_VTX_3_SET (   U,
  X,
  Y,
 
)
#define WLZ_VTX_2_ADD3 (   U,
  V,
  W,
 
)
Value:
(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,
 
)
Value:
(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 WlzCMeshFMarNodes3D(), and WlzGeomTriangleCen3D().

#define WLZ_VTX_3_ADD4 (   U,
  V,
  W,
  X,
 
)
Value:
(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_3_SUB (   U,
  V,
 
)
Value:
(U).vtX = (V).vtX - (W).vtX, \
(U).vtY = (V).vtY - (W).vtY, \
(U).vtZ = (V).vtZ - (W).vtZ

Referenced by WlzAffineTransformLSqReg3D(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnSetCMesh3D(), WlzBasisFnValueMOS3D(), WlzBasisFnValueMOSPhi(), WlzBasisFnValueScalarMOS3D(), WlzCMeshClosestNod2D5(), WlzCMeshClosestNod3D(), WlzCMeshCmpElmFeat3D(), WlzCMeshCompSurfMap(), WlzCMeshCompSurfMapToDomain(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshElmClosestPosIn3D(), WlzCMeshElmMinEdgLnSq3D(), WlzCMeshElmMinMaxEdgLnSq3D(), WlzCMeshExpValues(), WlzCMeshFMarNodes3D(), WlzCMeshIntersectDom2D5(), WlzCMeshProduct(), WlzCMeshSetElm2D5(), WlzCMeshSetElm3D(), WlzCMeshToDomObjValues(), WlzCMeshValueTransfer(), WlzContourRBFBndObj3D(), WlzGeomBaryCoordsTet3D(), WlzGeomCmpVtx3D(), WlzGeomCurvature(), WlzGeomDist3D(), WlzGeomDistSq3D(), WlzGeometryLSqOPlane(), WlzGeomLineLineSegmentIntersect3D(), WlzGeomLinePlaneIntersection(), WlzGeomLineTriangleIntersect3D(), WlzGeomMap3DTriangleTo2D(), WlzGeomObjLineSegIntersect3D(), WlzGeomPlaneTriangleIntersect(), WlzGeomTetrahedronAABBIntersect3D(), WlzGeomTetVolZeroD(), WlzGeomTetVolZeroI(), WlzGeomTriangleAABBIntersect3D(), WlzGeomTriangleArea2Sq3(), WlzGeomTriangleArea2Sq3I(), WlzGeomTriangleNormal(), WlzGeomTriangleTriangleIntersect3D(), WlzGeomTriangleVtxDistSq3D(), WlzGeomUnitVector3D2(), WlzGeomVtxOnLine3D(), WlzGeomVtxOnLineSegment3D(), WlzGeomVxInTriangle3D(), WlzGMEdgeTInsertRadial(), WlzKrigOSetModelSV3D(), WlzKrigOSetPosSV3D(), WlzRasterLineSetItv2D(), and WlzRegICPTreeAndVertices().

#define WLZ_VTX_2_SCALE_ADD (   U,
  V,
  C,
 
)
Value:
(U).vtX = (V).vtX * (C) + (W.vtX), \
(U).vtY = (V).vtY * (C) + (W.vtY)

Referenced by WlzGeomTriangleVtxDistSq2D().

#define WLZ_VTX_3_SCALE_ADD (   U,
  V,
  C,
 
)
Value:
(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_ZERO (   U)
#define WLZ_VTX_2_NEGATE (   U,
 
)
Value:
(U).vtX = -((V).vtX), \
(U).vtY = -((V).vtY)
#define WLZ_VTX_3_NEGATE (   U,
 
)
Value:
(U).vtX = -((V).vtX), \
(U).vtY = -((V).vtY), \
(U).vtZ = -((V).vtZ)
#define WLZ_VTX_2_EQUAL (   U,
  V,
 
)
Value:
((fabs((U).vtX - (V).vtX) < (T)) && \
(fabs((U).vtY - (V).vtY) < (T)))

Referenced by WlzCMeshLocateNod2D(), and WlzConvexHullFromVtx2().

#define WLZ_VTX_3_EQUAL (   U,
  V,
 
)
Value:
((fabs((U).vtX - (V).vtX) < (T)) && \
(fabs((U).vtY - (V).vtY) < (T)) && \
(fabs((U).vtZ - (V).vtZ) < (T)))

Referenced by WlzCMeshLocateNod2D5(), WlzCMeshLocateNod3D(), and WlzCMeshTrRegSM3D().

#define WLZ_VTX_2_FABS (   U,
 
)
Value:
((U).vtX = fabs((V).vtX), \
(U).vtY = fabs((V).vtY))

Referenced by WlzCMeshElmClosestPosIn2D().

#define WLZ_VTX_3_FABS (   U,
 
)
Value:
((U).vtX = fabs((V).vtX), \
(U).vtY = fabs((V).vtY), \
(U).vtZ = fabs((V).vtZ))

Referenced by WlzGeomTriangleTriangleIntersect3D().

#define WLZ_VTX_2_NINT (   U,
 
)
Value:
((U).vtX = WLZ_NINT((P).vtX), \
(U).vtY = WLZ_NINT((P).vtY))
#define WLZ_NINT(X)
Definition: WlzMacro.h:58

Referenced by WlzConvexHullFromVtx2(), WlzDomainNearby(), WlzProjectObjToPlane(), and WlzThinToPoints().

#define WLZ_VTX_3_NINT (   U,
 
)
Value:
((U).vtX = WLZ_NINT((P).vtX), \
(U).vtY = WLZ_NINT((P).vtY), \
(U).vtZ = WLZ_NINT((P).vtZ))
#define WLZ_NINT(X)
Definition: WlzMacro.h:58

Referenced by WlzDomainNearby(), and WlzThinToPoints().