Analysis Situs // SDK
Modeling

Modeling algorithms of Analysis Situs. More...

Namespaces

 asiAlgo_AppSurfUtils
 
 asiAlgo_CSGUtils
 
 asiAlgo_Classifier
 
 asiAlgo_ConvertCurve
 
 asiAlgo_ModelRefine
 
 RTCD
 
 asiAlgo_Utils
 
 asiAlgo_EulerPoincare
 
 asiAlgo_FindFree
 
 asiAlgo_FindNonmanifold
 
 asiAlgo_MeshConvert
 
 asiAlgo_MeshGen
 
 asiAlgo_MeshSmooth
 
 asiAlgo_PointCloudUtils
 

Classes

struct  IntersectionPoint
 
class  asiAlgo_AppSurf2
 
class  asiAlgo_BuildCoonsSurf
 
class  asiAlgo_BuildGordonSurf
 
class  asiAlgo_IntersectCurves
 
class  asiAlgo_JoinSurf
 
class  asiAlgo_UntrimSurf
 
struct  IsInsideTolerance
 
class  asiAlgo_AnalyzeWire
 
class  asiAlgo_AttrFaceUniformGrid
 
class  asiAlgo_BVHFacets
 
class  asiAlgo_BoundaryDistanceField
 
class  asiAlgo_BuildConvexHull
 Constructs convex hull on the given set of points. More...
 
class  asiAlgo_BuildHLR
 
class  asiAlgo_BuildOBB
 
class  asiAlgo_BuildOptBoundingCyl
 
class  asiAlgo_CheckClearance
 
class  asiAlgo_CheckThickness
 
class  asiAlgo_CheckToler
 
class  asiAlgo_CheckValidity
 
class  asiAlgo_ClassifyPointFace
 
class  MeshDist
 
class  asiAlgo_ClassifyPointSolid
 
class  asiAlgo_CompleteEdgeLoop
 
class  ComputeNegativeVolumeAlgo
 
class  asiAlgo_DesignLaw
 
class  asiAlgo_DivideByContinuity
 
class  asiAlgo_FindVisibleFaces
 
class  asiAlgo_FuncUnivariate
 
struct  asiAlgo_GeomSummary
 
class  asiAlgo_HitFacet
 
class  asiAlgo_IntersectBoxMesh
 
class  asiAlgo_IntersectCC
 
class  asiAlgo_IntersectCS
 
class  asiAlgo_IntersectSS
 
class  asiAlgo_IntersectionCurveSS
 
class  asiAlgo_IntersectionPointCC
 
class  asiAlgo_IntersectionPointCS
 
struct  asiAlgo_OBB
 
class  asiAlgo_OrientCnc
 
class  asiAlgo_ProjectPointOnMesh
 
class  asiAlgo_ResampleADF
 
class  asiAlgo_SampleFace
 
class  asiAlgo_SegmentsInfo
 
class  asiAlgo_SegmentsInfoExtractor
 
struct  asiAlgo_SemanticCode
 
class  asiAlgo_SemanticCodes
 
class  asiAlgo_ShapeSerializer
 
struct  asiAlgo_TopoSummary
 
class  asiAlgo_UniformGrid< T >
 
class  asiAlgo_UnifySameDomain
 
class  asiAlgo_ConvertCanonical
 
class  asiAlgo_ConvertCanonicalCurve
 
class  asiAlgo_ConvertCanonicalMod
 
struct  asiAlgo_ConvertCanonicalSummary
 
class  asiAlgo_ConvertCanonicalSurface
 
class  asiAlgo_RecognizeCanonical
 
class  asiAlgo_BRepNormalization
 
class  asiAlgo_BRepNormalizer
 
class  asiAlgo_ConvertToBezier
 
class  asiAlgo_DeleteEdges
 
class  asiAlgo_DetachFaces
 
struct  asiAlgo_Edge2Rebuild
 
struct  asiAlgo_Edges2Rebuild
 
class  asiAlgo_Euler
 
class  asiAlgo_EulerKEF
 
class  asiAlgo_EulerKEV
 
class  asiAlgo_EulerKFMV
 
class  asiAlgo_FindSameHosts
 
struct  asiAlgo_FrozenVertices
 
class  asiAlgo_History
 History graph for topological elements. More...
 
class  asiAlgo_InvertFaces
 
class  asiAlgo_InvertShells
 
class  asiAlgo_Join3dEdges
 
class  asiAlgo_JoinEdges
 
class  asiAlgo_ModBase
 
class  asiAlgo_ModConstructEdge
 
class  asiAlgo_ModEdgeInfo
 
class  asiAlgo_Naming
 Naming service for a B-Rep part. More...
 
class  asiAlgo_RebuildEdge
 
class  asiAlgo_RehostFaces
 
class  asiAlgo_RepatchFaces
 
class  asiAlgo_SmallEdges
 
class  asiAlgo_SuppressFaces
 
class  asiAlgo_SuppressFeatures
 
class  asiAlgo_SuppressHard
 
class  asiAlgo_SuppressSoft
 
class  asiAlgo_TopoKill
 
class  asiAlgo_MeshCheckTopology
 
class  asiAlgo_MeshComputeNorms
 
class  asiAlgo_MeshComputeShapeNorms
 
class  asiAlgo_MeshDistanceFunc
 
class  asiAlgo_MeshField
 
class  asiAlgo_MeshScalarField
 
struct  asiAlgo_MeshInfo
 
class  asiAlgo_MeshInterPlane
 
struct  asiAlgo_MeshLink
 
class  asiAlgo_MeshMerge
 
class  asiAlgo_MeshMergeNodes
 
class  asiAlgo_MeshOBB
 
class  asiAlgo_MeshOffset
 
struct  asiAlgo_MeshParams
 
class  asiAlgo_MeshProjectLine
 
class  asiAlgo_MeshSlice
 
struct  asiAlgo_MeshWithFields
 
class  asiAlgo_BaseCloud< TCoordType >
 
struct  asiAlgo_CloudRegion
 
class  asiAlgo_Cloudify
 
class  asiAlgo_KHull2d< TPoint >
 
class  asiAlgo_PlaneOnPoints
 
class  asiAlgo_PlateOnPoints
 
struct  asiAlgo_PointWithAttr< TCoord >
 
class  asiAlgo_PointWithAttrCloud< TCoord >
 
class  asiAlgo_PointWithAttrInspector2d< TPoint >
 
class  asiAlgo_Inspector3d
 
class  asiAlgo_PurifyCloud
 
class  asiAlgo_QuickHull2d< TPoint >
 
class  asiAlgo_RelievePointCloud
 
class  asiAlgo_ReorientNorms
 
class  asiAlgo_CheckContour
 
class  asiAlgo_CheckDeviations
 
class  asiAlgo_InterpolateSurfMesh
 
class  asiAlgo_PatchJointAdaptor
 
class  asiAlgo_PlateOnEdges
 
class  asiAlgo_ReapproxContour
 

Typedefs

typedef std::vector< IntersectionPointintersectionPointList
 
typedef NCollection_Sequence< Handle_asiAlgo_IntersectionCurveSS > asiAlgo_IntersectionCurvesSS
 
typedef NCollection_Sequence< Handle_asiAlgo_IntersectionPointCC > asiAlgo_IntersectionPointsCC
 
typedef NCollection_Sequence< Handle_asiAlgo_IntersectionPointCS > asiAlgo_IntersectionPointsCS
 
typedef std::vector< asiAlgo_SegmentsInfoasiAlgo_SegmentsInfoVec
 

Enumerations

enum  TiglContinuity { C0 = 0, C1 = 1, C2 = 2 }
 
enum  asiAlgo_CSG {
  CSG_Undefined = 0, CSG_Primitive, CSG_Union, CSG_Difference,
  CSG_Intersection
}
 
enum  asiAlgo_Membership {
  Membership_Unknown = 0x01, Membership_In = 0x02, Membership_On = 0x04, Membership_Out = 0x08,
  Membership_Composite = 0x10, Membership_InOn = Membership_In | Membership_On, Membership_InOnComp = Membership_In | Membership_On | Membership_Composite, Membership_InOnOut = Membership_In | Membership_On | Membership_Out,
  Membership_InOut = Membership_In | Membership_Out
}
 
enum  asiAlgo_SemanticCodeType { Undefined, Warning }
 
enum  asiAlgo_FacetQuality {
  UNDEFINED = -1, VeryRough = 0, Rough, Normal,
  Fine, VeryFine
}
 

Functions

asiAlgo_FacetQuality asiAlgo_FacetQualityFromString (const char *name)
 
void asiAlgo_SelectFaceterOptions (const asiAlgo_FacetQuality facetQuality, const double minLinDefl, double &linDefl, double &angDeflDeg)
 

Variables

static std::unordered_map< std::string, asiAlgo_FacetQualityasiAlgo_FacetQualityNames
 

Detailed Description

Modeling algorithms of Analysis Situs.

Typedef Documentation

◆ asiAlgo_IntersectionCurvesSS

typedef NCollection_Sequence<Handle_asiAlgo_IntersectionCurveSS > asiAlgo_IntersectionCurvesSS

Collection of intersection curves.

◆ asiAlgo_IntersectionPointsCC

typedef NCollection_Sequence<Handle_asiAlgo_IntersectionPointCC > asiAlgo_IntersectionPointsCC

Collection of intersection points.

◆ asiAlgo_IntersectionPointsCS

typedef NCollection_Sequence<Handle_asiAlgo_IntersectionPointCS > asiAlgo_IntersectionPointsCS

Collection of intersection points.

Enumeration Type Documentation

◆ asiAlgo_CSG

Type of CSG operation.

Enumerator
CSG_Primitive 

Construction of a primitive.

CSG_Union 

Boolean union.

CSG_Difference 

Boolean difference.

CSG_Intersection 

Boolean intersection.

◆ asiAlgo_FacetQuality

enum asiAlgo_FacetQuality
strong

This enumeration defines levels of detail to use in a faceter. Each item in this enumeration corresponds to a pair of angular and linear deflection values. Those values are chosen algorithmically, depending on the extent of a shape and the selected detail level.

◆ asiAlgo_Membership

Set membership relations.

◆ asiAlgo_SemanticCodeType

Type of semantic code.

Function Documentation

◆ asiAlgo_FacetQualityFromString()

asiAlgo_FacetQuality asiAlgo_FacetQualityFromString ( const char *  name)
inline

Returns facet quality by its predefined string identifier.

Parameters
[in]namethe name to match with a facet quality level.
Returns
facet quality enum.

◆ asiAlgo_SelectFaceterOptions()

void asiAlgo_SelectFaceterOptions ( const asiAlgo_FacetQuality  facetQuality,
const double  minLinDefl,
double &  linDefl,
double &  angDeflDeg 
)
inline

This function returns a pair of linear and angular deflection values for the requested quality level. The linear deflection is derived from the passed minLinDefl value by scaling it by a prescribed coefficient. The value of the angular deflection is fixed for each quality level.

Parameters
[in]facetQualitythe requested quality level.
[in]minLinDeflthe minimal allowed linear deflection in model units.
[out]linDeflthe computed linear deflection in model units.
[out]angDeflDegthe computed angular deflection in degrees.

Variable Documentation

◆ asiAlgo_FacetQualityNames

std::unordered_map<std::string, asiAlgo_FacetQuality> asiAlgo_FacetQualityNames
static
Initial value:
= { {FQ_Name_VeryRough, asiAlgo_FacetQuality::VeryRough},
{FQ_Name_Rough, asiAlgo_FacetQuality::Rough},
{FQ_Name_Normal, asiAlgo_FacetQuality::Normal},
{FQ_Name_Fine, asiAlgo_FacetQuality::Fine},
{FQ_Name_VeryFine, asiAlgo_FacetQuality::VeryFine} }

Quality names.