The MaterialKit class is a user space object, useful for carrying a group of attribute settings. More...
#include <hps.h>
Public Member Functions | |
MaterialKit () | |
The default constructor creates an empty MaterialKit object. More... | |
MaterialKit (MaterialKit const &in_kit) | |
The copy constructor creates a new MaterialKit object that contains the same settings as the source. More... | |
MaterialKit (MaterialKit &&in_that) | |
The move constructor creates a MaterialKit by transferring the underlying impl of the rvalue reference to this MaterialKit thereby avoiding a copy and allocation. More... | |
MaterialKit & | operator= (MaterialKit &&in_that) |
The move assignment operator transfers the underlying impl of the rvalue reference to this MaterialKit thereby avoiding a copy. More... | |
~MaterialKit () | |
Destroy this kit. More... | |
HPS::Type | ObjectType () const |
void | Set (MaterialKit const &in_kit) |
Copies all settings from the source MaterialKit into this object. More... | |
void | Show (MaterialKit &out_kit) const |
Copies all settings from this MaterialKit into the given MaterialKit. More... | |
MaterialKit & | operator= (MaterialKit const &in_kit) |
Copies the source MaterialKit into this object. More... | |
bool | Empty () const |
Indicates whether this object has any values set on it. More... | |
bool | Equals (MaterialKit const &in_kit) const |
Check if the source MaterialKit is equivalent to this object. More... | |
bool | operator== (MaterialKit const &in_kit) const |
Check if the source MaterialKit is equivalent to this object. More... | |
bool | operator!= (MaterialKit const &in_kit) const |
Check if the source MaterialKit is not equivalent to this object. More... | |
MaterialKit & | SetDiffuse (RGBColor const &in_color) |
Applies an RGB color to the whole diffuse channel, replacing any diffuse textures or shaders. More... | |
MaterialKit & | SetDiffuse (RGBAColor const &in_color) |
Applies an RGBA color to the whole diffuse channel, replacing any diffuse textures or shaders. More... | |
MaterialKit & | SetDiffuseColor (RGBColor const &in_color) |
Applies an RGB color to the diffuse color channel. More... | |
MaterialKit & | SetDiffuseColor (RGBAColor const &in_color) |
Applies an RGBA color to the diffuse color channel. More... | |
MaterialKit & | SetDiffuseAlpha (float in_alpha) |
Applies an alpha channel the diffuse color channel. More... | |
MaterialKit & | SetDiffuseTexture (char const *in_texture_name, size_t in_layer=0) |
Applies a named texture to the specified layer of the diffuse texture channel, replacing any other textures on that layer. More... | |
MaterialKit & | SetDiffuseTexture (char const *in_texture_name, RGBAColor const &in_modulating_color, size_t in_layer=0) |
Applies a modulated named texture to the specified layer of the diffuse texture channel, replacing any other textures on that layer. More... | |
MaterialKit & | SetDiffuseTexture (UTF8Array const &in_texture_names) |
Applies named textures to each of the specified layers of the diffuse texture channel, replacing any other textures on those layers. More... | |
MaterialKit & | SetDiffuseTexture (size_t in_count, UTF8 const in_texture_names []) |
Applies named textures to each of the specified layers of the diffuse texture channel, replacing any other textures on those layers. More... | |
MaterialKit & | SetDiffuseTexture (UTF8Array const &in_texture_names, RGBAColorArray const &in_modulating_colors) |
Applies named textures, possibly modulated, to each of the specified layers of the diffuse texture channel, replacing any other textures on those layers. More... | |
MaterialKit & | SetDiffuseTexture (size_t in_count, UTF8 const in_texture_names [], RGBAColor const in_modulating_colors []) |
Applies named textures, possibly modulated, to each of the specified layers of the diffuse texture channel, replacing any other textures on those layers. More... | |
MaterialKit & | SetShader (char const *in_shader_name) |
Internal use only - customers should not use. More... | |
MaterialKit & | SetSpecular (RGBAColor const &in_rgba_color) |
Applies an RGBA color to the specular channel, replacing any other color or texture on that channel. More... | |
MaterialKit & | SetSpecular (char const *in_texture_name) |
Applies a named texture to the specular channel, replacing any other color or texture on that channel. More... | |
MaterialKit & | SetSpecular (char const *in_texture_name, RGBAColor const &in_modulating_color) |
Applies a modulated named texture to the specular channel, replacing any other color or texture on that channel. More... | |
MaterialKit & | SetMirror (RGBAColor const &in_rgba_color) |
Applies an RGBA color to the mirror channel, replacing any other color or texture on that channel. More... | |
MaterialKit & | SetMirror (char const *in_texture_name) |
Applies a named texture to the mirror channel, replacing any other color or texture on that channel. More... | |
MaterialKit & | SetMirror (char const *in_texture_name, RGBAColor const &in_modulating_color) |
Applies a modulated named texture to the mirror channel, replacing any other color or texture on that channel. More... | |
MaterialKit & | SetTransmission (char const *in_texture_name) |
Applies a named texture to the transmission channel, replacing any other color or texture on that channel. More... | |
MaterialKit & | SetTransmission (char const *in_texture_name, RGBAColor const &in_modulating_color) |
Applies a modulated named texture to the transmission channel, replacing any other color or texture on that channel. More... | |
MaterialKit & | SetEmission (RGBAColor const &in_rgba_color) |
Applies an RGBA color to the emission channel, replacing any other color or texture on that channel. More... | |
MaterialKit & | SetEmission (char const *in_texture_name) |
Applies a named texture to the emission channel, replacing any other color or texture on that channel. More... | |
MaterialKit & | SetEmission (char const *in_texture_name, RGBAColor const &in_modulating_color) |
Applies a modulated named texture to the emission channel, replacing any other color or texture on that channel. More... | |
MaterialKit & | SetEnvironmentTexture (char const *in_texture_name) |
Applies a named texture to the environment channel, replacing any other texture or cube map on that channel. More... | |
MaterialKit & | SetEnvironmentTexture (char const *in_texture_name, RGBAColor const &in_modulating_color) |
Applies a modulated named texture to the environment channel, replacing any other texture or cube map on that channel. More... | |
MaterialKit & | SetEnvironmentCubeMap (char const *in_cubemap_name) |
Applies a named cube map to the environment channel, replacing any other texture or cube map on that channel. More... | |
MaterialKit & | SetEnvironmentCubeMap (char const *in_cubemap_name, RGBAColor const &in_modulating_color) |
Applies a modulated named cube map to the environment channel, replacing any other texture or cube map on that channel. More... | |
MaterialKit & | SetEnvironmentTexture () |
Cancels any other texture or cube map on the environment channel. More... | |
MaterialKit & | SetBump (char const *in_texture_name) |
Applies a named texture to the bump channel, replacing any other texture on that channel. More... | |
MaterialKit & | SetGloss (float in_gloss) |
Gloss is a setting that helps to determine the specular response of a material. More... | |
MaterialKit & | UnsetDiffuseColorRGB () |
Removes all settings applied to the diffuse rgb channel. More... | |
MaterialKit & | UnsetDiffuseColor () |
Removes all settings applied to the diffuse color channel including alpha. More... | |
MaterialKit & | UnsetDiffuseAlpha () |
Removes all settings applied to the diffuse alpha channel. More... | |
MaterialKit & | UnsetDiffuseTexture () |
Removes all settings applied to all layers of the diffuse texture channel. More... | |
MaterialKit & | UnsetDiffuseTexture (size_t in_layer) |
Removes all settings applied to the specified layer of the diffuse texture channel. More... | |
MaterialKit & | UnsetShader () |
Internal use only - customers should not use. More... | |
MaterialKit & | UnsetSpecular () |
Removes all settings applied to the specular channel. More... | |
MaterialKit & | UnsetMirror () |
Removes all settings applied to the mirror channel. More... | |
MaterialKit & | UnsetTransmission () |
Removes all settings applied to the transmission channel. More... | |
MaterialKit & | UnsetEmission () |
Removes all settings applied to the emission channel. More... | |
MaterialKit & | UnsetEnvironment () |
Removes all settings applied to the environment channel. More... | |
MaterialKit & | UnsetBump () |
Removes all settings applied to the bump channel. More... | |
MaterialKit & | UnsetGloss () |
Removes the gloss setting applied to this material. More... | |
MaterialKit & | UnsetEverything () |
Removes all setting from this material. More... | |
bool | ShowDiffuse () const |
If the diffuse color will override textures and shaders. More... | |
bool | ShowDiffuseColor (RGBColor &out_rgb_color) const |
Retrieves RGB color set on the diffuse RGB channel. More... | |
bool | ShowDiffuseColor (RGBAColor &out_rgba_color) const |
Retrieves RGBA color set on the diffuse color channel. More... | |
bool | ShowDiffuseAlpha (float &out_alpha) const |
Retrieves alpha set on the diffuse alpha channel. More... | |
bool | ShowDiffuseTexture (Material::Type &out_type, RGBAColor &out_color, UTF8 &out_texture_name) const |
Retrieves the possibly modulated texture applied to layer 0 of the diffuse texture channel. More... | |
bool | ShowDiffuseTexture (size_t in_layer, Material::Type &out_type, RGBAColor &out_color, UTF8 &out_texture_name) const |
Retrieves the possibly modulated texture applied to the specified layer of the diffuse texture channel. More... | |
bool | ShowDiffuseTexture (MaterialTypeArray &out_types, RGBAColorArray &out_colors, UTF8Array &out_texture_names) const |
Retrieves the possibly modulated textures applied to all layers of the diffuse texture channel. More... | |
bool | ShowShader (UTF8 &out_shader_name) const |
Internal use only - customers should not use. More... | |
bool | ShowSpecular (Material::Type &out_type, RGBAColor &out_color, UTF8 &out_texture_name) const |
Retrieves the color, texture, or modulated texture applied to the specular channel. More... | |
bool | ShowMirror (Material::Type &out_type, RGBAColor &out_color, UTF8 &out_texture_name) const |
Retrieves the color, texture, or modulated texture applied to the mirror channel. More... | |
bool | ShowTransmission (Material::Type &out_type, RGBAColor &out_color, UTF8 &out_texture_name) const |
Retrieves the color, texture, or modulated texture applied to the transmission channel. More... | |
bool | ShowEmission (Material::Type &out_type, RGBAColor &out_color, UTF8 &out_texture_name) const |
Retrieves the color, texture, or modulated texture applied to the emission channel. More... | |
bool | ShowEnvironment (Material::Type &out_type, RGBAColor &out_color, UTF8 &out_texture_name) const |
Retrieves the color, texture, or modulated texture applied to the environment channel. More... | |
bool | ShowBump (UTF8 &out_texture_name) const |
Retrieves the texture applied to the bump channel. More... | |
bool | ShowGloss (float &out_gloss) const |
Retrieves the gloss of this material. More... | |
virtual HPS::Type | Type () const |
This function returns the true type of the underlying object. 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::MaterialKit |
The MaterialKit class is a user space object, useful for carrying a group of attribute settings.
A MaterialKit can be associated with various geometry or subgeometery types using a material mapping kit or control.
HPS::MaterialKit::MaterialKit | ( | ) |
The default constructor creates an empty MaterialKit object.
HPS::MaterialKit::MaterialKit | ( | MaterialKit const & | in_kit | ) |
The copy constructor creates a new MaterialKit object that contains the same settings as the source.
in_kit | The source MaterialKit to copy. |
HPS::MaterialKit::MaterialKit | ( | MaterialKit && | in_that | ) |
The move constructor creates a MaterialKit by transferring the underlying impl of the rvalue reference to this MaterialKit thereby avoiding a copy and allocation.
in_that | An rvalue reference to a MaterialKit to take the impl from. |
HPS::MaterialKit::~MaterialKit | ( | ) |
Destroy this kit.
|
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.
|
virtual |
Indicates whether this object has any values set on it.
Reimplemented from HPS::Object.
bool HPS::MaterialKit::Equals | ( | MaterialKit const & | in_kit | ) | const |
Check if the source MaterialKit is equivalent to this object.
in_kit | The source MaterialKit to compare to this object. |
|
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 |
bool HPS::MaterialKit::operator!= | ( | MaterialKit const & | in_kit | ) | const |
Check if the source MaterialKit is not equivalent to this object.
in_kit | The source MaterialKit to compare to this object. |
MaterialKit& HPS::MaterialKit::operator= | ( | MaterialKit && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this MaterialKit thereby avoiding a copy.
in_that | An rvalue reference to a MaterialKit to take the impl from. |
MaterialKit& HPS::MaterialKit::operator= | ( | MaterialKit const & | in_kit | ) |
Copies the source MaterialKit into this object.
in_kit | The source MaterialKit to copy. |
bool HPS::MaterialKit::operator== | ( | MaterialKit const & | in_kit | ) | const |
Check if the source MaterialKit is equivalent to this object.
in_kit | The source MaterialKit to compare to this object. |
|
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.
void HPS::MaterialKit::Set | ( | MaterialKit const & | in_kit | ) |
Copies all settings from the source MaterialKit into this object.
in_kit | The source MaterialKit to copy. |
MaterialKit& HPS::MaterialKit::SetBump | ( | char const * | in_texture_name | ) |
Applies a named texture to the bump channel, replacing any other texture on that channel.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. |
MaterialKit& HPS::MaterialKit::SetDiffuse | ( | RGBColor const & | in_color | ) |
Applies an RGB color to the whole diffuse channel, replacing any diffuse textures or shaders.
in_color | The color to be applied. |
MaterialKit& HPS::MaterialKit::SetDiffuse | ( | RGBAColor const & | in_color | ) |
Applies an RGBA color to the whole diffuse channel, replacing any diffuse textures or shaders.
in_color | The color to be applied. |
MaterialKit& HPS::MaterialKit::SetDiffuseAlpha | ( | float | in_alpha | ) |
Applies an alpha channel the diffuse color channel.
Only one diffuse color may be set at a time but it can coexist with diffuse textures if they have transparency. If diffuse color has not been set, white will be set as a default value in the diffuse color channel with a transparent value of in_alpha.
in_alpha | The alpha to be applied. |
MaterialKit& HPS::MaterialKit::SetDiffuseColor | ( | RGBColor const & | in_color | ) |
Applies an RGB color to the diffuse color channel.
Only one diffuse color may be set at a time but it can coexist with diffuse textures if they have transparency.
in_color | The color to be applied. |
MaterialKit& HPS::MaterialKit::SetDiffuseColor | ( | RGBAColor const & | in_color | ) |
Applies an RGBA color to the diffuse color channel.
Only one diffuse color may be set at a time but it can coexist with diffuse textures if they have transparency.
in_color | The color to be applied. |
MaterialKit& HPS::MaterialKit::SetDiffuseTexture | ( | char const * | in_texture_name, |
size_t | in_layer = 0 |
||
) |
Applies a named texture to the specified layer of the diffuse texture channel, replacing any other textures on that layer.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. There are two special values that can be passed in here. A null pointer removes the texture name from that layer, allowing the texture on that layer to be inherited from above in the tree. Passing an empty string, "", removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank. |
in_layer | The layer to apply the texture to. Higher numbered layers are applied on top of lower numbered ones. |
MaterialKit& HPS::MaterialKit::SetDiffuseTexture | ( | char const * | in_texture_name, |
RGBAColor const & | in_modulating_color, | ||
size_t | in_layer = 0 |
||
) |
Applies a modulated named texture to the specified layer of the diffuse texture channel, replacing any other textures on that layer.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. There are two special values that can be passed in here. A null pointer removes the texture name from that layer, allowing the texture on that layer to be inherited from above in the tree. Passing an empty string, "", removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank. |
in_modulating_color | A color that will be applied as a filter to the texture. |
in_layer | The layer to apply the texture to. Higher numbered layers are applied on top of lower numbered ones. |
MaterialKit& HPS::MaterialKit::SetDiffuseTexture | ( | UTF8Array const & | in_texture_names | ) |
Applies named textures to each of the specified layers of the diffuse texture channel, replacing any other textures on those layers.
in_texture_names | The names of textures, one per layer. Uninitialized strings are ignored. An empty string, "", removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank. |
MaterialKit& HPS::MaterialKit::SetDiffuseTexture | ( | size_t | in_count, |
UTF8 const | in_texture_names[] | ||
) |
Applies named textures to each of the specified layers of the diffuse texture channel, replacing any other textures on those layers.
in_count | the number of elements in the array of names. |
in_texture_names | The names of textures, one per layer. Uninitialized strings are ignored. An empty string, "", removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank. |
MaterialKit& HPS::MaterialKit::SetDiffuseTexture | ( | UTF8Array const & | in_texture_names, |
RGBAColorArray const & | in_modulating_colors | ||
) |
Applies named textures, possibly modulated, to each of the specified layers of the diffuse texture channel, replacing any other textures on those layers.
in_texture_names | The names of textures, one per layer. Uninitialized strings are ignored. An empty string, "", removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank. |
in_modulating_colors | An array of modulating colors to be applied to the corresponding layer. If a color in the this array is uninitialized, the texture on that layer will be unmodulated. |
MaterialKit& HPS::MaterialKit::SetDiffuseTexture | ( | size_t | in_count, |
UTF8 const | in_texture_names[], | ||
RGBAColor const | in_modulating_colors[] | ||
) |
Applies named textures, possibly modulated, to each of the specified layers of the diffuse texture channel, replacing any other textures on those layers.
in_count | the number of elements in the both arrays. |
in_texture_names | The names of textures, one per layer. Uninitialized strings are ignored. An empty string, "", removes the texture from that layer but indicates that no texture should be inherited from above, an explicit blank. |
in_modulating_colors | An array of modulating colors to be applied to the corresponding layer. If a color in the this array is uninitialized, the texture on that layer will be unmodulated. |
MaterialKit& HPS::MaterialKit::SetEmission | ( | RGBAColor const & | in_rgba_color | ) |
Applies an RGBA color to the emission channel, replacing any other color or texture on that channel.
in_rgba_color | The color to be applied. |
MaterialKit& HPS::MaterialKit::SetEmission | ( | char const * | in_texture_name | ) |
Applies a named texture to the emission channel, replacing any other color or texture on that channel.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. |
MaterialKit& HPS::MaterialKit::SetEmission | ( | char const * | in_texture_name, |
RGBAColor const & | in_modulating_color | ||
) |
Applies a modulated named texture to the emission channel, replacing any other color or texture on that channel.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. |
in_modulating_color | A color that will be applied as a filter to the texture. |
MaterialKit& HPS::MaterialKit::SetEnvironmentCubeMap | ( | char const * | in_cubemap_name | ) |
Applies a named cube map to the environment channel, replacing any other texture or cube map on that channel.
in_cubemap_name | The name of a texture, defined in a portfolio that is accessible. |
MaterialKit& HPS::MaterialKit::SetEnvironmentCubeMap | ( | char const * | in_cubemap_name, |
RGBAColor const & | in_modulating_color | ||
) |
Applies a modulated named cube map to the environment channel, replacing any other texture or cube map on that channel.
in_cubemap_name | The name of a texture, defined in a portfolio that is accessible. |
in_modulating_color | A color that will be applied as a filter to the cube map. |
MaterialKit& HPS::MaterialKit::SetEnvironmentTexture | ( | char const * | in_texture_name | ) |
Applies a named texture to the environment channel, replacing any other texture or cube map on that channel.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. |
MaterialKit& HPS::MaterialKit::SetEnvironmentTexture | ( | char const * | in_texture_name, |
RGBAColor const & | in_modulating_color | ||
) |
Applies a modulated named texture to the environment channel, replacing any other texture or cube map on that channel.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. |
in_modulating_color | A color that will be applied as a filter to the texture. |
MaterialKit& HPS::MaterialKit::SetEnvironmentTexture | ( | ) |
Cancels any other texture or cube map on the environment channel.
MaterialKit& HPS::MaterialKit::SetGloss | ( | float | in_gloss | ) |
Gloss is a setting that helps to determine the specular response of a material.
It is a single floating point value that describes the "focus" of specular reflections off a surface. The gloss value changes the area of the "glare" off a surface. A high gloss value gives a small, focused glare; a low gloss value results in a less polished, more scattered reflection.
in_gloss | Gloss is always positive, and most surfaces have a gloss in the range of 1.0 to 30.0. |
MaterialKit& HPS::MaterialKit::SetMirror | ( | RGBAColor const & | in_rgba_color | ) |
Applies an RGBA color to the mirror channel, replacing any other color or texture on that channel.
in_rgba_color | The color to be applied. |
MaterialKit& HPS::MaterialKit::SetMirror | ( | char const * | in_texture_name | ) |
Applies a named texture to the mirror channel, replacing any other color or texture on that channel.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. |
MaterialKit& HPS::MaterialKit::SetMirror | ( | char const * | in_texture_name, |
RGBAColor const & | in_modulating_color | ||
) |
Applies a modulated named texture to the mirror channel, replacing any other color or texture on that channel.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. |
in_modulating_color | A color that will be applied as a filter to the texture. |
MaterialKit& HPS::MaterialKit::SetShader | ( | char const * | in_shader_name | ) |
Internal use only - customers should not use.
Applies a shader which replaces the diffuse texture at layer 0. It may also replace all diffuse textures depending on the multitexture setting of the shader.
in_shader_name | The name of a shader, defined in a portfolio that is accessible. |
MaterialKit& HPS::MaterialKit::SetSpecular | ( | RGBAColor const & | in_rgba_color | ) |
Applies an RGBA color to the specular channel, replacing any other color or texture on that channel.
in_rgba_color | The color to be applied. |
MaterialKit& HPS::MaterialKit::SetSpecular | ( | char const * | in_texture_name | ) |
Applies a named texture to the specular channel, replacing any other color or texture on that channel.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. |
MaterialKit& HPS::MaterialKit::SetSpecular | ( | char const * | in_texture_name, |
RGBAColor const & | in_modulating_color | ||
) |
Applies a modulated named texture to the specular channel, replacing any other color or texture on that channel.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. |
in_modulating_color | A color that will be applied as a filter to the texture. |
MaterialKit& HPS::MaterialKit::SetTransmission | ( | char const * | in_texture_name | ) |
Applies a named texture to the transmission channel, replacing any other color or texture on that channel.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. |
MaterialKit& HPS::MaterialKit::SetTransmission | ( | char const * | in_texture_name, |
RGBAColor const & | in_modulating_color | ||
) |
Applies a modulated named texture to the transmission channel, replacing any other color or texture on that channel.
in_texture_name | The name of a texture, defined in a portfolio that is accessible. |
in_modulating_color | A color that will be applied as a filter to the texture. |
void HPS::MaterialKit::Show | ( | MaterialKit & | out_kit | ) | const |
Copies all settings from this MaterialKit into the given MaterialKit.
out_kit | The MaterialKit to populate with the contents of this object. |
bool HPS::MaterialKit::ShowBump | ( | UTF8 & | out_texture_name | ) | const |
Retrieves the texture applied to the bump channel.
out_texture_name | The name of a texture applied to this channel. |
bool HPS::MaterialKit::ShowDiffuse | ( | ) | const |
If the diffuse color will override textures and shaders.
bool HPS::MaterialKit::ShowDiffuseAlpha | ( | float & | out_alpha | ) | const |
Retrieves alpha set on the diffuse alpha channel.
out_alpha | The color set on the diffuse alpha channel. |
bool HPS::MaterialKit::ShowDiffuseColor | ( | RGBColor & | out_rgb_color | ) | const |
Retrieves RGB color set on the diffuse RGB channel.
out_rgb_color | The RGB color set on the diffuse RGB channel. |
bool HPS::MaterialKit::ShowDiffuseColor | ( | RGBAColor & | out_rgba_color | ) | const |
Retrieves RGBA color set on the diffuse color channel.
out_rgba_color | The RGBA color set on the diffuse color channel. |
bool HPS::MaterialKit::ShowDiffuseTexture | ( | Material::Type & | out_type, |
RGBAColor & | out_color, | ||
UTF8 & | out_texture_name | ||
) | const |
Retrieves the possibly modulated texture applied to layer 0 of the diffuse texture channel.
out_type | Indicates which of the following arguments is valid. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid. |
out_color | A modulating color applied as a filter to the named texture, only valid if out_type is ModulatedTexture. |
out_texture_name | The name of a texture applied to this channel. |
bool HPS::MaterialKit::ShowDiffuseTexture | ( | size_t | in_layer, |
Material::Type & | out_type, | ||
RGBAColor & | out_color, | ||
UTF8 & | out_texture_name | ||
) | const |
Retrieves the possibly modulated texture applied to the specified layer of the diffuse texture channel.
in_layer | The layer number to query for a texture. |
out_type | Indicates which of the following arguments is valid. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid. |
out_color | A modulating color applied as a filter to the named texture, only valid if out_type is ModulatedTexture. |
out_texture_name | The name of a texture applied to this channel. |
bool HPS::MaterialKit::ShowDiffuseTexture | ( | MaterialTypeArray & | out_types, |
RGBAColorArray & | out_colors, | ||
UTF8Array & | out_texture_names | ||
) | const |
Retrieves the possibly modulated textures applied to all layers of the diffuse texture channel.
out_types | An array of types indicating which of the following arguments is valid for each layer. If a type is TextureName, only the texture name is valid, the color should be ignored. If a type is ModulatedTexture, both the texture name and the modulating color are valid. If a type is Nothing, there is no texture applied to that layer |
out_colors | An array of modulating colors applied as filters to the named textures, each entry is only valid if the corresponding entry in out_types is ModulatedTexture. |
out_texture_names | An array of names of a textures applied to this channel, indexed by layer. |
bool HPS::MaterialKit::ShowEmission | ( | Material::Type & | out_type, |
RGBAColor & | out_color, | ||
UTF8 & | out_texture_name | ||
) | const |
Retrieves the color, texture, or modulated texture applied to the emission channel.
out_type | Indicates which of the following arguments is valid. If the type is RGBAColor, only out_color is valid, the texture name should be ignored. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid. |
out_color | A color used either for the entire channel or to modulate a texture on this channel. See out_type to determine if this color is valid. |
out_texture_name | The name of a possibly modulated texture applied to this channel. See out_type to determine if this texture name is valid. |
bool HPS::MaterialKit::ShowEnvironment | ( | Material::Type & | out_type, |
RGBAColor & | out_color, | ||
UTF8 & | out_texture_name | ||
) | const |
Retrieves the color, texture, or modulated texture applied to the environment channel.
out_type | Indicates which of the following arguments is valid. If the type is RGBAColor, only out_color is valid, the texture name should be ignored. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid. |
out_color | A color used either for the entire channel or to modulate a texture on this channel. See out_type to determine if this color is valid. |
out_texture_name | The name of a possibly modulated texture applied to this channel. See out_type to determine if this texture name is valid. |
bool HPS::MaterialKit::ShowGloss | ( | float & | out_gloss | ) | const |
Retrieves the gloss of this material.
Gloss is a single floating point value that describes the "focus" of specular reflections off a surface.
out_gloss | The gloss value of this material. Gloss is always positive, and most surfaces have a gloss in the range of 1.0 to 30.0. |
bool HPS::MaterialKit::ShowMirror | ( | Material::Type & | out_type, |
RGBAColor & | out_color, | ||
UTF8 & | out_texture_name | ||
) | const |
Retrieves the color, texture, or modulated texture applied to the mirror channel.
out_type | Indicates which of the following arguments is valid. If the type is RGBAColor, only out_color is valid, the texture name should be ignored. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid. |
out_color | A color used either for the entire channel or to modulate a texture on this channel. See out_type to determine if this color is valid. |
out_texture_name | The name of a possibly modulated texture applied to this channel. See out_type to determine if this texture name is valid. |
bool HPS::MaterialKit::ShowShader | ( | UTF8 & | out_shader_name | ) | const |
Internal use only - customers should not use.
Retrieves the shader applied to this material
out_shader_name | The name of a shader applied to this material. |
bool HPS::MaterialKit::ShowSpecular | ( | Material::Type & | out_type, |
RGBAColor & | out_color, | ||
UTF8 & | out_texture_name | ||
) | const |
Retrieves the color, texture, or modulated texture applied to the specular channel.
out_type | Indicates which of the following arguments is valid. If the type is RGBAColor, only out_color is valid, the texture name should be ignored. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid. |
out_color | A color used either for the entire channel or to modulate a texture on this channel. See out_type to determine if this color is valid. |
out_texture_name | The name of a possibly modulated texture applied to this channel. See out_type to determine if this texture name is valid. |
bool HPS::MaterialKit::ShowTransmission | ( | Material::Type & | out_type, |
RGBAColor & | out_color, | ||
UTF8 & | out_texture_name | ||
) | const |
Retrieves the color, texture, or modulated texture applied to the transmission channel.
out_type | Indicates which of the following arguments is valid. If the type is RGBAColor, only out_color is valid, the texture name should be ignored. If the type is TextureName, only the texture name is valid, the color should be ignored. If the type is ModulatedTexture, both the texture name and the modulating color are valid. |
out_color | A color used either for the entire channel or to modulate a texture on this channel. See out_type to determine if this color is valid. |
out_texture_name | The name of a possibly modulated texture applied to this channel. See out_type to determine if this texture name is valid. |
|
inlinevirtualinherited |
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::Object.
MaterialKit& HPS::MaterialKit::UnsetBump | ( | ) |
Removes all settings applied to the bump channel.
MaterialKit& HPS::MaterialKit::UnsetDiffuseAlpha | ( | ) |
Removes all settings applied to the diffuse alpha channel.
MaterialKit& HPS::MaterialKit::UnsetDiffuseColor | ( | ) |
Removes all settings applied to the diffuse color channel including alpha.
MaterialKit& HPS::MaterialKit::UnsetDiffuseColorRGB | ( | ) |
Removes all settings applied to the diffuse rgb channel.
MaterialKit& HPS::MaterialKit::UnsetDiffuseTexture | ( | ) |
Removes all settings applied to all layers of the diffuse texture channel.
MaterialKit& HPS::MaterialKit::UnsetDiffuseTexture | ( | size_t | in_layer | ) |
Removes all settings applied to the specified layer of the diffuse texture channel.
in_layer | The layer to remove the setting from. |
MaterialKit& HPS::MaterialKit::UnsetEmission | ( | ) |
Removes all settings applied to the emission channel.
MaterialKit& HPS::MaterialKit::UnsetEnvironment | ( | ) |
Removes all settings applied to the environment channel.
MaterialKit& HPS::MaterialKit::UnsetEverything | ( | ) |
Removes all setting from this material.
MaterialKit& HPS::MaterialKit::UnsetGloss | ( | ) |
Removes the gloss setting applied to this material.
MaterialKit& HPS::MaterialKit::UnsetMirror | ( | ) |
Removes all settings applied to the mirror channel.
MaterialKit& HPS::MaterialKit::UnsetShader | ( | ) |
Internal use only - customers should not use.
Removes any shader applied to this material.
MaterialKit& HPS::MaterialKit::UnsetSpecular | ( | ) |
Removes all settings applied to the specular channel.
MaterialKit& HPS::MaterialKit::UnsetTransmission | ( | ) |
Removes all settings applied to the transmission channel.
|
static |