Workspace 6.21.5
Public Types | Public Member Functions | List of all members
NormalShader Class Reference

A basic lambertian shader which can be attached to meshmodels.

#include <Rendering/SceneComponents/Shaders/normalshader.h>

Inheritance diagram for NormalShader:
[legend]

Public Types

enum  Mode { FrontBack , DiffToRefVector }
 

Public Member Functions

 NormalShader ()
 
 NormalShader (const NormalShader &shader)
 
 ~NormalShader () override
 
bool appliesTransparency () const override
 
NormalShaderclone () const override
 
const QColor & getBackColor () const
 
const QColor & getFrontColor () const
 
Mode getMode () const
 
Mesh::Vector3d getReferenceVector () const
 
SurfaceRepresentation getSurfaceRepresentation () const
 
NormalShaderoperator= (const NormalShader &shader)
 
void setBackColor (const QColor &color)
 
void setFrontColor (const QColor &color)
 
void setMode (Mode mode)
 
void setReferenceVector (const Mesh::Vector3d &refVec)
 
void setSurfaceRepresentation (SurfaceRepresentation r)
 
- Public Member Functions inherited from TypedShader< NormalShader >
 ~TypedShader () override=default
 
- Public Member Functions inherited from Shader
 ~Shader () override
 
bool activate (SceneRenderer &renderer)
 Activates the shader on the target WSGLRenderer in preparation for drawing an object.
 
virtual bool appliesScreenSpaceAmbientOcclusion ()
 
virtual bool appliesSpecular ()
 
virtual bool appliesTransparency () const =0
 
Shaderclone () const override=0
 
bool deactivate (SceneRenderer &renderer)
 Deactivates the shader on the target WSGLRenderer, setting it back to the state it was in before the shader was bound.
 
int getId () const
 
Mesh::MeshModelSource::MeshModelInterfaceLockedPtr getMeshModelInterface (const QString &modelId, Mesh::MeshModelLibrary &modelLib)
 
bool getModelSourceUpdateRequested () const
 
bool getOptimizeOutInternalVolumeElements () const
 
double getSegmentLineWidth () const
 
virtual TexturizergetTexturizer ()
 
virtual const TexturizergetTexturizer () const
 
bool renderCurrentModel (SceneRenderer &renderer)
 Renders the model currently being processed by the specified renderer.s.
 
bool renderCurrentModelGlyphs (SceneRenderer &renderer)
 
void setOptimizeOutInternalVolumeElements (bool val)
 
void setSegmentLineWidth (double width)
 
- Public Member Functions inherited from Clonable
virtual ~Clonable ()=default
 
virtual Clonableclone () const =0
 

Additional Inherited Members

- Static Public Member Functions inherited from TypedShader< NormalShader >
static void registerImplementation (const SceneRendererTypeId &rendererId, const ShaderImplementationFactory &factory)
 
- Protected Member Functions inherited from TypedShader< NormalShader >
 TypedShader ()
 
 TypedShader (const TypedShader &shader)
 
TypedShaderclone () const override=0
 
- Protected Member Functions inherited from Shader
 Shader ()
 
 Shader (const Shader &shader)
 
void addImplementation (const SceneRendererContext &context, ShaderImplementation &impl)
 
void setId (int id)
 

Member Enumeration Documentation

◆ Mode

enum Mode
Enumerator
FrontBack 
DiffToRefVector 

Constructor & Destructor Documentation

◆ NormalShader() [1/2]

◆ NormalShader() [2/2]

NormalShader ( const NormalShader shader)

◆ ~NormalShader()

~NormalShader ( )
overridedefault

Member Function Documentation

◆ appliesTransparency()

bool appliesTransparency ( ) const
overridevirtual

Subclasses must override this to specify whether they apply transparency to objects or not when they are enabled.

Implements Shader.

◆ clone()

NormalShader * clone ( ) const
overridevirtual
Returns
A clone of this object.
Note
Subclasses would normally return their own type rather than the Clonable type. The C++ language rules allow a more derived type to be returned from a virtual function and the compiler will still treat it as a valid override.

Implements TypedShader< NormalShader >.

◆ getBackColor()

const QColor & getBackColor ( ) const

◆ getFrontColor()

const QColor & getFrontColor ( ) const

◆ getMode()

NormalShader::Mode getMode ( ) const

◆ getReferenceVector()

Mesh::Vector3d getReferenceVector ( ) const

◆ getSurfaceRepresentation()

SurfaceRepresentation getSurfaceRepresentation ( ) const

◆ operator=()

NormalShader & operator= ( const NormalShader shader)

◆ setBackColor()

void setBackColor ( const QColor &  color)

◆ setFrontColor()

void setFrontColor ( const QColor &  color)

◆ setMode()

void setMode ( Mode  mode)

◆ setReferenceVector()

void setReferenceVector ( const Mesh::Vector3d refVec)

◆ setSurfaceRepresentation()

void setSurfaceRepresentation ( SurfaceRepresentation  r)