4.4 Approximating curves and surfaces as analytics

HOOPS Exchange contains functionality to allow curves and surfaces to be approximated as analytics to facilitate detection and computation of geometric entities. You specify the tolerance value for which an analytic will be recognized from A3DCrvBase* or A3DSurfBase*. HOOPS Exchange will then either identify or change those curves into analytics. The operation works on either the file or entity level.

Recognized analytics include:

Several different functions are available to make this computation:

Function name Description
A3DSimplifyModelFileWithAnalytics Attempts to simplify and replace all curves and surfaces in a model file as analytics, based on a tolerance.
A3DSimplifyCurveWithAnalytics Attempts to simplify a single curve as an analytic entity, based on a tolerance. Existing curve is replaced.
A3DSimplifySurfaceWithAnalytics Attempts to simplify a single surface as an analytic entity, based on a tolerance. Existing surface is replaced.
A3DGetCurveAsAnalytic Attempts to identify a single curve as an analytic entity, based on a tolerance. Existing curve is retained in the tree and the analytic entity is returned as an A3DEAnalyticType.
A3DGetSurfaceAsAnalytic Attempts to identify a single surface as an analytic entity, based on a tolerance. Existing surface is retained in the tree and the analytic entity is returned as an A3DEAnalyticType.

Possible values for A3DAnalyticType:

typedef enum {
kA3DAnalyticNone,
kA3DAnalyticCircle,
kA3DAnalyticAlreadyCircle,
kA3DAnalyticLine,
kA3DAnalyticAlreadyLine,
kA3DAnalyticCone,
kA3DAnalyticAlreadyCone,
kA3DAnalyticCylinder,
kA3DAnalyticAlreadyCylinder,
kA3DAnalyticPlane,
kA3DAnalyticAlreadyPlane,
kA3DAnalyticSphere,
kA3DAnalyticAlreadySphere,
kA3DAnalyticTorus,
kA3DAnalyticAlreadyTorus