Woolz Image Processing
Version 1.7.5
|
Files | |
file | WlzRaster.c |
Functions to rasterize geometric Woolz objects into 2D or 3D domain objects. | |
Functions | |
WlzObject * | WlzRasterObj (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... | |
WlzObject* WlzRasterObj | ( | WlzObject * | gObj, |
WlzErrorNum * | dstErr | ||
) |
Rasterizes the given geometric object, creating a new domain object.
gObj | Given geometric object. |
dstErr | Destination 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).
iDom | Interval domain for which intervals are to be set. |
v0 | First vertex. |
v1 | Second 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().