LegacyShader

class HPS::LegacyShader

The LegacyShader class contains objects for importing shader source files and enumerations used when defining legacy shaders in Visualize. Legacy shaders are for internal use only - customers should not use legacy shaders.

Public Types

enum Parameterization

Enumeration of the parameterization sources for legacy shaders, i.e., how to map the legacy shader to geometry.

Values:

enumerator Cylinder

Use a cylindrical mapping for the legacy shader.

enumerator PhysicalReflection

LegacyShader Parameterization.

enumerator Object

Use the (x,y,z) coordinates for the object before transforms have been applied for the legacy shader.

enumerator NaturalUV

Use the natural mapping for meshes, NURBS surfaces and shells for the legacy shader. For meshes, legacy shaders will be stretched in the range [0,1]. For NURBS surfaces, legacy shaders will be mapped in the range [0,(control point count - degree)]. For shells, legacy shaders will be mapped such that u=x+z and v=x+y where (x,y,z) is in object space.

enumerator ReflectionVector

LegacyShader Parameterization.

enumerator SurfaceNormal

LegacyShader Parameterization.

enumerator Sphere

Use a spherical mapping for the legacy shader.

enumerator UV

Use the mapping explicitly defined on the geometry for the legacy shader.

enumerator World

Use the (x, y, z) coordinates for the object after transforms have been applied for the legacy shader.

class File

The File class provides a function to import legacy shader files.

Public Static Functions

static LegacyShaderKit Import(char const *in_file_name, ImportOptionsKit const &in_options)

Performs a synchronous import of the specified legacy shader file. The function returns a LegacyShaderKit with the source code from the legacy shader file and with the specified options. May throw an IOException if a problem occurs during import.

Parameters
  • in_file_name – Name of legacy shader file from which to get the source code.

  • in_options – Options to set on the LegacyShaderKit returned by this function.

Returns

A LegacyShaderKit containing the source from the specified file and with the specified options.

class ImportOptionsKit : public HPS::Kit

The ImportOptionsKit class contains settings that will be set on the LegacyShaderKit which is returned by File::Import.

Public Functions

virtual bool Empty() const

Indicates whether this ImportOptionsKit has any values set on it.

Returns

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

bool Equals(ImportOptionsKit const &in_kit) const

Check if the source ImportOptionsKit is equivalent to this ImportOptionsKit.

Parameters

in_kit – The source ImportOptionsKit to compare to this ImportOptionsKit.

Returns

true if the objects are equivalent, false otherwise.

ImportOptionsKit()

The default constructor creates an empty ImportOptionsKit object.

ImportOptionsKit(ImportOptionsKit &&in_that)

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

Parameters

in_that – An rvalue reference to an ImportOptionsKit to take the impl from.

ImportOptionsKit(ImportOptionsKit const &in_kit)

The copy constructor creates a new ImportOptionsKit object that contains the same settings as the source ImportOptionsKit.

Parameters

in_kit – The source ImportOptionsKit to copy.

inline virtual HPS::Type ObjectType() const

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns

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

bool operator!=(ImportOptionsKit const &in_kit) const

Check if the source ImportOptionsKit is not equivalent to this ImportOptionsKit.

Parameters

in_kit – The source ImportOptionsKit to compare to this ImportOptionsKit.

Returns

true if the objects are not equivalent, false otherwise.

ImportOptionsKit &operator=(ImportOptionsKit &&in_that)

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

Parameters

in_that – An rvalue reference to an ImportOptionsKit to take the impl from.

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &operator=(ImportOptionsKit const &in_kit)

Copies the source ImportOptionsKit into this ImportOptionsKit.

Parameters

in_kit – The source ImportOptionsKit to copy.

Returns

A reference to this ImportOptionsKit.

bool operator==(ImportOptionsKit const &in_kit) const

Check if the source ImportOptionsKit is equivalent to this ImportOptionsKit.

Parameters

in_kit – The source ImportOptionsKit to compare to this ImportOptionsKit.

Returns

true if the objects are equivalent, false otherwise.

void Set(ImportOptionsKit const &in_kit)

Copies the source ImportOptionsKit into this ImportOptionsKit.

Parameters

in_kit – The source ImportOptionsKit to copy.

ImportOptionsKit &SetMultitexture(bool in_state)

Sets whether to apply diffuse textures from layers greater than <span class=’code>0 on top of the legacy shader when it is applied to geometry.

Parameters

in_state – Whether to apply diffuse textures from layers greater than 0 on top of the legacy shader when it is applied to geometry. If true, the additional textures will be applied; if false, the additional textures will not be applied.

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &SetParameterizationSource(Parameterization in_source)

Sets the parameterization source for the legacy shader.

Parameters

in_source – The parameterization source for the legacy shader.

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &SetTransformMatrix(MatrixKit const &in_transform)

Sets the transform matrix for the legacy shader.

Parameters

in_transform – The transform matrix for the legacy shader.

Returns

A reference to this ImportOptionsKit.

void Show(ImportOptionsKit &out_kit) const

Copies this ImportOptionsKit into the given ImportOptionsKit.

Parameters

out_kit – The ImportOptionsKit to populate with the contents of this ImportOptionsKit.

bool ShowMultitexture(bool &out_state) const

Shows whether to apply diffuse textures from layers greater than 0 on top of the legacy shader when it is applied to geometry.

Parameters

out_state – whether to apply diffuse textures from layers greater than 0 on top of the legacy shader when it is applied to geometry.

Returns

true if the flag is valid, false otherwise.

bool ShowParameterizationSource(Parameterization &out_source) const

Shows the parameterization source for the legacy shader.

Parameters

out_source – The parameterization source for the legacy shader.

Returns

true if the parameterization source is valid, false otherwise.

bool ShowTransformMatrix(MatrixKit &out_transform) const

Shows the transform matrix for the legacy shader.

Parameters

out_transform – The transform matrix for the legacy shader.

Returns

true if the transform is valid, false otherwise.

ImportOptionsKit &UnsetEverything()

Removes all settings from this ImportOptionsKit.

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &UnsetMultitexture()

Removes whether to apply diffuse textures from layers greater than 0 on top of the legacy shader when it is applied to geometry.

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &UnsetParameterizationSource()

Removes the parameterization source for the legacy shader.

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &UnsetTransformMatrix()

Removes the transform matrix for the legacy shader.

Returns

A reference to this ImportOptionsKit.

virtual ~ImportOptionsKit()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::LegacyShaderImportOptionsKit