# 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

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

### 2D

```gh2rqtNew			creates 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
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
gh2rqtSetOpIntersection	gets intersection between two aligned quadtrees
gh2rqtSetOpUnion	gets union between two aligned quadtrees
gh2rqtSetOpSubtraction	gets sutraction between two aligned quadtrees
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