HPS::Exchange Class Reference

#include <sprk_exchange.h>

Classes

class  CADModel
 
class  Capture
 
class  CommonMeasurementOperator
 
class  Component
 
class  Configuration
 
class  Export3MFOptionsKit
 
class  ExportACISOptionsKit
 
class  ExportFBXOptionsKit
 
class  ExportIGESOptionsKit
 
class  ExportJTOptionsKit
 
class  ExportNotifier
 
class  ExportOBJOptionsKit
 
class  ExportParasolidOptionsKit
 
class  ExportPRCOptionsKit
 
class  ExportSTEPOptionsKit
 
class  ExportSTLOptionsKit
 
class  ExportU3DOptionsKit
 
class  ExportXMLOptionsKit
 
class  Factory
 
class  File
 
class  Filter
 
class  ImportNotifier
 
class  ImportOptionsKit
 
class  JT
 
class  MeasurementOperator
 
class  ModelFileImportOptionsKit
 
class  NURBSConversionOptionsKit
 
class  PRC
 
class  ProductOccurrence
 
class  ProE
 
class  ReloadNotifier
 
class  Revit
 
class  Sheet
 
class  STEP
 
class  Tessellation
 
class  TessellationOptionsKit
 
class  Translation
 
class  TranslationNotifier
 
class  TranslationOptionsKit
 
class  U3D
 

Public Types

enum  AnnotationCaptureFitting { AnnotationCaptureFitting::PMIOnly, AnnotationCaptureFitting::ModelAndPMI }
 
enum  BRepMode { BRepMode::TessellationOnly, BRepMode::BRepOnly, BRepMode::BRepAndTessellation }
 
typedef std::vector< Configuration, HPS::Allocator< Configuration > > ConfigurationArray
 
enum  CurveType {
  CurveType::Blend, CurveType::NURBS, CurveType::Circle, CurveType::Composite,
  CurveType::CurveOnSurface, CurveType::Ellipse, CurveType::Equation, CurveType::Helix,
  CurveType::Hyperbola, CurveType::Intersection, CurveType::Line, CurveType::Offset,
  CurveType::Parabola, CurveType::Polyline, CurveType::Transform
}




 
typedef std::vector< CurveType, HPS::Allocator< CurveType > > CurveTypeArray
 
enum  ImportMode { ImportMode::Complete, ImportMode::Incremental }
 
enum  LoadStatus {
  LoadStatus::Unknown, LoadStatus::Loaded, LoadStatus::VisualizationOnly, LoadStatus::PartiallyLoaded,
  LoadStatus::NotLoaded
}
 
typedef HPS::IntArray ParasolidEntityArray
 
typedef std::vector< Sheet, HPS::Allocator< Sheet > > SheetArray
 
enum  SurfaceType {
  SurfaceType::Blend01, SurfaceType::Blend02, SurfaceType::Blend03, SurfaceType::Blend04,
  SurfaceType::NURBS, SurfaceType::Cone, SurfaceType::Cylinder, SurfaceType::Offset,
  SurfaceType::Pipe, SurfaceType::Plane, SurfaceType::Ruled, SurfaceType::Sphere,
  SurfaceType::Revolution, SurfaceType::Extrusion, SurfaceType::FromCurve, SurfaceType::Torus,
  SurfaceType::Transform
}
 
typedef std::vector< SurfaceType, HPS::Allocator< SurfaceType > > SurfaceTypeArray
 
enum  Units {
  Units::Unknown, Units::Point, Units::Inch, Units::Millimeter,
  Units::Centimeter, Units::Pica, Units::Foot, Units::Yard,
  Units::Meter, Units::Kilometer, Units::Mile
}
 
enum  UnloadMode { UnloadMode::ExchangeAndVisualization, UnloadMode::ExchangeOnly }
 

Detailed Description

The Exchange class contains objects and enumerations used for importing and exporting CAD files via Exchange.

Member Enumeration Documentation

◆ AnnotationCaptureFitting

Enumerates the type of data in the scene to use to generate cameras for annotation captures.

Enumerator
PMIOnly 

Use only the bounds of the PMI referenced by the annotation capture to compute the camera.

ModelAndPMI 

Use the bounds of the model and the PMI referenced by the annotation capture to compute the camera.

◆ BRepMode

Enumerates the ways in which to import BRep and tessellation data for files imported via Exchange.

Enumerator
TessellationOnly 

Only tessellation data will be requested from Exchange, which will tessellate items as necessary or extract existing tessellations as appropriate. No BRep data will be available for the file if this mode is used. (kA3DReadTessOnly)

BRepOnly 

Only BRep data will be requested from Exchange, and each representation item will be tessellated individually as necessary. This can potentially lead to a lower peak memory level at the expense of a potentially longer import. (kA3DReadGeomOnly)

BRepAndTessellation 

BRep and tessellation data will be requested from Exchange, which will perform the tessellations in one shot rather than on demand. This can potentially lead to a higher peak memory level with the benefit of a potentially faster import. (kA3DReadGeomAndTess)

◆ CurveType

Enumerates the types of curves supported by Exchange

Enumerator
Blend 

Blend boundary curve (kA3DTypeCrvBlend02Boundary ).

NURBS 

NURBS curve (kA3DTypeCrvNurbs ).

Circle 

Circle (kA3DTypeCrvCircle ).

Composite 

Array of oriented curves (kA3DTypeCrvComposite ).

CurveOnSurface 

Curve defined by a UV curve on a surface (kA3DTypeCrvOnSurf ).

Ellipse 

Ellipse (kA3DTypeCrvEllipse ).

Equation 

Curve described by an equation (kA3DTypeCrvEquation ).

Helix 

Helix (kA3DTypeCrvHelix ).

Hyperbola 

Hyperbola (kA3DTypeCrvHyperbola ).

Intersection 

Intersection between two surfaces (kA3DTypeCrvIntersection ).

Line 

Line (kA3DTypeCrvLine ).

Offset 

Offset curve (kA3DTypeCrvOffset ).

Parabola 

Parabola (kA3DTypeCrvParabola ).

Polyline 

Polyhedric curve (kA3DTypeCrvPolyLine ).

Transform 

Transformed curve (kA3DTypeCrvTransform ).

◆ ImportMode

Enumerates the ways in which to perform file import via Exchange.

Enumerator
Complete 

The standard form of import. Import options will be respected as to what should be loaded (solids, surfaces, PMI, etc.), but all specified data will be imported for all product occurrences within a file.

Incremental 

Only the structure of the CAD file will be imported. Product occurrences within that structure can then be loaded on demand. This type of import can only be performed for certain formats, in particular, SolidWorks, NX (Unigraphics), Creo (Pro/E), and CATIA V5 files.

◆ LoadStatus

Enumerates the various load statuses for a ProductOccurrence.

Enumerator
Unknown 

Unknown state.

Loaded 

Product occurrence is loaded in Exchange and has visualization data.

VisualizationOnly 

Product occurrence has only visualization data, no Exchange data is available.

PartiallyLoaded 

Some product occurrences under the product occurrence are loaded, some are not.

NotLoaded 

No Exchange or visualization data is loaded for the product occurrence.

◆ SurfaceType

Enumerates the types of surfaces supported by Exchange

Enumerator
Blend01 

Blend Type 1 surface (kA3DTypeSurfBlend01).

Blend02 

Blend Type 2 surface (kA3DTypeSurfBlend02).

Blend03 

Blend Type 3 surface (kA3DTypeSurfBlend03).

Blend04 

Blend Type 4 surface (kA3DTypeSurfBlend04).

NURBS 

NURBS surface (kA3DTypeSurfNurbs ).

Cone 

Conical surface (kA3DTypeSurfCone ).

Cylinder 

Cylindrical surface (kA3DTypeSurfCylinder ).

Offset 

Offset surface (kA3DTypeSurfOffset ).

Pipe 

Pipe surface (kA3DTypeSurfPipe ).

Plane 

Planar surface (kA3DTypeSurfPlane ).

Ruled 

Ruled surface (kA3DTypeSurfRuled ).

Sphere 

Spherical surface (kA3DTypeSurfSphere ).

Revolution 

Revolution surface (kA3DTypeSurfRevolution ).

Extrusion 

An Extrusion (kA3DTypeSurfExtrusion ).

FromCurve 

Surface defined from a curve (kA3DTypeSurfFromCurves).

Torus 

Torus surface (kA3DTypeSurfTorus).

Transform 

Transform (kA3DTypeSurfTransform ).

◆ Units

enum HPS::Exchange::Units
strong

Enumerates the units for files imported via Exchange.

Enumerator
Unknown 

Unknown unit type (kA3DUnitUnknown).

Point 

Point (1/72 of an inch) units (kA3DUnitPoint).

Inch 

Inch units (kA3DUnitInch).

Millimeter 

Millimeter units (kA3DUnitMillimeter).

Centimeter 

Centimeter units (kA3DUnitCentimeter).

Pica 

Pica (1/72 of a foot) units (kA3DUnitPicas).

Foot 

Foot units (kA3DUnitFoot).

Yard 

Yard units (kA3DUnitYard).

Meter 

Meter units (kA3DUnitMeter).

Kilometer 

Kilometer units (kA3DUnitKilometer).

Mile 

Mile units (kA3DUnitMile).

◆ UnloadMode

Enumerates the ways in which a ProductOccurrence can be unloaded.

Enumerator
ExchangeAndVisualization 

Exchange data will be unloaded for a ProductOccurrence via the A3DAsmModelFileUnloadParts and the Component objects corresponding to Exchange entities which were removed will be deleted.

ExchangeOnly 

Exchange data will be unloaded for a ProductOccurrence via the A3DAsmModelFileUnloadParts while the corresponding Component objects will be kept around. This will invalidate the entity pointers for any Component which no longer exists in the Exchange data, but still allows use of the Component APIs to interact with the components. Any such components will have a load status of LoadStatus::VisualizationOnly, and would be reimported if they or a parent product occurrence get loaded again.


The documentation for this class was generated from the following file: