GHL 3.4.3 Release Note

This document describes contents of version up from GHL 3.4.2 to GHL 3.4.3.



Summary of this version up

2D : Region Quadtree Functions
Region quadtree functions make and manage quadtrees to represent effective regions in 2D space.
2D: Another version of offsetting a composite curve()
Another functions to offset a composite curve by a composite curve . In case of adjacent two trimmed curves in the original composite curve are not tangential continuous and causes a disconnection of offset curves, disconnected offset curves are connected with two bounded lines, instead of an arc. Each bounded line is extended from end point of each offset curve, towards tangent vector at each end point, and ended at an intersection point with each other.
2D: Judges the sense of rotation of a closed composite curve
A Function which judges the sense of rotation of a closed composite curve, was added.
3D : Approximation of a grid of points by a Bspline surface : improved
Functions to find a Bspline surface that approximates a grid of points are improved.
3D: Another versions of offsetting
Type 3 functions are added for offsetting a point/curve/surface with a Bspline surface or a set of Bezier surfaces. New functions approximate sample points with a Bspline surface by calling the latest approximation function, not by using own logic.

example: ghlv3/examples/offset/ofst_srf.c


List of added functions

Utility



2D

gh2rqtNew			creates a quadtree
gh2rqtDispose		disposes a quadtree
gh2rqtGetMemSize	gets size of memory areas being used by a quadtree
gh2rqtGetExtent	gets geometrical extent of a quadtree
gh2rqtGetPixLevel	gets pixel level of a quadtree
gh2rqtGetRoot		gets root quadrant of a quadtree
gh2rqtIntersect	rids a quadtree of intersections with a curve
gh2rqtHasIntersection	judges whether a quadtree and a curve intersect or not
gh2rqtMakeCCL		makes CCL in a quadtree
gh2rqtClearCCL	removes CCL in a quadtree
gh2rqtCountComponents	gets the number of CCLs in a quadtree
gh2rqtGetQuadComponent	gets CCL which a quadrant belongs to
gh2rqtQuadDivide		divides a quadrant
gh2rqtQuadMergeIfP		merges subtree of a quadrant if possible
gh2rqtQuadMergeIfP2	merges subtree of a quadrant if possible (type 2)
gh2rqtQuadIsLeaf	gets whether a quadrant is leaf or not
gh2rqtQuadIsPixel	gets whether a quadrant is pixel or not
gh2rqtQuadSetValue	sets specified value on a quadrant
gh2rqtQuadGetValue	gets value of a quadrant
gh2rqtQuadSetApplData1	sets specified value on application data 1 of a quadrant
gh2rqtQuadSetApplData2	sets specified value on application data 2 of a quadrant
gh2rqtQuadGetApplData1	gets value of application data 1 of a quadrant
gh2rqtQuadGetApplData2	gets value of application data 2 of a quadrant
gh2rqtQuadGetChild	gets specified child of a quadrant
gh2rqtQuadGetExtent	gets geometrical extent of a quadrant
gh2rqtQuadGetLevel		gets level of a quadrant
gh2rqtQuadGetMother	gets parent of a quadrant
gh2rqtQuadGetTree		gets a quadtree which a quadrant belongs to
gh2rqtQuadGetType		gets type of a quadrant
gh2rqtQuadGtEqEdgeNeighbor	gets edge neighbor of a quadtree
gh2rqtQuadGtEqVrtxNeighbor	gets vertex neighbor of a quadtree
gh2rqtQuadTraverse	traverses subtree of a quadrant
gh2rqtQuadTraverse2	traverses subtree of a quadrant (type 2)
gh2rqtQuadHasIntersection	judges whether a quadrant and a curve intersect or not
gh2rqtSetOpIntersection	gets intersection between two aligned quadtrees
gh2rqtSetOpUnion	gets union between two aligned quadtrees
gh2rqtSetOpSubtraction	gets sutraction between two aligned quadtrees
gh2rqtSerialize	serializes a quadtree
gh2rqtUnserialize	un-serializes a quadtree
gh2rqtAllcSerializedQuadtree	allocates memory areas for a serialized quadtree
gh2rqtFreeSerializedQuadtree	frees memory areas for a serialized quadtree
gh2rqtConvCCrv	converts a region enclosed by a closed curve into a quadtree

gh2ofstCmcCmcByBzc3	finds a composite curve which approximates an offset of a composite curve (official version, type 3)
gh2ofstCmcCmcByBsc3	finds a composite curve which approximates an offset of a composite curve (official version, type 3)

gh2jdgwCCmc	judges the sense of rotation of a closed composite curve

3D

gh3aprcBss_Rev2	approximates points by a bi-cubic Bspline surface in the given precision (type 1, improved)
gh3aprcBss2_Rev2	approximates points by a bi-cubic Bspline surface in the given precision (type 2, improved)
gh3aprcBss3_Rev2	approximates points by a bi-cubic Bspline surface in the given precision (type 3, improved)
gh3aprcBss32_Rev2	approximates points by a bi-cubic Bspline surface in the given precision (type 3-2, improved)
gh3aprcBss4_Rev2	approximates points by a bi-cubic Bspline surface in the given precision (type 4, improved)
gh3aprcBss42_Rev2	approximates points by a bi-cubic Bspline surface in the given precision (type 4-2, improved)

gh3aprcCBss_Rev2	approximates points by a closed bi-cubic Bspline surface in the given precision (type 1, improved)
gh3aprcCBss2_Rev2	approximates points by a closed bi-cubic Bspline surface in the given precision (type 2, 

gh3ofstPntBzs3	finds a bezier surface which approximates an offset of a point (type 3)

gh3ofstPntBss3	finds a Bspline surface which approximates an offset of a point (type 3)

gh3ofstLinBzs3	finds a bezier surface which approximates an offset of a line (type 3)
gh3ofstCirBzs3	finds a bezier surface which approximates an offset of a circle (type 3)
gh3ofstEllBzs3	finds a bezier surface which approximates an offset of a ellipse (type 3)
gh3ofstParBzs3	finds a bezier surface which approximates an offset of a parabola (type 3)
gh3ofstHypBzs3	finds a bezier surface which approximates an offset of a hyperbola (type 3)
gh3ofstBzcBzs3	finds a bezier surface which approximates an offset of a bezier curve (type 3)
gh3ofstBscBzs3	finds a bezier surface which approximates an offset of a Bspline curve (type 3)
gh3ofstRBzcBzs3	finds a bezier surface which approximates an offset of a rational bezier curve (type 3)
gh3ofstRBscBzs3	finds a bezier surface which approximates an offset of a rational Bspline curve (type 3)
gh3ofstTrcBzs3	finds a bezier surface which approximates an offset of a trimmed curve (type 3)

gh3ofstLinBss3	finds a Bspline surface which approximates an offset of a line (type 3)
gh3ofstCirBss3	finds a Bspline surface which approximates an offset of a circle (type 3)
gh3ofstEllBss3	finds a Bspline surface which approximates an offset of a ellipse (type 3)
gh3ofstParBss3	finds a Bspline surface which approximates an offset of a parabola (type 3)
gh3ofstHypBss3	finds a Bspline surface which approximates an offset of a hyperbola (type 3)
gh3ofstBzcBss3	finds a Bspline surface which approximates an offset of a bezier curve (type 3)
gh3ofstBscBss3	finds a Bspline surface which approximates an offset of a Bspline curve (type 3)
gh3ofstRBzcBss3	finds a Bspline surface which approximates an offset of a rational bezier curve (type 3)
gh3ofstRBscBss3	finds a Bspline surface which approximates an offset of a rational Bspline curve (type 3)
gh3ofstTrcBss3	finds a Bspline surface which approximates an offset of a trimmed curve (type 3)

gh3ofstPlnBzs3	finds a bezier surface which approximates an offset of a plane (type 3)
gh3ofstSphBzs3	finds a bezier surface which approximates an offset of a sphere (type 3)
gh3ofstCylBzs3	finds a bezier surface which approximates an offset of a cylinder (type 3)
gh3ofstConBzs3	finds a bezier surface which approximates an offset of a cone (type 3)
gh3ofstBzsBzs3	finds a bezier surface which approximates an offset of a bezier surface (type 3)
gh3ofstBssBzs3	finds a bezier surface which approximates an offset of a bspline surface (type 3)
gh3ofstRBzsBzs3	finds a bezier surface which approximates an offset of a rational bezier surface (type 3)
gh3ofstRBssBzs3	finds a bezier surface which approximates an offset of a rational Bspline surface (type 3)
gh3ofstLesBzs3	finds a bezier surface which approximates an offset of a linear extrusion surface (type 3)
gh3ofstRvsBzs3	finds a bezier surface which approximates an offset of a revolution surface (type 3)
gh3ofstRtsBzs3	finds a bezier surface which approximates an offset of a rectangular trimmed surface (type 3

gh3ofstPlnBss3	finds a Bspline surface which approximates an offset of a plane (type 3)
gh3ofstSphBss3	finds a Bspline surface which approximates an offset of a sphere (type 3)
gh3ofstCylBss3	finds a Bspline surface which approximates an offset of a cylinder (type 3)
gh3ofstConBss3	finds a Bspline surface which approximates an offset of a cone (type 3)
gh3ofstBzsBss3	finds a Bspline surface which approximates an offset of a bezier surface (type 3)
gh3ofstBssBss3	finds a Bspline surface which approximates an offset of a Bspline surface (type 3)
gh3ofstRBzsBss3	finds a Bspline surface which approximates an offset of a rational bezier surface (type 3)
gh3ofstRBssBss3	finds a Bspline surface which approximates an offset of a rational Bspline surface (type 3)
gh3ofstLesBss3	finds a Bspline surface which approximates an offset of a linear extrusion surface (type 3)
gh3ofstRvsBss3	finds a Bspline surface which approximates an offset of a revolution surface (type 3)
gh3ofstRtsBss3	finds a Bspline surface which approximates an offset of a rectangular trimmed surface (type 3)

List of fixed bugs

There are no fixes after GHL 3.4.2.

GHL is being brought you by following persons

Naotake KAKISHITA	naokak@pml.co.jp	
Toru HASEGAWA		hasegawa@sra.co.jp
Zitao XU		zitao@pml.co.jp
Nobuyuki SHIKANO	shikano@pml.co.jp
Hideaki ITO		hideit@pml.co.jp

Thank you for your continued support!


Copyright (c) 2000 Precision Modeling Laboratory,Inc., Tokyo, Japan. All Rights Reserved.