Woolz Image Processing  Version 1.7.5
WlzRaster

Files

file  WlzRaster.c
 Functions to rasterize geometric Woolz objects into 2D or 3D domain objects.
 

Functions

WlzObjectWlzRasterObj (WlzObject *gObj, WlzErrorNum *dstErr)
 Rasterizes the given geometric object, creating a new domain object. More...
 
void WlzRasterLineSetItv2D (WlzIntervalDomain *iDom, WlzIVertex2 v0, WlzIVertex2 v1)
 Given an interval domain which has a single interval per line, which covers the line range of the two given vertices, this function updates the intervals by setting the left/right fields for a line drawn between the two given vertices. It may be used to set the intervals for any convex polygon simply by initialising the intervals to always false values (eg min = max of object and max = min of object) then calling this function for each ordered pair of boundary vertices. Both vertices must be relative to idom->(kol1,line1). More...
 

Detailed Description

Function Documentation

WlzObject* WlzRasterObj ( WlzObject gObj,
WlzErrorNum dstErr 
)

Rasterizes the given geometric object, creating a new domain object.

Returns
Woolz domain object, NULL on error.
Parameters
gObjGiven geometric object.
dstErrDestination ptr for error code, may be NULL.

References _WlzDomain::core, _WlzDomain::ctr, _WlzObject::domain, _WlzObject::type, WLZ_CONTOUR, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WlzBoundingBox3I(), and WlzMakeEmpty().

Referenced by WlzRasterLineSetItv2D().

void WlzRasterLineSetItv2D ( WlzIntervalDomain iDom,
WlzIVertex2  v0,
WlzIVertex2  v1 
)

Given an interval domain which has a single interval per line, which covers the line range of the two given vertices, this function updates the intervals by setting the left/right fields for a line drawn between the two given vertices. It may be used to set the intervals for any convex polygon simply by initialising the intervals to always false values (eg min = max of object and max = min of object) then calling this function for each ordered pair of boundary vertices. Both vertices must be relative to idom->(kol1,line1).

Parameters
iDomInterval domain for which intervals are to be set.
v0First vertex.
v1Second vertex.

References Alc3Free(), ALC_ER_NONE, AlcBit3Calloc(), AlcCalloc(), AlcFree(), AlgSort(), _WlzGMShell::child, _WlzGMModel::child, _WlzGMVertexT::diskT, _WlzGMLoopT::edgeT, _WlzGMLoopT::face, _WlzGMModelR::face, _WlzGMVertex::geo, getopt(), _WlzGMEdgeT::idx, _WlzGMLoopT::idx, _WlzGMFace::idx, _WlzGMShell::idx, _WlzInterval::ileft, _WlzIntervalDomain::intvlines, _WlzInterval::iright, main(), _WlzContour::model, _WlzGMEdgeT::next, _WlzGMLoopT::next, _WlzGMShell::next, _WlzGMResource::numIdx, optarg, opterr, optind, optopt, _WlzGMModel::res, _WlzGMModel::type, _WlzGMDiskT::vertex, _WlzGMEdgeT::vertexT, _WlzGMVertexGU::vg3D, _WlzGMVertexGU::vg3I, _WlzIVertex2::vtX, _WlzIVertex3::vtX, _WlzDVertex3::vtX, _WlzGMVertexG3I::vtx, _WlzGMVertexG3D::vtx, _WlzIVertex2::vtY, _WlzIVertex3::vtY, _WlzDVertex3::vtY, _WlzIVertex3::vtZ, _WlzDVertex3::vtZ, WLZ_ERR_DOMAIN_DATA, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_UNIMPLEMENTED, WLZ_GMMOD_2D, WLZ_GMMOD_2I, WLZ_GMMOD_2N, WLZ_GMMOD_3D, WLZ_GMMOD_3I, WLZ_GMMOD_3N, WLZ_GREY_BIT, WLZ_NINT, WLZ_VTX_3_ABS, WLZ_VTX_3_SIGN, WLZ_VTX_3_SUB, WlzAssignObject(), WlzFreeObj(), WlzFromArray3D(), WlzMakeEmpty(), WlzRasterObj(), WlzReadObj(), WlzStringFromErrorNum(), WlzWriteObj(), _WlzIBox2::xMax, _WlzIBox3::xMax, _WlzIBox2::xMin, _WlzIBox3::xMin, _WlzIBox2::yMax, _WlzIBox3::yMax, _WlzIBox2::yMin, _WlzIBox3::yMin, _WlzIBox3::zMax, and _WlzIBox3::zMin.

Referenced by WlzMakeQuadrilateral().