![]() |
Simplygon C++ API
8.3.35800.0
|
#include <SimplygonSDK.h>
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 |
![]() | |
virtual rstring | GetErrorString ()=0 |
virtual bool | ValidateSettings ()=0 |
![]() | |
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 IVisibilitySettings * | SafeCast (IObject *ptr) |
![]() | |
static bool | IsClassA (const char *type) |
static ISettingsObject * | SafeCast (IObject *ptr) |
![]() | |
static bool | IsClassA (const char *type) |
static IObject * | SafeCast (IObject *ptr) |
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.
|
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.
|
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.
|
virtual |
GetClass returns the name of the class of the object.
Reimplemented from SimplygonSDK::ISettingsObject.
|
pure virtual |
Specifies the renderer type when computing visibility ( SG_COMPUTE_VISIBILITY_MODE_[...] ).
|
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.
|
pure virtual |
If set to true, geometry that is not visible will be removed.
|
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.
|
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.
|
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.
|
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.
|
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.
|
pure virtual |
Get whether triangles should be regarded visible when viewed from the back.
|
pure virtual |
If set to true, visibility weights will be used in the reducer.
|
pure virtual |
If set to true, visibility weights will be used when generating new texture coordinates.
|
pure virtual |
How aggressively reducer should handle low visibility weights.
|
virtual |
The IsA function returns true if the object is a or is a descendant of the class named as the type parameter
type | is the name of the class to check if the object is, or is a descendant of |
Reimplemented from SimplygonSDK::ISettingsObject.
|
inlinestatic |
The IsClassA function returns true if IVisibilitySettings is a or is a descendant of the class named as the type parameter
type | is the name of the class to check if the class is, or is a descendant of |
Definition at line 12792 of file SimplygonSDK.h.
|
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.
ptr | is the pointer to be cast into a IVisibilitySettings pointer |
Definition at line 12805 of file SimplygonSDK.h.
|
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.
value | the desired SelectionSetID 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.
value | the desired SelectionSet name |
|
pure virtual |
Specifies the renderer type when computing visibility ( SG_COMPUTE_VISIBILITY_MODE_[...] ).
value | the new ComputeVisibilityMode 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.
value | the new ConservativeMode value |
|
pure virtual |
If set to true, geometry that is not visible will be removed.
value | the new CullOccludedGeometry 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.
value | the new FillNonVisibleAreaThreshold 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.
value | the new ForceVisibilityCalculation 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.
value | the desired OccluderSelectionSetID 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.
value | the desired SelectionSet name |
|
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.
value | the new RemoveTrianglesNotOccludingOtherTriangles value |
|
pure virtual |
Set whether triangles should be regarded visible when viewed from the back.
value | the desired flag value |
|
pure virtual |
If set to true, visibility weights will be used in the reducer.
value | the desired flag value |
|
pure virtual |
If set to true, visibility weights will be used when generating new texture coordinates.
value | the new UseVisibilityWeightsInTexcoordGenerator value |
|
pure virtual |
Set how aggressively reducer should handle low visibility weights.
value | Power of influence (default 1.0). |