Simplygon C++ API  8.3.35800.0
SimplygonSDK::INormalCaster Class Referenceabstract

#include <SimplygonSDK.h>

Inheritance diagram for SimplygonSDK::INormalCaster:
SimplygonSDK::IMaterialCaster SimplygonSDK::IProcessingObject SimplygonSDK::IObject

Public Member Functions

virtual const char * GetClass ()
 
virtual bool GetFlipBackfacingNormals ()=0
 
virtual bool GetFlipGreen ()=0
 
virtual bool GetGenerateTangentSpaceNormals ()=0
 
virtual CountedPointer< INormalCasterSettingsGetNormalCasterSettings ()=0
 
virtual rstring GetNormalsChannel ()=0
 
virtual bool IsA (const char *type) const
 
virtual void SetFlipBackfacingNormals (bool FlipBackfacingNormals)=0
 
virtual void SetFlipGreen (bool FlipGreen)=0
 
virtual void SetGenerateTangentSpaceNormals (bool GenerateTangentSpaceNormals)=0
 
virtual void SetNormalsChannel (const char *NormalsChannel)=0
 
- Public Member Functions inherited from SimplygonSDK::IMaterialCaster
virtual SGDEPRECATED void CastMaterials ()=0
 
virtual CountedPointer< IMaterialCasterSettingsGetCasterSettings ()=0
 
virtual rid GetDestMaterialId ()=0
 
virtual unsigned int GetDilation ()=0
 
virtual unsigned int GetDitherType ()=0
 
virtual unsigned int GetFillMode ()=0
 
virtual CountedPointer< IMappingImageGetMappingImage ()=0
 
virtual unsigned int GetOutputChannelBitDepth ()=0
 
virtual unsigned int GetOutputChannels ()=0
 
virtual rstring GetOutputFilePath ()=0
 
virtual CountedPointer< IImageDataGetOutputImage ()=0
 
virtual CountedPointer< IMaterialTableGetSourceMaterials ()=0
 
virtual CountedPointer< ITextureTableGetSourceTextures ()=0
 
virtual bool GetUseMultisampling ()=0
 
virtual void SetDestMaterialId (rid value)=0
 
virtual void SetDilation (unsigned int Dilation)=0
 
virtual void SetDitherType (unsigned int DitherType)=0
 
virtual void SetFillMode (unsigned int FillMode)=0
 
virtual void SetMappingImage (IMappingImage *value)=0
 
virtual void SetOutputChannelBitDepth (unsigned int OutputChannelBitDepth)=0
 
virtual void SetOutputChannels (unsigned int OutputChannels)=0
 
virtual void SetOutputFilePath (const char *value)=0
 
virtual void SetOutputImage (IImageData *value)=0
 
virtual void SetSourceMaterials (IMaterialTable *value)=0
 
virtual void SetSourceTextures (ITextureTable *value)=0
 
virtual void SetUseMultisampling (bool UseMultisampling)=0
 
- Public Member Functions inherited from SimplygonSDK::IProcessingObject
virtual void Clear ()=0
 
virtual real GetPercentDone ()=0
 
virtual void RunProcessing ()=0
 
- Public Member Functions inherited from SimplygonSDK::IObject
virtual rid AddObserver (robserver *Observer, rid EventId)=0
 
virtual void AddRef ()=0
 
virtual rstring GetName ()=0
 
virtual void * GetUserComponentArea (rid userid)=0
 
virtual void PrintInfo ()=0
 
virtual void Release ()=0
 
virtual void RemoveObserver (rid ObserverId)=0
 
virtual void SetName (const char *Name)=0
 

Static Public Member Functions

static bool IsClassA (const char *type)
 
static INormalCasterSafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::IMaterialCaster
static bool IsClassA (const char *type)
 
static IMaterialCasterSafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::IProcessingObject
static bool IsClassA (const char *type)
 
static IProcessingObjectSafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::IObject
static bool IsClassA (const char *type)
 
static IObjectSafeCast (IObject *ptr)
 

Detailed Description

INormalCaster is the interface used to cast normals data onto the receiving geometry.

Definition at line 9884 of file SimplygonSDK.h.

Member Function Documentation

◆ GetClass()

virtual const char* SimplygonSDK::INormalCaster::GetClass ( )
virtual

GetClass returns the name of the class of the object.

Returns
the name of the actual class of the object, as a const char string

Reimplemented from SimplygonSDK::IMaterialCaster.

◆ GetFlipBackfacingNormals()

virtual bool SimplygonSDK::INormalCaster::GetFlipBackfacingNormals ( )
pure virtual

Get the FlipBackfacingNormals flag. If set, then normals will be flipped if they are back facing, i.e., pointing into the surface. This may introduce artifacts on geometries that have correctly facing normals, so only use for geometries with known back-facing normals.

Returns
the current value of the FlipBackfacingNormals bool

◆ GetFlipGreen()

virtual bool SimplygonSDK::INormalCaster::GetFlipGreen ( )
pure virtual

Get the FlipGreen flag. If set, the green channel is assumed to point along the negative bitangent instead of the positive.

Returns
the current value of the FlipGreen bool

◆ GetGenerateTangentSpaceNormals()

virtual bool SimplygonSDK::INormalCaster::GetGenerateTangentSpaceNormals ( )
pure virtual

Get the GenerateTangentSpaceNormals flag. If set, then the generated normal map will be in tangent space. Please note that the geometry casted to must contain tangent space fields.

Returns
the current value of the GenerateTangentSpaceNormals bool

◆ GetNormalCasterSettings()

virtual CountedPointer<INormalCasterSettings> SimplygonSDK::INormalCaster::GetNormalCasterSettings ( )
pure virtual

Get the normal caster settings object

Returns
Normal caster settings object

◆ GetNormalsChannel()

virtual rstring SimplygonSDK::INormalCaster::GetNormalsChannel ( )
pure virtual

Get which normals channel to cast. The default value is SG_MATERIAL_CHANNEL_NORMALS.

Returns
the desired normals channel

◆ IsA()

virtual bool SimplygonSDK::INormalCaster::IsA ( const char *  type) const
virtual

The IsA function returns true if the object is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the object is, or is a descendant of
Returns
true if the object is of the specified class, false if not

Reimplemented from SimplygonSDK::IMaterialCaster.

◆ IsClassA()

static bool SimplygonSDK::INormalCaster::IsClassA ( const char *  type)
inlinestatic

The IsClassA function returns true if INormalCaster is a or is a descendant of the class named as the type parameter

Parameters
typeis the name of the class to check if the class is, or is a descendant of
Returns
true if the class is of the specified class, false if not

Definition at line 9905 of file SimplygonSDK.h.

◆ SafeCast()

static INormalCaster* SimplygonSDK::INormalCaster::SafeCast ( IObject ptr)
inlinestatic

SafeCast makes sure the pointer is of a class that can be cast into a INormalCaster pointer, and if this is possible, returns the cast pointer.

Parameters
ptris the pointer to be cast into a INormalCaster pointer
Returns
a pointer to the INormalCaster object, if the cast can be made, and a NULL pointer otherwise

Definition at line 9918 of file SimplygonSDK.h.

◆ SetFlipBackfacingNormals()

virtual void SimplygonSDK::INormalCaster::SetFlipBackfacingNormals ( bool  FlipBackfacingNormals)
pure virtual

Set the FlipBackfacingNormals flag. If set, then normals will be flipped if they are back facing, i.e., pointing into the surface. This may introduce artifacts on geometries that have correctly facing normals, so only use for geometries with known back-facing normals.

Parameters
FlipBackfacingNormalsthe desired flag value

◆ SetFlipGreen()

virtual void SimplygonSDK::INormalCaster::SetFlipGreen ( bool  FlipGreen)
pure virtual

Set the FlipGreen flag. If set, the green channel is assumed to point along the negative bitangent instead of the positive.

Parameters
FlipGreenthe desired flag value

◆ SetGenerateTangentSpaceNormals()

virtual void SimplygonSDK::INormalCaster::SetGenerateTangentSpaceNormals ( bool  GenerateTangentSpaceNormals)
pure virtual

Set the GenerateTangentSpaceNormals flag. If set, then the generated normal map will be in tangent space. Please note that the geometry casted to must contain tangent space fields.

Parameters
GenerateTangentSpaceNormalsthe desired flag value

◆ SetNormalsChannel()

virtual void SimplygonSDK::INormalCaster::SetNormalsChannel ( const char *  NormalsChannel)
pure virtual

Set which normals channel to cast. The default value is SG_MATERIAL_CHANNEL_NORMALS.

Parameters
NormalsChannelthe material channel name

The documentation for this class was generated from the following file: