692 lines
23 KiB
C
692 lines
23 KiB
C
/**
|
|
* @file GoSurfaceTools.x.h
|
|
*
|
|
* @internal
|
|
* Copyright (C) 2016-2021 by LMI Technologies Inc.
|
|
* Licensed under the MIT License.
|
|
* Redistributed files must retain the above copyright notice.
|
|
*/
|
|
#ifndef GO_SURFACE_TOOLS_X_H
|
|
#define GO_SURFACE_TOOLS_X_H
|
|
|
|
#include <kApi/Data/kXml.h>
|
|
#include <GoSdk/Tools/GoTool.h>
|
|
|
|
// Define Surface tool names, ordered alphabetically.
|
|
#define GO_SURFACE_TOOL_NAME_BOUNDING_BOX "SurfaceBoundingBox"
|
|
#define GO_SURFACE_TOOL_NAME_COUNTERSUNK_HOLE "SurfaceCsHole"
|
|
#define GO_SURFACE_TOOL_NAME_DIMENSION "SurfaceDimension"
|
|
#define GO_SURFACE_TOOL_NAME_ELLIPSE "SurfaceEllipse"
|
|
#define GO_SURFACE_TOOL_NAME_HOLE "SurfaceHole"
|
|
#define GO_SURFACE_TOOL_NAME_OPENING "SurfaceOpening"
|
|
#define GO_SURFACE_TOOL_NAME_PLANE "SurfacePlane"
|
|
#define GO_SURFACE_TOOL_NAME_POSITION "SurfacePosition"
|
|
#define GO_SURFACE_TOOL_NAME_RIVET "SurfaceRivet"
|
|
#define GO_SURFACE_TOOL_NAME_STUD "SurfaceStud"
|
|
#define GO_SURFACE_TOOL_NAME_VOLUME "SurfaceVolume"
|
|
|
|
typedef struct GoSurfaceToolClass
|
|
{
|
|
GoToolClass base;
|
|
|
|
kArrayList streamOptions;
|
|
GoDataStream stream;
|
|
|
|
kArrayList sourceOptions;
|
|
GoDataSource source;
|
|
|
|
kArrayList xAnchorOptions;
|
|
k32s xAnchor;
|
|
kArrayList yAnchorOptions;
|
|
k32s yAnchor;
|
|
kArrayList zAnchorOptions;
|
|
k32s zAnchor;
|
|
kArrayList zAngleAnchorOptions;
|
|
k32s zAngleAnchor;
|
|
} GoSurfaceToolClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfaceTool, GoTool)
|
|
|
|
GoFx(kStatus) GoSurfaceTool_Init(GoSurfaceTool tool, kType type, GoToolType typeId, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfaceTool_VRelease(GoSurfaceTool tool);
|
|
GoFx(kStatus) GoSurfaceTool_Read(GoSurfaceTool tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfaceTool_Write(GoSurfaceTool tool, kXml xml, kXmlItem item);
|
|
|
|
typedef struct GoSurfaceBoxClass
|
|
{
|
|
GoSurfaceToolClass base;
|
|
kBool zRotationEnabled;
|
|
kBool regionEnabled;
|
|
GoRegion3d region;
|
|
GoBoxAsymmetryType asymDetectType;
|
|
} GoSurfaceBoxClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfaceBox, GoSurfaceTool)
|
|
|
|
GoFx(kStatus) GoSurfaceBox_Construct(GoSurfaceBox* tool, kObject sensor, kAlloc allocator);
|
|
GoFx(kStatus) GoSurfaceBox_VInit(GoSurfaceBox tool, kType type, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfaceBox_VRelease(GoSurfaceBox tool);
|
|
GoFx(kStatus) GoSurfaceBox_VRead(GoSurfaceBox tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfaceBox_VWrite(GoSurfaceBox tool, kXml xml, kXmlItem item);
|
|
|
|
typedef struct GoSurfaceCountersunkHoleClass
|
|
{
|
|
GoSurfaceToolClass base;
|
|
|
|
GoSurfaceCountersunkHoleShape shape;
|
|
k64f nominalBevelAngle;
|
|
k64f bevelAngleTolerance;
|
|
k64f nominalOuterRadius;
|
|
k64f outerRadiusTolerance;
|
|
k64f nominalInnerRadius;
|
|
k64f innerRadiusTolerance;
|
|
k64f bevelRadiusOffset;
|
|
|
|
kBool partialDetectionEnabled;
|
|
kBool regionEnabled;
|
|
GoRegion3d region;
|
|
kBool refRegionsEnabled;
|
|
kSize refRegionCount;
|
|
GoSurfaceRegion2d refRegions[GO_SURFACE_COUNTERSUNK_HOLE_MAX_REF_REGIONS];
|
|
|
|
kBool autoTiltEnabled;
|
|
k64f tiltXAngle;
|
|
k64f tiltYAngle;
|
|
|
|
kBool curveFitEnabled;
|
|
k64f curveOrientation;
|
|
|
|
kBool planeFitRangeEnabled;
|
|
k64f planeFitRange;
|
|
} GoSurfaceCountersunkHoleClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfaceCountersunkHole, GoSurfaceTool)
|
|
|
|
GoFx(kStatus) GoSurfaceCountersunkHole_Construct(GoSurfaceCountersunkHole* tool, kObject sensor, kAlloc allocator);
|
|
GoFx(kStatus) GoSurfaceCountersunkHole_VInit(GoSurfaceCountersunkHole tool, kType type, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfaceCountersunkHole_VRelease(GoSurfaceCountersunkHole tool);
|
|
GoFx(kStatus) GoSurfaceCountersunkHole_VRead(GoSurfaceCountersunkHole tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfaceCountersunkHole_VWrite(GoSurfaceCountersunkHole tool, kXml xml, kXmlItem item);
|
|
|
|
|
|
/**
|
|
* @deprecated Sets the bevel angle tolerance.
|
|
*
|
|
* @public @memberof GoSurfaceCountersunkHole
|
|
* @version Introduced in firmware 4.0.10.27
|
|
* @param tool GoSurfaceCountersunkHole object.
|
|
* @param value The value to set.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceCountersunkHole_SetBevelAngleTolerance(GoSurfaceCountersunkHole tool, k64f value);
|
|
|
|
/**
|
|
* @deprecated Returns the bevel angle tolerance.
|
|
*
|
|
* @public @memberof GoSurfaceCountersunkHole
|
|
* @version Introduced in firmware 4.0.10.27
|
|
* @param tool GoSurfaceCountersunkHole object.
|
|
* @return The bevel angle tolerance.
|
|
*/
|
|
GoFx(k64f) GoSurfaceCountersunkHole_BevelAngleTolerance(GoSurfaceCountersunkHole tool);
|
|
|
|
|
|
/**
|
|
* @deprecated Sets the inner radius tolerance.
|
|
*
|
|
* @public @memberof GoSurfaceCountersunkHole
|
|
* @version Introduced in firmware 4.0.10.27
|
|
* @param tool GoSurfaceCountersunkHole object.
|
|
* @param value The value to set.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceCountersunkHole_SetInnerRadiusTolerance(GoSurfaceCountersunkHole tool, k64f value);
|
|
|
|
/**
|
|
* @deprecated Returns the inner radius tolerance.
|
|
*
|
|
* @public @memberof GoSurfaceCountersunkHole
|
|
* @version Introduced in firmware 4.0.10.27
|
|
* @param tool GoSurfaceCountersunkHole object.
|
|
* @return The inner radius tolerance.
|
|
*/
|
|
GoFx(k64f) GoSurfaceCountersunkHole_InnerRadiusTolerance(GoSurfaceCountersunkHole tool);
|
|
|
|
/**
|
|
* @deprecated Sets the outer radius tolerance.
|
|
*
|
|
* @public @memberof GoSurfaceCountersunkHole
|
|
* @version Introduced in firmware 4.0.10.27
|
|
* @param tool GoSurfaceCountersunkHole object.
|
|
* @param value The value to set.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceCountersunkHole_SetOuterRadiusTolerance(GoSurfaceCountersunkHole tool, k64f value);
|
|
|
|
/**
|
|
* @deprecated Returns the outer radius tolerance.
|
|
*
|
|
* @public @memberof GoSurfaceCountersunkHole
|
|
* @version Introduced in firmware 4.0.10.27
|
|
* @param tool GoSurfaceCountersunkHole object.
|
|
* @return The outer radius tolerance.
|
|
*/
|
|
GoFx(k64f) GoSurfaceCountersunkHole_OuterRadiusTolerance(GoSurfaceCountersunkHole tool);
|
|
|
|
|
|
typedef struct GoSurfaceDimClass
|
|
{
|
|
GoSurfaceToolClass base;
|
|
GoSurfaceFeature refFeature;
|
|
GoSurfaceFeature feature;
|
|
} GoSurfaceDimClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfaceDim, GoSurfaceTool)
|
|
|
|
GoFx(kStatus) GoSurfaceDim_Construct(GoSurfaceDim* tool, kObject sensor, kAlloc allocator);
|
|
GoFx(kStatus) GoSurfaceDim_VInit(GoSurfaceDim tool, kType type, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfaceDim_VRelease(GoSurfaceDim tool);
|
|
GoFx(kStatus) GoSurfaceDim_VRead(GoSurfaceDim tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfaceDim_VWrite(GoSurfaceDim tool, kXml xml, kXmlItem item);
|
|
|
|
|
|
typedef struct GoSurfaceEllipseClass
|
|
{
|
|
GoSurfaceToolClass base;
|
|
kBool regionEnabled;
|
|
GoRegion3d region;
|
|
GoEllipseAsymmetryType asymDetectType;
|
|
} GoSurfaceEllipseClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfaceEllipse, GoSurfaceTool)
|
|
|
|
GoFx(kStatus) GoSurfaceEllipse_Construct(GoSurfaceEllipse* tool, kObject sensor, kAlloc allocator);
|
|
GoFx(kStatus) GoSurfaceEllipse_VInit(GoSurfaceEllipse tool, kType type, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfaceEllipse_VRelease(GoSurfaceEllipse tool);
|
|
GoFx(kStatus) GoSurfaceEllipse_VRead(GoSurfaceEllipse tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfaceEllipse_VWrite(GoSurfaceEllipse tool, kXml xml, kXmlItem item);
|
|
|
|
|
|
typedef struct GoSurfaceHoleClass
|
|
{
|
|
GoSurfaceToolClass base;
|
|
|
|
k64f nominalRadius;
|
|
k64f radiusTolerance;
|
|
kBool partialDetectionEnabled;
|
|
kBool regionEnabled;
|
|
GoRegion3d region;
|
|
kBool refRegionsEnabled;
|
|
kSize refRegionCount;
|
|
GoSurfaceRegion2d refRegions[GO_SURFACE_HOLE_MAX_REF_REGIONS];
|
|
k64f tiltXAngle;
|
|
k64f tiltYAngle;
|
|
kBool autoTiltEnabled;
|
|
|
|
kBool depthLimitEnabled;
|
|
k64f depthLimit;
|
|
} GoSurfaceHoleClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfaceHole, GoSurfaceTool)
|
|
|
|
GoFx(kStatus) GoSurfaceHole_Construct(GoSurfaceHole* tool, kObject sensor, kAlloc allocator);
|
|
GoFx(kStatus) GoSurfaceHole_VInit(GoSurfaceHole tool, kType type, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfaceHole_VRelease(GoSurfaceHole tool);
|
|
GoFx(kStatus) GoSurfaceHole_VRead(GoSurfaceHole tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfaceHole_VWrite(GoSurfaceHole tool, kXml xml, kXmlItem item);
|
|
|
|
|
|
typedef struct GoSurfaceOpeningClass
|
|
{
|
|
GoSurfaceToolClass base;
|
|
|
|
GoSurfaceOpeningType type;
|
|
k64f nominalWidth;
|
|
k64f nominalLength;
|
|
k64f nominalAngle;
|
|
k64f nominalRadius;
|
|
k64f widthTolerance;
|
|
k64f lengthTolerance;
|
|
k64f angleTolerance;
|
|
kBool partialDetectionEnabled;
|
|
kBool regionEnabled;
|
|
GoRegion3d region;
|
|
kBool refRegionsEnabled;
|
|
kSize refRegionCount;
|
|
GoSurfaceRegion2d refRegions[GO_SURFACE_OPENING_MAX_REF_REGIONS];
|
|
kBool autoTiltEnabled;
|
|
k64f tiltXAngle;
|
|
k64f tiltYAngle;
|
|
|
|
kBool depthLimitEnabled;
|
|
k64f depthLimit;
|
|
} GoSurfaceOpeningClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfaceOpening, GoSurfaceTool)
|
|
|
|
GoFx(kStatus) GoSurfaceOpening_Construct(GoSurfaceOpening* tool, kObject sensor, kAlloc allocator);
|
|
GoFx(kStatus) GoSurfaceOpening_VInit(GoSurfaceOpening tool, kType type, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfaceOpening_VRelease(GoSurfaceOpening tool);
|
|
GoFx(kStatus) GoSurfaceOpening_VRead(GoSurfaceOpening tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfaceOpening_VWrite(GoSurfaceOpening tool, kXml xml, kXmlItem item);
|
|
|
|
|
|
typedef struct GoSurfacePlaneClass
|
|
{
|
|
GoSurfaceToolClass base;
|
|
|
|
kBool regionsEnabled;
|
|
kSize regionCount;
|
|
GoRegion3d regions[GO_SURFACE_PLANE_MAX_REGIONS];
|
|
} GoSurfacePlaneClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfacePlane, GoSurfaceTool)
|
|
|
|
GoFx(kStatus) GoSurfacePlane_Construct(GoSurfacePlane* tool, kObject sensor, kAlloc allocator);
|
|
GoFx(kStatus) GoSurfacePlane_VInit(GoSurfacePlane tool, kType type, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfacePlane_VRelease(GoSurfacePlane tool);
|
|
GoFx(kStatus) GoSurfacePlane_VRead(GoSurfacePlane tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfacePlane_VWrite(GoSurfacePlane tool, kXml xml, kXmlItem item);
|
|
|
|
typedef struct GoSurfacePositionClass
|
|
{
|
|
GoSurfaceToolClass base;
|
|
GoSurfaceFeature feature;
|
|
kBool regionEnabled;
|
|
GoRegion3d region;
|
|
} GoSurfacePositionClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfacePosition, GoSurfaceTool)
|
|
|
|
GoFx(kStatus) GoSurfacePosition_Construct(GoSurfacePosition* tool, kObject sensor, kAlloc allocator);
|
|
GoFx(kStatus) GoSurfacePosition_VInit(GoSurfacePosition tool, kType type, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfacePosition_VRelease(GoSurfacePosition tool);
|
|
GoFx(kStatus) GoSurfacePosition_VRead(GoSurfacePosition tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfacePosition_VWrite(GoSurfacePosition tool, kXml xml, kXmlItem item);
|
|
|
|
|
|
typedef struct GoSurfaceStudClass
|
|
{
|
|
GoSurfaceToolClass base;
|
|
k64f studRadius;
|
|
k64f studHeight;
|
|
k64f baseHeight;
|
|
k64f tipHeight;
|
|
|
|
kBool regionEnabled;
|
|
GoRegion3d region;
|
|
|
|
kBool refRegionsEnabled;
|
|
kSize refRegionCount;
|
|
GoSurfaceRegion2d refRegions[GO_SURFACE_STUD_MAX_REF_REGIONS];
|
|
kBool autoTiltEnabled;
|
|
k64f tiltXAngle;
|
|
k64f tiltYAngle;
|
|
} GoSurfaceStudClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfaceStud, GoSurfaceTool)
|
|
|
|
GoFx(kStatus) GoSurfaceStud_Construct(GoSurfaceStud* tool, kObject sensor, kAlloc allocator);
|
|
GoFx(kStatus) GoSurfaceStud_VInit(GoSurfaceStud tool, kType type, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfaceStud_VRelease(GoSurfaceStud tool);
|
|
GoFx(kStatus) GoSurfaceStud_VRead(GoSurfaceStud tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfaceStud_VWrite(GoSurfaceStud tool, kXml xml, kXmlItem item);
|
|
|
|
|
|
typedef struct GoSurfaceVolumeClass
|
|
{
|
|
GoSurfaceToolClass base;
|
|
|
|
kBool regionEnabled;
|
|
GoRegion3d region;
|
|
} GoSurfaceVolumeClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfaceVolume, GoSurfaceTool)
|
|
|
|
GoFx(kStatus) GoSurfaceVolume_Construct(GoSurfaceVolume* tool, kObject sensor, kAlloc allocator);
|
|
GoFx(kStatus) GoSurfaceVolume_VInit(GoSurfaceVolume tool, kType type, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfaceVolume_VRelease(GoSurfaceVolume tool);
|
|
GoFx(kStatus) GoSurfaceVolume_VRead(GoSurfaceVolume tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfaceVolume_VWrite(GoSurfaceVolume tool, kXml xml, kXmlItem item);
|
|
|
|
|
|
/**
|
|
* Gets the current nominal height value.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return The nominal height value.
|
|
*/
|
|
GoFx(k64f) GoSurfaceRivet_NominalHeight(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the nominal height value.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param nominalHeight Nominal height value to set.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_SetNominalHeight(GoSurfaceRivet tool, k64f nominalHeight);
|
|
|
|
|
|
/**
|
|
* Gets the current nominal radius value.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return The nominal radius value.
|
|
*/
|
|
GoFx(k64f) GoSurfaceRivet_NominalRadius(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the nominal radius value.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param nominalRadius Nominal radius value to set.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_SetNominalRadius(GoSurfaceRivet tool, k64f nominalRadius);
|
|
|
|
/**
|
|
* Gets the current radius tolerance value.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return The radius tolerance value.
|
|
*/
|
|
GoFx(k64f) GoSurfaceRivet_RadiusTolerance(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the radius tolerance value.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param radiusTolerance The radius tolerance value to set.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_SetRadiusTolerance(GoSurfaceRivet tool, k64f radiusTolerance);
|
|
|
|
/**
|
|
* Gets the enabled state of partial detection.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return kTRUE if enabled and kFALSE if disabled.
|
|
*/
|
|
GoFx(kBool) GoSurfaceRivet_PartialDetectionEnabled(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the enabled state of partial detection.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param enable kTRUE to enable partial detection and kFALSE to disable it.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_EnablePartialDetection(GoSurfaceRivet tool, kBool enable);
|
|
|
|
/**
|
|
* Gets the enabled state of the tool region.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return kTRUE if enabled and kFALSE if disabled.
|
|
*/
|
|
GoFx(kBool) GoSurfaceRivet_RegionEnabled(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the enabled state of the tool region.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param enable kTRUE to enable the tool region and kFALSE to disable it.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_EnableRegion(GoSurfaceRivet tool, kBool enable);
|
|
|
|
/**
|
|
* Returns the tool's region object.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return A GoRegion3d object.
|
|
*/
|
|
GoFx(GoRegion3d) GoSurfaceRivet_Region(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Gets the enabled state of reference regions.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return kTRUE if enabled and kFALSE if disabled.
|
|
*/
|
|
GoFx(kBool) GoSurfaceRivet_RefRegionsEnabled(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the enabled state of reference regions.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param enable kTRUE to enable reference regions and kFALSE to disable it.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_EnableRefRegions(GoSurfaceRivet tool, kBool enable);
|
|
|
|
/**
|
|
* Gets the reference region count.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return The reference region count.
|
|
*/
|
|
GoFx(kSize) GoSurfaceRivet_RefRegionCount(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the reference region count.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param count The reference region count.
|
|
* @return Operation status.
|
|
* @see GO_SURFACE_RIVET_MAX_REF_REGIONS
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_SetRefRegionCount(GoSurfaceRivet tool, kSize count);
|
|
|
|
/**
|
|
* Gets a reference region object at the given index.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param index The index with which to retrieve a reference region.
|
|
* @return A GoSurfaceRegion2d object.
|
|
* @see GoSurfaceRivet_RefRegionCount
|
|
*/
|
|
GoFx(GoSurfaceRegion2d) GoSurfaceRivet_RefRegionAt(GoSurfaceRivet tool, kSize index);
|
|
|
|
/**
|
|
* Gets the enabled state of auto-tilt.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return kTRUE if enabled and kFALSE if disabled.
|
|
*/
|
|
GoFx(kBool) GoSurfaceRivet_AutoTiltEnabled(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the enabled state of auto-tilt.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param enable kTRUE to enable it and kFALSE to disable it.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_EnableAutoTilt(GoSurfaceRivet tool, kBool enable);
|
|
|
|
/**
|
|
* Gets the tilt X-angle value.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return Tilt X-angle value.
|
|
*/
|
|
GoFx(k64f) GoSurfaceRivet_TiltXAngle(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the tilt X-angle value.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param value The tilt X-angle value to set.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_SetTiltXAngle(GoSurfaceRivet tool, k64f value);
|
|
|
|
/**
|
|
* Gets the tilt Y-angle value.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return Tilt Y-angle value.
|
|
*/
|
|
GoFx(k64f) GoSurfaceRivet_TiltYAngle(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the tilt Y-angle value.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param value The tilt Y-angle value to set.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_SetTiltYAngle(GoSurfaceRivet tool, k64f value);
|
|
|
|
/**
|
|
* Gets the rivet type.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return Rivet type value.
|
|
*/
|
|
GoFx(GoSurfaceRivetType) GoSurfaceRivet_Type(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the rivet type.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param type The rivet type to set.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_SetType(GoSurfaceRivet tool, GoSurfaceRivetType type);
|
|
|
|
/**
|
|
* Gets the edge sensitivity.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return Sensitivity value.
|
|
*/
|
|
GoFx(k64f) GoSurfaceRivet_EdgeSensitivity(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the edge sensitivity.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param value Value to set.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_SetEdgeSensitivity(GoSurfaceRivet tool, k64f value);
|
|
|
|
/**
|
|
* Gets the inner padding.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return Inner padding value.
|
|
*/
|
|
GoFx(k64f) GoSurfaceRivet_InnerPadding(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Sets the inner padding.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param value Value to set.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_SetInnerPadding(GoSurfaceRivet tool, k64f value);
|
|
|
|
/**
|
|
* Adds a new rivet tool measurement.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object
|
|
* @param type The measurement type that is being added.
|
|
* @param measurement A handle to the newly added measurement. (can be kNULL)
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_AddMeasurement(GoSurfaceRivet tool, GoMeasurementType type, GoMeasurement* measurement);
|
|
|
|
/**
|
|
* Removes a measurement at the given index.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param index The index of the measurement to remove.
|
|
* @return Operation status.
|
|
*/
|
|
GoFx(kStatus) GoSurfaceRivet_RemoveMeasurement(GoSurfaceRivet tool, kSize index);
|
|
|
|
/**
|
|
* Gets the measurement count.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @return Measurement count.
|
|
*/
|
|
GoFx(kSize) GoSurfaceRivet_MeasurementCount(GoSurfaceRivet tool);
|
|
|
|
/**
|
|
* Gets the measurement at the given index.
|
|
*
|
|
* @public @memberof GoSurfaceRivet
|
|
* @param tool GoSurfaceRivet object.
|
|
* @param index The index of the measurement to return.
|
|
* @return A rivet tool measurement handle.
|
|
*/
|
|
GoFx(GoMeasurement) GoSurfaceRivet_MeasurementAt(GoSurfaceRivet tool, kSize index);
|
|
|
|
typedef struct GoSurfaceRivetClass
|
|
{
|
|
GoSurfaceToolClass base;
|
|
|
|
k64f nominalHeight;
|
|
k64f nominalRadius;
|
|
k64f radiusTolerance;
|
|
kBool partialDetectionEnabled;
|
|
kBool regionEnabled;
|
|
GoRegion3d region;
|
|
kBool refRegionsEnabled;
|
|
kSize refRegionCount;
|
|
GoSurfaceRegion2d refRegions[GO_SURFACE_RIVET_MAX_REF_REGIONS];
|
|
k64f tiltXAngle;
|
|
k64f tiltYAngle;
|
|
kBool autoTiltEnabled;
|
|
GoSurfaceRivetType type;
|
|
k64f edgeSensitivity;
|
|
k64f innerPadding;
|
|
} GoSurfaceRivetClass;
|
|
|
|
kDeclareClassEx(Go, GoSurfaceRivet, GoSurfaceTool)
|
|
|
|
GoFx(kStatus) GoSurfaceRivet_Construct(GoSurfaceRivet* tool, kObject sensor, kAlloc allocator);
|
|
GoFx(kStatus) GoSurfaceRivet_VInit(GoSurfaceRivet tool, kType type, kObject sensor, kAlloc alloc);
|
|
GoFx(kStatus) GoSurfaceRivet_VRelease(GoSurfaceRivet tool);
|
|
GoFx(kStatus) GoSurfaceRivet_VRead(GoSurfaceRivet tool, kXml xml, kXmlItem item);
|
|
GoFx(kStatus) GoSurfaceRivet_VWrite(GoSurfaceRivet tool, kXml xml, kXmlItem item);
|
|
|
|
#endif
|