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::Factory Class Reference

The Factory class is used to create and Exchange objects which inherit from HPS::Component or one of its subclasses. More...

#include <sprk_exchange.h>

Inheritance diagram for HPS::Exchange::Factory:
Collaboration diagram for HPS::Exchange::Factory:

Public Member Functions

virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
virtual HPS::Type ObjectType () const
 
virtual bool Empty () const
 Indicates whether this object has any values set on it. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

static Component CreateComponent (HPS::Component const &in_owner, HPS::Component::ComponentType in_type, A3DEntity *in_entity=nullptr)
 Creates a new Exchange::Component as a subcomponent of a given Component. More...
 
static CADModel CreateCADModel (Model const &in_model=HPS::Factory::CreateModel(), A3DAsmModelFile *in_entity=nullptr, bool in_owns_entity=false)
 Creates a new Exchange::CADModel. More...
 
static Filter CreateFilter (HPS::Component const &in_owner, A3DEntity *in_entity=nullptr)
 Creates a new Exchange::Filter as a subcomponent of a given Component. More...
 
static Capture CreateCapture (HPS::Component const &in_owner, A3DEntity *in_entity=nullptr, bool in_is_default=false)
 Creates a new Exchange::Capture as a subcomponent of a given Component. More...
 
static Sheet CreateSheet (HPS::Component const &in_owner, A3DEntity *in_entity=nullptr)
 Creates a new Exchange::Sheet as a subcomponent of a given Component. More...
 
template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::None
 This function returns the type the object, as declared. More...
 

Private Member Functions

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

Detailed Description

The Factory class is used to create and Exchange objects which inherit from HPS::Component or one of its subclasses.

Constructor & Destructor Documentation

◆ Factory()

HPS::Exchange::Factory::Factory ( )
private

Private default constructor to prevent instantiation.

Member Function Documentation

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ CreateCADModel()

static CADModel HPS::Exchange::Factory::CreateCADModel ( Model const &  in_model = HPS::Factory::CreateModel(),
A3DAsmModelFile in_entity = nullptr,
bool  in_owns_entity = false 
)
static

Creates a new Exchange::CADModel.

Parameters
in_modelThe Model associated with the newly created Exchange::CADModel.
in_entityThe Exchange entity associated with the newly created Exchange::CADModel.
in_owns_entityWhether the newly created Exchange::CADModel owns the associated A3DAsmModelFile (see the documentation for Exchange::CADModel::GetEntityOwnership for more details).

◆ CreateCapture()

static Capture HPS::Exchange::Factory::CreateCapture ( HPS::Component const &  in_owner,
A3DEntity in_entity = nullptr,
bool  in_is_default = false 
)
static

Creates a new Exchange::Capture as a subcomponent of a given Component.

Parameters
in_ownerThe HPS::Component which owns the newly created Exchange::Capture.
in_entityThe Exchange entity associated with the newly created Exchange::Capture.
in_is_defaultWhether the newly created Exchange::Capture is the default capture for the CADModel, i.e., the capture that will be activated when CADModel::ActivateDefaultCapture is invoked. Note that if one is creating a default capture, the owner must be a CADModel (or subclass thereof) and this will delete the old default capture on that CADModel if one was present.

◆ CreateComponent()

static Component HPS::Exchange::Factory::CreateComponent ( HPS::Component const &  in_owner,
HPS::Component::ComponentType  in_type,
A3DEntity in_entity = nullptr 
)
static

Creates a new Exchange::Component as a subcomponent of a given Component.

Parameters
in_ownerThe HPS::Component which owns the newly created Exchange::Component.
in_typeThe type of Exchange::Component to create.
in_entityThe Exchange entity associated with the newly created Exchange::Component.

◆ CreateFilter()

static Filter HPS::Exchange::Factory::CreateFilter ( HPS::Component const &  in_owner,
A3DEntity in_entity = nullptr 
)
static

Creates a new Exchange::Filter as a subcomponent of a given Component.

Parameters
in_ownerThe HPS::Component which owns the newly created Exchange::Filter.
in_entityThe Exchange entity associated with the newly created Exchange::Filter.

◆ CreateSheet()

static Sheet HPS::Exchange::Factory::CreateSheet ( HPS::Component const &  in_owner,
A3DEntity in_entity = nullptr 
)
static

Creates a new Exchange::Sheet as a subcomponent of a given Component.

Parameters
in_ownerThe HPS::Component which owns the newly created Exchange::Sheet.
in_entityThe Exchange entity associated with the newly created Exchange::Sheet.

◆ Empty()

virtual bool HPS::Object::Empty ( ) const
inlinevirtualinherited

Indicates whether this object has any values set on it.

Returns
true if no values are set on this object, false otherwise.

Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

Returns an identifier that can be used to identify which instance of a class an object is.

Different keys and controls will return the same value if they are backed by the same database resource.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ ObjectType()

virtual HPS::Type HPS::Object::ObjectType ( ) const
inlinevirtualinherited

Reimplemented in HPS::STL::ImportNotifier, HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ExportNotifier, HPS::OBJ::ImportNotifier, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportNotifier, HPS::Stream::ImportNotifier, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::Stream::Toolkit, HPS::PointCloud::ImportNotifier, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::IONotifier, HPS::KeyboardState, HPS::TouchState, HPS::MouseState, HPS::EventHandler, HPS::EventDispatcher, HPS::World, HPS::UpdateOptionsControl, HPS::UpdateOptionsKit, HPS::HighlightControl, HPS::HighlightSearchResults, HPS::HighlightSearchResultsIterator, HPS::HighlightState, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionControl, HPS::SelectionResults, HPS::SelectionResultsIterator, HPS::SelectionItem, HPS::SelectionOptionsControl, HPS::SelectionOptionsKit, HPS::TreeContext, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeDefinition, HPS::ShapeKit, HPS::ShaderDefinition, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::LinePatternDefinition, HPS::MaterialPaletteDefinition, HPS::NamedStyleDefinition, HPS::CubeMapDefinition, HPS::ImageDefinition, HPS::OffScreenWindowKey, HPS::OffScreenWindowOptionsControl, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::TextureDefinition, HPS::GlyphDefinition, HPS::PortfolioKey, HPS::Definition, HPS::LineShapeElement, HPS::AnchorShapeElement, HPS::LeaderLineClippingElement, HPS::CircularArcShapeElement, HPS::EllipticalArcShapeElement, HPS::CircleShapeElement, HPS::EllipseShapeElement, HPS::PolygonShapeElement, HPS::ShapeElement, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::GlyphLinePatternElement, HPS::BlankLinePatternElement, HPS::SolidLinePatternElement, HPS::LinePatternElement, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::InfiniteLineGlyphElement, HPS::CircularArcGlyphElement, HPS::SphereGlyphElement, HPS::EllipseGlyphElement, HPS::DotGlyphElement, HPS::LineGlyphElement, HPS::GlyphElement, HPS::ApplicationWindowKey, HPS::StandAloneWindowKey, HPS::ApplicationWindowOptionsControl, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsControl, HPS::StandAloneWindowOptionsKit, HPS::ReferenceKey, HPS::StyleKey, HPS::IncludeKey, HPS::GridKey, HPS::GridKit, HPS::PolygonKey, HPS::PolygonKit, HPS::MeshKey, HPS::MeshKit, HPS::ShellKey, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKey, HPS::TextKit, HPS::EllipticalArcKey, HPS::EllipticalArcKit, HPS::EllipseKey, HPS::EllipseKit, HPS::TrimKit, HPS::TrimElement, HPS::NURBSSurfaceKey, HPS::NURBSSurfaceKit, HPS::NURBSCurveKey, HPS::NURBSCurveKit, HPS::SpotlightKey, HPS::SpotlightKit, HPS::InfiniteLineKey, HPS::InfiniteLineKit, HPS::CuttingSectionKey, HPS::CuttingSectionKit, HPS::CircularWedgeKey, HPS::CircularWedgeKit, HPS::CircularArcKey, HPS::CircularArcKit, HPS::CircleKey, HPS::CircleKit, HPS::SphereKey, HPS::SphereKit, HPS::CylinderKey, HPS::CylinderKit, HPS::DistantLightKey, HPS::DistantLightKit, HPS::MarkerKey, HPS::MarkerKit, HPS::LineKey, HPS::LineKit, HPS::GeometryKey, HPS::AttributeLockControl, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoControl, HPS::WindowInfoKit, HPS::DebuggingControl, HPS::DebuggingKit, HPS::SubwindowControl, HPS::SubwindowKit, HPS::ContourLineControl, HPS::ContourLineKit, HPS::VisualEffectsControl, HPS::VisualEffectsKit, HPS::TransformMaskControl, HPS::TransformMaskKit, HPS::PostProcessEffectsControl, HPS::PostProcessEffectsKit, HPS::DrawingAttributeControl, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeControl, HPS::HiddenLineAttributeKit, HPS::PerformanceControl, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeControl, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::ConditionControl, HPS::StyleControl, HPS::PortfolioControl, HPS::MaterialMappingControl, HPS::MaterialMappingKit, HPS::TextureMatrixControl, HPS::ModellingMatrixControl, HPS::MatrixKit, HPS::CurveAttributeControl, HPS::CurveAttributeKit, HPS::EdgeAttributeControl, HPS::EdgeAttributeKit, HPS::LineAttributeControl, HPS::LineAttributeKit, HPS::TextAttributeControl, HPS::TextAttributeKit, HPS::CuttingSectionAttributeControl, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeControl, HPS::CylinderAttributeKit, HPS::LightingAttributeControl, HPS::LightingAttributeKit, HPS::SphereAttributeControl, HPS::SphereAttributeKit, HPS::MarkerAttributeControl, HPS::MarkerAttributeKit, HPS::CullingControl, HPS::CullingKit, HPS::ColorInterpolationControl, HPS::ColorInterpolationKit, HPS::TransparencyControl, HPS::TransparencyKit, HPS::SelectabilityControl, HPS::SelectabilityKit, HPS::CameraControl, HPS::CameraKit, HPS::VisibilityControl, HPS::VisibilityKit, HPS::BoundingControl, HPS::BoundingKit, HPS::KeyPath, HPS::WindowKey, HPS::DriverEventHandler, HPS::UpdateNotifier, HPS::SegmentOptimizationOptionsKit, HPS::SegmentKey, HPS::Key, HPS::ConditionalExpression, HPS::FontSearchResults, HPS::Publish::ExportOptionsKit, HPS::FontSearchResultsIterator, HPS::SearchResults, HPS::SearchResultsIterator, HPS::Publish::PageControl, HPS::EventNotifier, HPS::Publish::DocumentKey, HPS::Kit, HPS::Control, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::ComponentTreeItem, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::ComponentTree, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::SceneTreeItem, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::SceneTree, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::BooleanMetadata, HPS::TimeMetadata, HPS::Exchange::TranslationOptionsKit, HPS::StringMetadata, HPS::DoubleMetadata, HPS::UnsignedIntegerMetadata, HPS::Publish::ArtworkKit, HPS::IntegerMetadata, HPS::Metadata, HPS::CADModel, HPS::Capture, HPS::Filter, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Component, HPS::Exchange::ImportOptionsKit, HPS::AxisTriadControl, HPS::Parasolid::ExportOptionsKit, HPS::NavigationCubeControl, HPS::Exchange::NURBSConversionOptionsKit, HPS::OperatorControl, HPS::Parasolid::LineTessellationKit, HPS::Operator, HPS::Exchange::Configuration, HPS::SprocketPath, HPS::Publish::PageKit, HPS::Exchange::ReloadNotifier, HPS::Parasolid::FacetTessellationKit, HPS::Exchange::ExportNotifier, HPS::Exchange::TranslationNotifier, HPS::Publish::DocumentKit, HPS::Exchange::ImportNotifier, HPS::Layout, HPS::Parasolid::ImportOptionsKit, HPS::Model, HPS::Exchange::Filter, HPS::Parasolid::ImportNotifier, HPS::Exchange::Capture, HPS::DWG::ImportOptionsKit, HPS::Parasolid::CADModel, HPS::Exchange::CADModel, HPS::DWG::ImportNotifier, HPS::Parasolid::Component, HPS::View, HPS::Exchange::Sheet, HPS::OOC::ImportOptionsKit, HPS::DWG::Layout, HPS::SprocketKit, HPS::OOC::ImportNotifier, HPS::SprocketControl, HPS::Exchange::ProductOccurrence, HPS::Sketchup::ImportOptionsKit, HPS::DWG::CADModel, HPS::Sketchup::ImportNotifier, HPS::Exchange::Component, HPS::DWG::Layer, HPS::Canvas, HPS::DWG::Component, HPS::ExchangeParasolid::ImportNotifier, and HPS::Sketchup::ImportResultsKit.

◆ Reset()

◆ Type()

Member Data Documentation

◆ staticType

const HPS::Type HPS::Object::staticType = HPS::Type::None
staticinherited

This function returns the type the object, as declared.

This does not necessarily give the true type of the underlying object.

Returns
The declared type of the object in question, which may differ from the true, underlying type.

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