#include <hps.h>
Additional Inherited Members | |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
Control (Control &&in_that) | |
Control & | operator= (Control &&in_that) |
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.
|
inlinevirtual |
This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.
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. |
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::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::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. |
TransparencyControl& HPS::TransparencyControl::UnsetAlgorithm | ( | ) |
Removes the transparency algorithm setting.
TransparencyControl& HPS::TransparencyControl::UnsetDepthPeelingLayers | ( | ) |
Removes the depth peeling layers setting.
TransparencyControl& HPS::TransparencyControl::UnsetDepthPeelingMinimumArea | ( | ) |
Removes the depth peeling minimum area setting.
TransparencyControl& HPS::TransparencyControl::UnsetDepthWriting | ( | ) |
Removes the depth writing setting.
TransparencyControl& HPS::TransparencyControl::UnsetEverything | ( | ) |
Removes all settings from this object.
TransparencyControl& HPS::TransparencyControl::UnsetMethod | ( | ) |
Removes the transparency method setting.