Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::Exchange Class Reference

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

#include <sprk_exchange.h>

Classes

class  CADModel
 The CADModel class is a smart pointer. More...
 
class  Capture
 The Capture class is a smart pointer. More...
 
class  CommonMeasurementOperator
 The CommonMeasurementOperator class defines an operator which contains many often used functions when inserting measurements. More...
 
class  Component
 The Component class is a smart pointer. More...
 
class  Configuration
 The Configuration class is a user space object. More...
 
class  Export3MFOptionsKit
 The HPS::Exchange::Export3MFOptionsKit class is a user space object. More...
 
class  ExportACISOptionsKit
 The HPS::Exchange::ExportACISOptionsKit class is a user space object. More...
 
class  ExportIGESOptionsKit
 The HPS::Exchange::ExportIGESOptionsKit class is a user space object. More...
 
class  ExportJTOptionsKit
 The HPS::Exchange::ExportJTOptionsKit class is a user space object. More...
 
class  ExportNotifier
 The ExportNotifier class is a smart-pointer that is tied to a file export. More...
 
class  ExportParasolidOptionsKit
 The HPS::Exchange::ExportParasolidOptionsKit class is a user space object. More...
 
class  ExportPRCOptionsKit
 The HPS::Exchange::ExportPRCOptionsKit class is a user space object. More...
 
class  ExportSTEPOptionsKit
 The HPS::Exchange::ExportSTEPOptionsKit class is a user space object. More...
 
class  ExportSTLOptionsKit
 The HPS::Exchange::ExportSTLOptionsKit class is a user space object. More...
 
class  ExportU3DOptionsKit
 The HPS::Exchange::ExportU3DOptionsKit class is a user space object. More...
 
class  ExportXMLOptionsKit
 The HPS::Exchange::ExportXMLOptionsKit class is a user space object. More...
 
class  Factory
 The Factory class is used to create and Exchange objects which inherit from HPS::Component or one of its subclasses. More...
 
class  File
 The File class provides functions to import and export CAD files via Exchange. More...
 
class  Filter
 The Filter class is a smart pointer. More...
 
class  ImportNotifier
 The ImportNotifier class is a smart-pointer that is tied to a file import. More...
 
class  ImportOptionsKit
 The HPS::Exchange::ImportOptionsKit class is a user space object. More...
 
class  JT
 The Exchange::JT class is a concept class for JT-related enums. More...
 
class  MeasurementOperator
 The MeasurementOperator class defines an operator which allows the user to insert measurements into the scene This operator requires the model be loaded using the Exchange bridge, and the model must contain B-rep. More...
 
class  ModelFileImportOptionsKit
 The HPS::Exchange::ModelFileImportOptionsKit class is a user space object. More...
 
class  NURBSConversionOptionsKit
 The HPS::Exchange::NURBSConversionOptionsKit class is a user space object. More...
 
class  PRC
 The Exchange::PRC class is a concept class for PRC-related enums. More...
 
class  ProductOccurrence
 
class  ProE
 The Exchange::ProE class is a concept class for ProE-related enums. More...
 
class  ReloadNotifier
 The ReloadNotifier class is a smart-pointer that is tied to a Component::Reload or a CADModel::Reload. More...
 
class  Sheet
 The Sheet class is a user space object. More...
 
class  STEP
 The Exchange::STEP class is a concept class for STEP-related enums. More...
 
class  Tessellation
 The Exchange::Tessellation class is a concept class for tessellation-related enums. More...
 
class  TessellationOptionsKit
 The TessellationOptionsKit class is a user space object. More...
 
class  Translation
 The Exchange::Translation class is a concept class for translation-related enums. More...
 
class  TranslationNotifier
 The TranslationNotifier class is a smart-pointer that is tied to a file translation. More...
 
class  TranslationOptionsKit
 The HPS::Exchange::TranslationOptionsKit class is a user space object. More...
 
class  U3D
 The Exchange::U3D class is a concept class for U3D-related enums. More...
 

Public Types

enum  Units {
  Units::Unknown,
  Units::Point,
  Units::Inch,
  Units::Millimeter,
  Units::Centimeter,
  Units::Pica,
  Units::Foot,
  Units::Yard,
  Units::Meter,
  Units::Kilometer,
  Units::Mile
}
 Enumerates the units for files imported via Exchange. More...
 
enum  UnloadMode {
  UnloadMode::ExchangeAndVisualization,
  UnloadMode::ExchangeOnly
}
 Enumerates the ways in which a ProductOccurrence can be unloaded. More...
 
enum  LoadStatus {
  LoadStatus::Unknown,
  LoadStatus::Loaded,
  LoadStatus::VisualizationOnly,
  LoadStatus::PartiallyLoaded,
  LoadStatus::NotLoaded
}
 Enumerates the various load statuses for a ProductOccurrence. More...
 
enum  BRepMode {
  BRepMode::TessellationOnly,
  BRepMode::BRepOnly,
  BRepMode::BRepAndTessellation
}
 Enumerates the ways in which to import BRep and tessellation data for files imported via Exchange. More...
 
enum  ImportMode {
  ImportMode::Complete,
  ImportMode::Incremental
}
 Enumerates the ways in which to perform file import via Exchange. More...
 
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
}
 Enumerates the types of surfaces supported by Exchange. More...
 
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
}
 Enumerates the types of curves supported by Exchange. More...
 
enum  AnnotationCaptureFitting {
  AnnotationCaptureFitting::PMIOnly,
  AnnotationCaptureFitting::ModelAndPMI
}
 Enumerates the type of data in the scene to use to generate cameras for annotation captures. More...
 
typedef std::vector< Configuration, HPS::Allocator< Configuration > > ConfigurationArray
 
typedef std::vector< Sheet, HPS::Allocator< Sheet > > SheetArray
 
typedef HPS::IntArray ParasolidEntityArray
 
typedef std::vector< SurfaceType, HPS::Allocator< SurfaceType > > SurfaceTypeArray
 
typedef std::vector< CurveType, HPS::Allocator< CurveType > > CurveTypeArray
 

Private Member Functions

 Exchange ()
 Private default constructor to prevent instantiation. More...
 

Detailed Description

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

Member Typedef Documentation

◆ ConfigurationArray

◆ CurveTypeArray

◆ ParasolidEntityArray

◆ SheetArray

◆ SurfaceTypeArray

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.

Constructor & Destructor Documentation

◆ Exchange()

HPS::Exchange::Exchange ( )
private

Private default constructor to prevent instantiation.


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