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

#include <SimplygonSDK.h>

Inheritance diagram for SimplygonSDK::INormalCalculationSettings:
SimplygonSDK::ISettingsObject SimplygonSDK::IObject

Public Member Functions

virtual const char * GetClass ()
 
virtual SGDEPRECATED bool GetDetectPrimitiveNormals ()=0
 
virtual real GetHardEdgeAngleInRadians ()=0
 
virtual bool GetRepairInvalidNormals ()=0
 
virtual bool GetReplaceNormals ()=0
 
virtual bool GetReplaceTangents ()=0
 
virtual bool GetScaleByAngle ()=0
 
virtual bool GetScaleByArea ()=0
 
virtual bool GetSnapNormalsToFlatSurfaces ()=0
 
virtual bool IsA (const char *type) const
 
virtual SGDEPRECATED void SetDetectPrimitiveNormals (bool detectPrimitiveNormals)=0
 
virtual void SetHardEdgeAngleInRadians (real value)=0
 
virtual void SetRepairInvalidNormals (bool value)=0
 
virtual void SetReplaceNormals (bool value)=0
 
virtual void SetReplaceTangents (bool value)=0
 
virtual void SetScaleByAngle (bool value)=0
 
virtual void SetScaleByArea (bool value)=0
 
virtual void SetSnapNormalsToFlatSurfaces (bool value)=0
 
- Public Member Functions inherited from SimplygonSDK::ISettingsObject
virtual rstring GetErrorString ()=0
 
virtual bool ValidateSettings ()=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 INormalCalculationSettingsSafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::ISettingsObject
static bool IsClassA (const char *type)
 
static ISettingsObjectSafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::IObject
static bool IsClassA (const char *type)
 
static IObjectSafeCast (IObject *ptr)
 

Detailed Description

Settings for the normal recalculation

Definition at line 11904 of file SimplygonSDK.h.

Member Function Documentation

◆ GetClass()

virtual const char* SimplygonSDK::INormalCalculationSettings::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::ISettingsObject.

◆ GetDetectPrimitiveNormals()

virtual SGDEPRECATED bool SimplygonSDK::INormalCalculationSettings::GetDetectPrimitiveNormals ( )
pure virtual
Deprecated:
Method is marked as deprecated and will be removed in future version. Use GetSnapNormalsToFlatSurfaces() instead. Use GetSnapNormalsToFlatSurfaces instead

◆ GetHardEdgeAngleInRadians()

virtual real SimplygonSDK::INormalCalculationSettings::GetHardEdgeAngleInRadians ( )
pure virtual

Get HardEdgeAngleInRadians. If the angle between two triangles are above this value, the normals will not be smooth over the edge between those two triangles. Set in radians.

Returns
the current value of HardEdgeAngleInRadians

◆ GetRepairInvalidNormals()

virtual bool SimplygonSDK::INormalCalculationSettings::GetRepairInvalidNormals ( )
pure virtual

Get the RepairInvalidNormals flag If set, normals that are invalid will be replaced. All others are left intact. Bad normals are those that are either Zero length, or simply points away from the surface

◆ GetReplaceNormals()

virtual bool SimplygonSDK::INormalCalculationSettings::GetReplaceNormals ( )
pure virtual

Get ReplaceNormals flag. If set, it will generate new normals for the Geometry, and if not set, it will keep the normals from the original normal-set (or not add normals at all if none were present). Please note that if the original geometry contains normals, the normal repairer will replace invalid normals even if ReplaceNormals is set to false.

Returns
the current value of the ReplaceNormals bool

◆ GetReplaceTangents()

virtual bool SimplygonSDK::INormalCalculationSettings::GetReplaceTangents ( )
pure virtual

Get ReplaceTangents flag. If set, it will generate new tangents and bitangents for the Geometry, and if not set, it will keep the new tangents and bitangents from the original normal-set (or not add tangents and bitangents at all if none were present).

Returns
the current value of the ReplaceTangents bool

◆ GetScaleByAngle()

virtual bool SimplygonSDK::INormalCalculationSettings::GetScaleByAngle ( )
pure virtual

Get the ScaleByAngle flag. If set, the influence of a triangle normal upon the vertex normals is scaled by the angle of the corner at the vertex.

Returns
the current value of the ScaleByAngle bool

◆ GetScaleByArea()

virtual bool SimplygonSDK::INormalCalculationSettings::GetScaleByArea ( )
pure virtual

Get the ScaleByArea flag. If set, the influence of a triangle normal upon the vertex normals is scaled by the area of the triangle.

Returns
the current value of the ScaleByArea bool

◆ GetSnapNormalsToFlatSurfaces()

virtual bool SimplygonSDK::INormalCalculationSettings::GetSnapNormalsToFlatSurfaces ( )
pure virtual

Get the SnapNormalsToFlatSurfaces flag. If set, perfectly flat shaded surfaces will be created, where possible. Normals adjacent to perfectly geometrically flat surfaces will be recalculated to have the same direction as for those of the adjacent flat surface.

Returns
the current value of the SnapNormalsToFlatSurfaces

◆ IsA()

virtual bool SimplygonSDK::INormalCalculationSettings::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::ISettingsObject.

◆ IsClassA()

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

The IsClassA function returns true if INormalCalculationSettings 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 11925 of file SimplygonSDK.h.

◆ SafeCast()

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

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

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

Definition at line 11938 of file SimplygonSDK.h.

◆ SetDetectPrimitiveNormals()

virtual SGDEPRECATED void SimplygonSDK::INormalCalculationSettings::SetDetectPrimitiveNormals ( bool  detectPrimitiveNormals)
pure virtual
Deprecated:
Method is marked as deprecated and will be removed in future version. Use SetSnapNormalsToFlatSurfaces() instead. Use SetSnapNormalsToFlatSurfaces instead
Parameters
detectPrimitiveNormalsis the value to which the detectPrimitiveNormals bool is to be set

◆ SetHardEdgeAngleInRadians()

virtual void SimplygonSDK::INormalCalculationSettings::SetHardEdgeAngleInRadians ( real  value)
pure virtual

Set HardEdgeAngleInRadians. If the angle between two triangles are above this value, the normals will not be smooth over the edge between those two triangles. Set in radians.

Parameters
valueis the value to which HardEdgeAngleInRadians is to be set

◆ SetRepairInvalidNormals()

virtual void SimplygonSDK::INormalCalculationSettings::SetRepairInvalidNormals ( bool  value)
pure virtual

Set the RepairInvalidNormals flag If set, normals that are invalid will be replaced. All others are left intact. Bad normals are those that are either Zero length, or simply points away from the surface

Parameters
valueis the value to which RepairInvalidNormals is to be set

◆ SetReplaceNormals()

virtual void SimplygonSDK::INormalCalculationSettings::SetReplaceNormals ( bool  value)
pure virtual

Set ReplaceNormals flag. If set, it will generate new normals for the Geometry, and if not set, it will keep the normals from the original normal-set (or not add normals at all if none were present). Please note that if the original geometry contains normals, the normal repairer will replace invalid normals even if ReplaceNormals is set to false.

Parameters
valueis the value to which the ReplaceNormals bool is to be set

◆ SetReplaceTangents()

virtual void SimplygonSDK::INormalCalculationSettings::SetReplaceTangents ( bool  value)
pure virtual

Set ReplaceTangents flag. If set, it will generate new tangents and bitangents for the Geometry, and if not set, it will keep the new tangents and bitangents from the original normal-set (or not add tangents and bitangents at all if none were present).

Parameters
valueis the value to which the ReplaceTangents bool is to be set

◆ SetScaleByAngle()

virtual void SimplygonSDK::INormalCalculationSettings::SetScaleByAngle ( bool  value)
pure virtual

Set the ScaleByAngle flag. If set, the influence of a triangle normal upon the vertex normals is scaled by the angle of the corner at the vertex.

Parameters
valueis the value to which the ScaleByAngle bool is to be set

◆ SetScaleByArea()

virtual void SimplygonSDK::INormalCalculationSettings::SetScaleByArea ( bool  value)
pure virtual

Set the ScaleByArea flag. If set, the influence of a triangle normal upon the vertex normals is scaled by the area of the triangle.

Parameters
valueis the value to which the ScaleByArea bool is to be set

◆ SetSnapNormalsToFlatSurfaces()

virtual void SimplygonSDK::INormalCalculationSettings::SetSnapNormalsToFlatSurfaces ( bool  value)
pure virtual

Set the SnapNormalsToFlatSurfaces flag. If set, perfectly flat shaded surfaces will be created, where possible. Normals adjacent to perfectly geometrically flat surfaces will be recalculated to have the same direction as for those of the adjacent flat surface.

Parameters
valueto use for SnapNormalsToFlatSurfaces

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