The HPS::TransparencyControl class is a smart pointer that is tied to a database object. More...
#include <hps.h>
Public Member Functions | |
TransparencyControl (SegmentKey &in_seg) | |
Initializes a control tied to the segment in_seg. More... | |
TransparencyControl (TransparencyControl const &in_that) | |
Initializes a control tied to the same object as in_that. More... | |
TransparencyControl (TransparencyControl &&in_that) | |
The move constructor creates a TransparencyControl by transferring the underlying impl of the rvalue reference to this TransparencyControl thereby avoiding a copy and allocation. More... | |
TransparencyControl & | operator= (TransparencyControl &&in_that) |
The move assignment operator transfers the underlying impl of the rvalue reference to this TransparencyControl thereby avoiding a copy. More... | |
~TransparencyControl () | |
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 |
TransparencyControl & | operator= (TransparencyControl const &in_that) |
Share the underlying smart-pointer of the TransparencyControl source. More... | |
TransparencyControl & | SetMethod (Transparency::Method in_style) |
Sets the method to use when blending transparent geometry. More... | |
TransparencyControl & | SetAlgorithm (Transparency::Algorithm in_algorithm) |
Sets the algorithm to use when calculating transparency. More... | |
TransparencyControl & | SetDepthPeelingLayers (unsigned int in_layers) |
Sets the number of layers to use when performing depth peeling. More... | |
TransparencyControl & | SetDepthPeelingMinimumArea (float in_area, Transparency::AreaUnits in_units) |
Sets the amount of the screen a layer needs to occupy in order to process another layer when performing depth peeling. More... | |
TransparencyControl & | SetDepthWriting (bool in_state) |
Controls whether transparent geometry should write into the Z-buffer. More... | |
TransparencyControl & | SetDepthPeelingPreference (Transparency::Preference in_preference) |
Specifies whether quality or performance should be favored when performing depth peeling. More... | |
TransparencyControl & | UnsetMethod () |
Removes the transparency method setting. More... | |
TransparencyControl & | UnsetAlgorithm () |
Removes the transparency algorithm setting. More... | |
TransparencyControl & | UnsetDepthPeelingLayers () |
Removes the depth peeling layers setting. More... | |
TransparencyControl & | UnsetDepthPeelingMinimumArea () |
Removes the depth peeling minimum area setting. More... | |
TransparencyControl & | UnsetDepthWriting () |
Removes the depth writing setting. More... | |
TransparencyControl & | UnsetDepthPeelingPreference () |
Removes the depth peeling preference setting. More... | |
TransparencyControl & | UnsetEverything () |
Removes all settings from this object. More... | |
bool | ShowMethod (Transparency::Method &out_style) const |
Shows the method to use when blending transparent geometry. More... | |
bool | ShowAlgorithm (Transparency::Algorithm &out_algorithm) const |
Shows the algorithm to use when calculating transparency. More... | |
bool | ShowDepthPeelingLayers (unsigned int &out_layers) const |
Shows the number of layers to use when performing depth peeling. More... | |
bool | ShowDepthPeelingMinimumArea (float &out_area, Transparency::AreaUnits &out_units) const |
Shows the amount of the screen a layer needs to occupy in order to process another layer when performing depth peeling. More... | |
bool | ShowDepthWriting (bool &out_state) const |
Shows whether transparent geometry should write into the Z-buffer. More... | |
bool | ShowDepthPeelingPreference (Transparency::Preference &out_preference) const |
Shows the depth peeling preference. 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::TransparencyControl |
Private Member Functions | |
TransparencyControl () | |
Private default constructor to prevent instantiation without a segment. More... | |
The HPS::TransparencyControl class is a smart pointer that is tied to a database object.
This object allows you to set and unset the algorithms used for calculating transparency. Some algorithms, such as depth peeling, have additional attributes, and those are also controlled using this class.
Default values for the various fields of HPS::TransparencyControl can be found here.
|
explicit |
Initializes a control tied to the segment in_seg.
HPS::TransparencyControl::TransparencyControl | ( | TransparencyControl const & | in_that | ) |
Initializes a control tied to the same object as in_that.
HPS::TransparencyControl::TransparencyControl | ( | TransparencyControl && | in_that | ) |
The move constructor creates a TransparencyControl by transferring the underlying impl of the rvalue reference to this TransparencyControl thereby avoiding a copy and allocation.
in_that | An rvalue reference to a TransparencyControl to take the impl from. |
HPS::TransparencyControl::~TransparencyControl | ( | ) |
Releases a reference to the database object this control is tied to.
|
private |
Private default constructor to prevent instantiation without a segment.
|
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.
|
inlinevirtualinherited |
Indicates whether this object has any values set on it.
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.
|
inherited |
Returns a unique identifier that is shared by all objects of the same class.
|
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.
|
inherited |
|
inlinevirtual |
Reimplemented from HPS::Control.
TransparencyControl& HPS::TransparencyControl::operator= | ( | TransparencyControl && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this TransparencyControl thereby avoiding a copy.
in_that | An rvalue reference to a TransparencyControl to take the impl from. |
TransparencyControl& HPS::TransparencyControl::operator= | ( | TransparencyControl const & | in_that | ) |
Share the underlying smart-pointer of the TransparencyControl source.
in_that | The TransparencyControl source of the assignment. |
|
virtualinherited |
Resets this object to its initial, uninitialized state.
Reimplemented in HPS::EventHandler, HPS::EventDispatcher, HPS::World, HPS::HighlightSearchResults, HPS::HighlightSearchResultsIterator, HPS::SelectionResults, HPS::SelectionResultsIterator, HPS::FontSearchResults, HPS::FontSearchResultsIterator, HPS::SearchResults, and HPS::SearchResultsIterator.
TransparencyControl& HPS::TransparencyControl::SetAlgorithm | ( | Transparency::Algorithm | in_algorithm | ) |
Sets the algorithm to use when calculating transparency.
in_algorithm | The algorithm to use. |
TransparencyControl& HPS::TransparencyControl::SetDepthPeelingLayers | ( | unsigned int | in_layers | ) |
Sets the number of layers to use when performing depth peeling.
Ignored in other transparency methods.
in_layers | The number of layers to use when performing depth peeling. |
TransparencyControl& HPS::TransparencyControl::SetDepthPeelingMinimumArea | ( | float | in_area, |
Transparency::AreaUnits | in_units | ||
) |
Sets the amount of the screen a layer needs to occupy in order to process another layer when performing depth peeling.
Ignored in other transparency methods.
in_area | The amount of the screen a layer needs to occupy in order to process another layer. |
in_units | The units of the minimum area. |
TransparencyControl& HPS::TransparencyControl::SetDepthPeelingPreference | ( | Transparency::Preference | in_preference | ) |
Specifies whether quality or performance should be favored when performing depth peeling.
Ignored in other transparency methods.
in_perference | The desired preference setting. |
TransparencyControl& HPS::TransparencyControl::SetDepthWriting | ( | bool | in_state | ) |
Controls whether transparent geometry should write into the Z-buffer.
Applies only when the transparency algorithm is NoSorting, ZSortNicest, or ZSortFastest.
in_state | Whether transparent geometry should write into the Z-buffer. |
TransparencyControl& HPS::TransparencyControl::SetMethod | ( | Transparency::Method | in_style | ) |
Sets the method to use when blending transparent geometry.
in_style | The method to use when blending transparent geometry. |
bool HPS::TransparencyControl::ShowAlgorithm | ( | Transparency::Algorithm & | out_algorithm | ) | const |
Shows the algorithm to use when calculating transparency.
out_algorithm | The algorithm to use. |
bool HPS::TransparencyControl::ShowDepthPeelingLayers | ( | unsigned int & | out_layers | ) | const |
Shows the number of layers to use when performing depth peeling.
out_layers | The number of layers to use when performing depth peeling. |
bool HPS::TransparencyControl::ShowDepthPeelingMinimumArea | ( | float & | out_area, |
Transparency::AreaUnits & | out_units | ||
) | const |
Shows the amount of the screen a layer needs to occupy in order to process another layer when performing depth peeling.
out_area | The amount of the screen a layer needs to occupy in order to process another layer. |
out_units | The units of the minimum area. |
bool HPS::TransparencyControl::ShowDepthPeelingPreference | ( | Transparency::Preference & | out_preference | ) | const |
Shows the depth peeling preference.
out_preference | Whether quality of performance should be favored when performing depth peeling. |
bool HPS::TransparencyControl::ShowDepthWriting | ( | bool & | out_state | ) | const |
Shows whether transparent geometry should write into the Z-buffer.
out_state | Whether transparent geometry should write into the Z-buffer. |
bool HPS::TransparencyControl::ShowMethod | ( | Transparency::Method & | out_style | ) | const |
Shows the method to use when blending transparent geometry.
out_style | The method to use when blending transparent geometry. |
|
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.
Reimplemented from HPS::Control.
TransparencyControl& HPS::TransparencyControl::UnsetAlgorithm | ( | ) |
Removes the transparency algorithm setting.
If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit::GetDefault().
TransparencyControl& HPS::TransparencyControl::UnsetDepthPeelingLayers | ( | ) |
Removes the depth peeling layers setting.
If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit::GetDefault().
TransparencyControl& HPS::TransparencyControl::UnsetDepthPeelingMinimumArea | ( | ) |
Removes the depth peeling minimum area setting.
If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit::GetDefault().
TransparencyControl& HPS::TransparencyControl::UnsetDepthPeelingPreference | ( | ) |
Removes the depth peeling preference setting.
If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit::GetDefault().
TransparencyControl& HPS::TransparencyControl::UnsetDepthWriting | ( | ) |
Removes the depth writing setting.
If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit::GetDefault().
TransparencyControl& HPS::TransparencyControl::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 TransparencyKit::GetDefault().
TransparencyControl& HPS::TransparencyControl::UnsetMethod | ( | ) |
Removes the transparency method setting.
If the control is attached to a WindowKey this function restores the default value of this setting as specified by TransparencyKit::GetDefault().
|
static |