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

#include <hps.h>

Inheritance diagram for HPS::EdgeAttributeControl:
Collaboration diagram for HPS::EdgeAttributeControl:

Public Member Functions

 EdgeAttributeControl (SegmentKey &in_seg)
 Initializes a control tied to the segment in_seg. More...
 
 EdgeAttributeControl (EdgeAttributeControl const &in_that)
 Initializes a control tied to the same object as in_that. More...
 
 EdgeAttributeControl (EdgeAttributeControl &&in_that)
 The move constructor creates an EdgeAttributeControl by transferring the underlying impl of the rvalue reference to this EdgeAttributeControl thereby avoiding a copy and allocation. More...
 
EdgeAttributeControloperator= (EdgeAttributeControl &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this EdgeAttributeControl thereby avoiding a copy. More...
 
 ~EdgeAttributeControl ()
 Releases a reference to the database object this control is tied to. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
HPS::Type ObjectType () const
 
EdgeAttributeControloperator= (EdgeAttributeControl const &in_that)
 Share the underlying smart-pointer of the EdgeAttributeControl source. More...
 
EdgeAttributeControlSetPattern (char const *in_pattern_name)
 Specifies the pattern of edges. More...
 
EdgeAttributeControlSetWeight (float in_weight, Edge::SizeUnits in_units=Edge::SizeUnits::ScaleFactor)
 Sets the weight of lines drawn in edge rendering. More...
 
EdgeAttributeControlSetHardAngle (float in_angle)
 Sets the angle between adjacent faces necessary for the edge between them to be considered a hard edge. More...
 
EdgeAttributeControlUnsetPattern ()
 Removes the line pattern setting for edges. More...
 
EdgeAttributeControlUnsetWeight ()
 Removes the weight setting for edges. More...
 
EdgeAttributeControlUnsetHardAngle ()
 Removes the hard edge angle setting. More...
 
EdgeAttributeControlUnsetEverything ()
 Removes all settings from this object. More...
 
bool ShowPattern (UTF8 &out_pattern_name) const
 Shows the line pattern of the edges. More...
 
bool ShowWeight (float &out_weight, Edge::SizeUnits &out_units) const
 Shows the weight of lines drawn in edge rendering. More...
 
bool ShowHardAngle (float &out_angle) const
 Shows the weight of lines drawn in edge rendering. More...
 
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

template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::EdgeAttributeControl
 

Private Member Functions

 EdgeAttributeControl ()
 Private default constructor to prevent instantiation without a segment. More...
 

Detailed Description

The HPS::EdgeAttributeControl class is a smart pointer that is tied to a database object. Using this control, you can manipulate the various attributes associated with geometry edges. Edges are present on any piece of facetted geometry.

This table lists default values for the various segment attributes accessible from HPS::EdgeAttributeControl.

Constructor & Destructor Documentation

◆ EdgeAttributeControl() [1/4]

HPS::EdgeAttributeControl::EdgeAttributeControl ( SegmentKey in_seg)
explicit

Initializes a control tied to the segment in_seg.

◆ EdgeAttributeControl() [2/4]

HPS::EdgeAttributeControl::EdgeAttributeControl ( EdgeAttributeControl const &  in_that)

Initializes a control tied to the same object as in_that.

◆ EdgeAttributeControl() [3/4]

HPS::EdgeAttributeControl::EdgeAttributeControl ( EdgeAttributeControl &&  in_that)

The move constructor creates an EdgeAttributeControl by transferring the underlying impl of the rvalue reference to this EdgeAttributeControl thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to an EdgeAttributeControl to take the impl from.

◆ ~EdgeAttributeControl()

HPS::EdgeAttributeControl::~EdgeAttributeControl ( )

Releases a reference to the database object this control is tied to.

◆ EdgeAttributeControl() [4/4]

HPS::EdgeAttributeControl::EdgeAttributeControl ( )
private

Private default constructor to prevent instantiation without a segment.

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.

◆ 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()

HPS::Type HPS::EdgeAttributeControl::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Control.

◆ operator=() [1/2]

EdgeAttributeControl& HPS::EdgeAttributeControl::operator= ( EdgeAttributeControl &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this EdgeAttributeControl thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to an EdgeAttributeControl to take the impl from.
Returns
A reference to this EdgeAttributeControl.

◆ operator=() [2/2]

EdgeAttributeControl& HPS::EdgeAttributeControl::operator= ( EdgeAttributeControl const &  in_that)

Share the underlying smart-pointer of the EdgeAttributeControl source.

Parameters
in_thatThe EdgeAttributeControl source of the assignment.
Returns
A reference to this EdgeAttributeControl.

◆ Reset()

◆ SetHardAngle()

EdgeAttributeControl& HPS::EdgeAttributeControl::SetHardAngle ( float  in_angle)

Sets the angle between adjacent faces necessary for the edge between them to be considered a hard edge.

Parameters
in_angleThe angle, in degrees, between the adjacent faces necessary for a hard edge.
Returns
A reference to this object.

◆ SetPattern()

EdgeAttributeControl& HPS::EdgeAttributeControl::SetPattern ( char const *  in_pattern_name)

Specifies the pattern of edges.

Parameters
in_patternThe name of a line pattern, defined in a portfolio that is accessible.
Returns
A reference to this object.
See also
Programming Guide: Line Patterns

◆ SetWeight()

EdgeAttributeControl& HPS::EdgeAttributeControl::SetWeight ( float  in_weight,
Edge::SizeUnits  in_units = Edge::SizeUnits::ScaleFactor 
)

Sets the weight of lines drawn in edge rendering.

Parameters
in_weightThe weight value for edges.
in_unitsThe units applied to in_weight.
Returns
A reference to this object.

◆ ShowHardAngle()

bool HPS::EdgeAttributeControl::ShowHardAngle ( float &  out_angle) const

Shows the weight of lines drawn in edge rendering.

Parameters
out_angleThe angle, in degrees, between the adjacent faces necessary for a hard edge.
Returns
true if the setting is valid, false otherwise.

◆ ShowPattern()

bool HPS::EdgeAttributeControl::ShowPattern ( UTF8 out_pattern_name) const

Shows the line pattern of the edges.

Parameters
out_patternThe name of a line pattern, defined in a portfolio that is accessible.
Returns
true if the setting is valid, false otherwise.

◆ ShowWeight()

bool HPS::EdgeAttributeControl::ShowWeight ( float &  out_weight,
Edge::SizeUnits out_units 
) const

Shows the weight of lines drawn in edge rendering.

Parameters
out_weightThe weight value for edges.
out_unitsThe units applied to in_weight.
Returns
true if the setting is valid, false otherwise.

◆ Type()

virtual HPS::Type HPS::EdgeAttributeControl::Type ( ) const
inlinevirtual

This function returns the true type of the underlying object.

This function is useful for finding the type of smart pointer objects that have been cast to more generic types.

Returns
The true type of the object in question.

Reimplemented from HPS::Control.

◆ UnsetEverything()

EdgeAttributeControl& HPS::EdgeAttributeControl::UnsetEverything ( )

Removes all settings from this object.

If the control is attached to a WindowKey this function restores the default settings of this control as specified by EdgeAttributeKit::GetDefault().

Returns
A reference to this object.

◆ UnsetHardAngle()

EdgeAttributeControl& HPS::EdgeAttributeControl::UnsetHardAngle ( )

Removes the hard edge angle setting.

If the control is attached to a WindowKey this function restores the default value of this setting as specified by EdgeAttributeKit::GetDefault().

Returns
A reference to this object.

◆ UnsetPattern()

EdgeAttributeControl& HPS::EdgeAttributeControl::UnsetPattern ( )

Removes the line pattern setting for edges.

If the control is attached to a WindowKey this function restores the default value of this setting as specified by EdgeAttributeKit::GetDefault().

Returns
A reference to this object.

◆ UnsetWeight()

EdgeAttributeControl& HPS::EdgeAttributeControl::UnsetWeight ( )

Removes the weight setting for edges.

If the control is attached to a WindowKey this function restores the default value of this setting as specified by EdgeAttributeKit::GetDefault().

Returns
A reference to this object.

Member Data Documentation

◆ staticType

const HPS::Type HPS::EdgeAttributeControl::staticType = HPS::Type::EdgeAttributeControl
static

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