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

#include <SimplygonSDK.h>

Inheritance diagram for SimplygonSDK::IVisibilitySettings:
SimplygonSDK::ISettingsObject SimplygonSDK::IObject

Public Member Functions

virtual int GetCameraSelectionSetID ()=0
 
virtual rstring GetCameraSelectionSetName ()=0
 
virtual const char * GetClass ()
 
virtual unsigned int GetComputeVisibilityMode ()=0
 
virtual bool GetConservativeMode ()=0
 
virtual bool GetCullOccludedGeometry ()=0
 
virtual real GetFillNonVisibleAreaThreshold ()=0
 
virtual bool GetForceVisibilityCalculation ()=0
 
virtual int GetOccluderSelectionSetID ()=0
 
virtual rstring GetOccluderSelectionSetName ()=0
 
virtual bool GetRemoveTrianglesNotOccludingOtherTriangles ()=0
 
virtual bool GetUseBackfaceCulling ()=0
 
virtual bool GetUseVisibilityWeightsInReducer ()=0
 
virtual bool GetUseVisibilityWeightsInTexcoordGenerator ()=0
 
virtual real GetVisibilityWeightsPower ()=0
 
virtual bool IsA (const char *type) const
 
virtual void SetCameraSelectionSetID (int value)=0
 
virtual void SetCameraSelectionSetName (const char *value)=0
 
virtual void SetComputeVisibilityMode (unsigned int value)=0
 
virtual void SetConservativeMode (bool value)=0
 
virtual void SetCullOccludedGeometry (bool value)=0
 
virtual void SetFillNonVisibleAreaThreshold (real value)=0
 
virtual void SetForceVisibilityCalculation (bool value)=0
 
virtual void SetOccluderSelectionSetID (int value)=0
 
virtual void SetOccluderSelectionSetName (const char *value)=0
 
virtual void SetRemoveTrianglesNotOccludingOtherTriangles (bool value)=0
 
virtual void SetUseBackfaceCulling (bool value)=0
 
virtual void SetUseVisibilityWeightsInReducer (bool value)=0
 
virtual void SetUseVisibilityWeightsInTexcoordGenerator (bool value)=0
 
virtual void SetVisibilityWeightsPower (real 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 IVisibilitySettingsSafeCast (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

Visibility settings contains the parameters for how to compute the visibility of a scene and how to use it, both in the IReductionProcessor and the IRemeshingProcessor. The visibility information is computed for each part of the mesh determined by the visibility from the selected ISceneCameras. Cameras are selected using the CameraSelectionSetID. The visibility can be used to guide the reducer and/or texture coordinates generator (parameterizer) with the flags UseVisibilityWeightsInReducer respective UseVisibilityWeightsInTexcoordGenerator. There is also an option to completely throw away triangles that are deemed not visible, using the CullOccludedGeometry flag.

Definition at line 12771 of file SimplygonSDK.h.

Member Function Documentation

◆ GetCameraSelectionSetID()

virtual int SimplygonSDK::IVisibilitySettings::GetCameraSelectionSetID ( )
pure virtual

CameraSelectionSetID is the ID of the selection set containing all the scene cameras used when computing visibility. If set to -1, all cameras in the scene will be used.

Returns
the current SelectionSetID value

◆ GetCameraSelectionSetName()

virtual rstring SimplygonSDK::IVisibilitySettings::GetCameraSelectionSetName ( )
pure virtual

CameraSelectionSetID is the name of the selection set containing all the scene cameras used when computing visibility. If set to NULL, all cameras in the scene will be used. If both ID and Name are set, ID will be used.

◆ GetClass()

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

◆ GetComputeVisibilityMode()

virtual unsigned int SimplygonSDK::IVisibilitySettings::GetComputeVisibilityMode ( )
pure virtual

Specifies the renderer type when computing visibility ( SG_COMPUTE_VISIBILITY_MODE_[...] ).

Returns
the current ComputeVisibilityMode

◆ GetConservativeMode()

virtual bool SimplygonSDK::IVisibilitySettings::GetConservativeMode ( )
pure virtual

If enabled, will compute the visibility conservatively - meaning that triangles that are visible will be tagged as visible but some non-visible triangles might also be tagged as visible. If this is turned off, then it is no longer guaranteed that all visible triangles are found - but more non-visible triangles will be identified as non-visible.

Returns
the current ConservativeMode flag

◆ GetCullOccludedGeometry()

virtual bool SimplygonSDK::IVisibilitySettings::GetCullOccludedGeometry ( )
pure virtual

If set to true, geometry that is not visible will be removed.

Returns
the current CullOccludedGeometry value

◆ GetFillNonVisibleAreaThreshold()

virtual real SimplygonSDK::IVisibilitySettings::GetFillNonVisibleAreaThreshold ( )
pure virtual

If a group of non-visible triangles (connected to visible triangles) has an area below the FillNonVisibleAreaThreshold - it will receive the same visibility as the neighboring visible triangles. Set to zero to skip filling nonvisible regions.

Returns
the current FillNonVisibleAreaThreshold value

◆ GetForceVisibilityCalculation()

virtual bool SimplygonSDK::IVisibilitySettings::GetForceVisibilityCalculation ( )
pure virtual

Get the ForceVisibilityCalculation if true, visibility weights will definitely be computed for the geometry, even if the visibility isn't specifically being used for reduction/materialLOD/culling according to the VisibilitySettings.

Returns
the current ForceVisibilityCalculation value

◆ GetOccluderSelectionSetID()

virtual int SimplygonSDK::IVisibilitySettings::GetOccluderSelectionSetID ( )
pure virtual

OccluderSelectionSetID is the ID of the selection set containing all the scene meshes that should occlude the scene when calculating visibility. If set to -1, no occluders will be used.

Returns
the current OccluderSelectionSetID value

◆ GetOccluderSelectionSetName()

virtual rstring SimplygonSDK::IVisibilitySettings::GetOccluderSelectionSetName ( )
pure virtual

OccluderSelectionSetID is the name of the selection set containing all the scene meshes used when computing visibility. If set to NULL, no occluders in the scene will be used. If both ID and Name are set, ID will be used.

◆ GetRemoveTrianglesNotOccludingOtherTriangles()

virtual bool SimplygonSDK::IVisibilitySettings::GetRemoveTrianglesNotOccludingOtherTriangles ( )
pure virtual

If enabled, will remove all the visible triangles that are not occluding any other triangle. It will also remove all non-visible triangles.

Returns
the current RemoveTrianglesThatDontOccludeOtherTriangles flag

◆ GetUseBackfaceCulling()

virtual bool SimplygonSDK::IVisibilitySettings::GetUseBackfaceCulling ( )
pure virtual

Get whether triangles should be regarded visible when viewed from the back.

Returns
the current flag value

◆ GetUseVisibilityWeightsInReducer()

virtual bool SimplygonSDK::IVisibilitySettings::GetUseVisibilityWeightsInReducer ( )
pure virtual

If set to true, visibility weights will be used in the reducer.

Returns
the current UseVisibilityWeightsInReducer value

◆ GetUseVisibilityWeightsInTexcoordGenerator()

virtual bool SimplygonSDK::IVisibilitySettings::GetUseVisibilityWeightsInTexcoordGenerator ( )
pure virtual

If set to true, visibility weights will be used when generating new texture coordinates.

Returns
the current UseVisibilityWeightsInTexcoordGenerator value

◆ GetVisibilityWeightsPower()

virtual real SimplygonSDK::IVisibilitySettings::GetVisibilityWeightsPower ( )
pure virtual

How aggressively reducer should handle low visibility weights.

Returns
the current VisibilityWeightsPower value

◆ IsA()

virtual bool SimplygonSDK::IVisibilitySettings::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::IVisibilitySettings::IsClassA ( const char *  type)
inlinestatic

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

◆ SafeCast()

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

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

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

Definition at line 12805 of file SimplygonSDK.h.

◆ SetCameraSelectionSetID()

virtual void SimplygonSDK::IVisibilitySettings::SetCameraSelectionSetID ( int  value)
pure virtual

CameraSelectionSetID is the ID of the selection set containing all the scene cameras used when computing visibility. If set to -1, all cameras in the scene will be used.

Parameters
valuethe desired SelectionSetID value

◆ SetCameraSelectionSetName()

virtual void SimplygonSDK::IVisibilitySettings::SetCameraSelectionSetName ( const char *  value)
pure virtual

CameraSelectionSetID is the name of the selection set containing all the scene cameras used when computing visibility. If set to NULL, all cameras in the scene will be used. If both ID and Name are set, ID will be used.

Parameters
valuethe desired SelectionSet name

◆ SetComputeVisibilityMode()

virtual void SimplygonSDK::IVisibilitySettings::SetComputeVisibilityMode ( unsigned int  value)
pure virtual

Specifies the renderer type when computing visibility ( SG_COMPUTE_VISIBILITY_MODE_[...] ).

Parameters
valuethe new ComputeVisibilityMode value

◆ SetConservativeMode()

virtual void SimplygonSDK::IVisibilitySettings::SetConservativeMode ( bool  value)
pure virtual

If enabled, will compute the visibility conservatively - meaning that triangles that are visible will be tagged as visible but some non-visible triangles might also be tagged as visible. If this is turned off, then it is no longer guaranteed that all visible triangles are found - but more non-visible triangles will be identified as non-visible.

Parameters
valuethe new ConservativeMode value

◆ SetCullOccludedGeometry()

virtual void SimplygonSDK::IVisibilitySettings::SetCullOccludedGeometry ( bool  value)
pure virtual

If set to true, geometry that is not visible will be removed.

Parameters
valuethe new CullOccludedGeometry value

◆ SetFillNonVisibleAreaThreshold()

virtual void SimplygonSDK::IVisibilitySettings::SetFillNonVisibleAreaThreshold ( real  value)
pure virtual

If a group of non-visible triangles (connected to visible triangles) has an area below the FillNonVisibleAreaThreshold - it will receive the same visibility as the neighboring visible triangles. Set to zero to skip filling nonvisible regions.

Parameters
valuethe new FillNonVisibleAreaThreshold value

◆ SetForceVisibilityCalculation()

virtual void SimplygonSDK::IVisibilitySettings::SetForceVisibilityCalculation ( bool  value)
pure virtual

Set the ForceVisibilityCalculation if true, visibility weights will definitely be computed for the geometry, even if the visibility isn't specifically being used for reduction/materialLOD/culling according to the VisibilitySettings.

Parameters
valuethe new ForceVisibilityCalculation value

◆ SetOccluderSelectionSetID()

virtual void SimplygonSDK::IVisibilitySettings::SetOccluderSelectionSetID ( int  value)
pure virtual

OccluderSelectionSetID is the ID of the selection set containing all the scene meshes that should occlude the scene when calculating visibility. If set to -1, no occluders will be used.

Parameters
valuethe desired OccluderSelectionSetID value

◆ SetOccluderSelectionSetName()

virtual void SimplygonSDK::IVisibilitySettings::SetOccluderSelectionSetName ( const char *  value)
pure virtual

OccluderSelectionSetID is the name of the selection set containing all the scene meshes used when computing visibility. If set to NULL, no occluders in the scene will be used. If both ID and Name are set, ID will be used.

Parameters
valuethe desired SelectionSet name

◆ SetRemoveTrianglesNotOccludingOtherTriangles()

virtual void SimplygonSDK::IVisibilitySettings::SetRemoveTrianglesNotOccludingOtherTriangles ( bool  value)
pure virtual

If enabled, will remove all the visible triangles that are not occluding any other triangle. It will also remove all non-visible triangles.

Parameters
valuethe new RemoveTrianglesNotOccludingOtherTriangles value

◆ SetUseBackfaceCulling()

virtual void SimplygonSDK::IVisibilitySettings::SetUseBackfaceCulling ( bool  value)
pure virtual

Set whether triangles should be regarded visible when viewed from the back.

Parameters
valuethe desired flag value

◆ SetUseVisibilityWeightsInReducer()

virtual void SimplygonSDK::IVisibilitySettings::SetUseVisibilityWeightsInReducer ( bool  value)
pure virtual

If set to true, visibility weights will be used in the reducer.

Parameters
valuethe desired flag value

◆ SetUseVisibilityWeightsInTexcoordGenerator()

virtual void SimplygonSDK::IVisibilitySettings::SetUseVisibilityWeightsInTexcoordGenerator ( bool  value)
pure virtual

If set to true, visibility weights will be used when generating new texture coordinates.

Parameters
valuethe new UseVisibilityWeightsInTexcoordGenerator value

◆ SetVisibilityWeightsPower()

virtual void SimplygonSDK::IVisibilitySettings::SetVisibilityWeightsPower ( real  value)
pure virtual

Set how aggressively reducer should handle low visibility weights.

Parameters
valuePower of influence (default 1.0).

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