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

#include <SimplygonSDK.h>

Inheritance diagram for SimplygonSDK::IPartRemover:
SimplygonSDK::IObject

Public Member Functions

virtual const char * GetClass ()
 
virtual CountedPointer< IGeometryDataGetGeometry ()=0
 
virtual CountedPointer< IRealArrayGetPerMaterialSizeThresholds ()=0
 
virtual CountedPointer< ISceneGetScene ()=0
 
virtual real GetSizeThreshold ()=0
 
virtual bool GetUsePerMaterialSizeThresholds ()=0
 
virtual bool IsA (const char *type) const
 
virtual void RunPartRemoval ()=0
 
virtual void SetGeometry (IGeometryData *value)=0
 
virtual void SetScene (IScene *value)=0
 
virtual void SetSizeThreshold (real value)=0
 
virtual void SetUsePerMaterialSizeThresholds (bool value)=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 IPartRemoverSafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::IObject
static bool IsClassA (const char *type)
 
static IObjectSafeCast (IObject *ptr)
 

Detailed Description

The PartRemover tool can identify unconnected sub-meshes, and remove meshes that fall below a set size threshold. This size threshold can be set globally for the entire geometry, or per-material to be able to remove things like decals effectively.

Definition at line 20908 of file SimplygonSDK.h.

Member Function Documentation

◆ GetClass()

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

◆ GetGeometry()

virtual CountedPointer<IGeometryData> SimplygonSDK::IPartRemover::GetGeometry ( )
pure virtual

Get the geometry data object to run the part removal on. If a scene is set, this parameter is ignored by the reducer.

Returns
the geometry data to be used for processing

◆ GetPerMaterialSizeThresholds()

virtual CountedPointer<IRealArray> SimplygonSDK::IPartRemover::GetPerMaterialSizeThresholds ( )
pure virtual

Get the per-material threshold array. These thresholds are mapped per material ID in the geometrydata object if UsePerMaterialSizeThresholds is true. The size and values in this array needs to be set up by the user, and material IDs that fall outside the set array will be ignored.

Returns
the geometry data to be used for processing

◆ GetScene()

virtual CountedPointer<IScene> SimplygonSDK::IPartRemover::GetScene ( )
pure virtual

Get the scene object to run the part removal on.

Returns
value is the scene data to be used for processing

◆ GetSizeThreshold()

virtual real SimplygonSDK::IPartRemover::GetSizeThreshold ( )
pure virtual

Get the size threshold to be used when removing parts. If SizeThreshold is equal to, or greater than, the boundingbox radius of a part, then that part is removed. If UsePerMaterialSizeThresholds is true, this value will be ignored and the per-material values will be used instead.

Returns
the current value of SizeThreshold

◆ GetUsePerMaterialSizeThresholds()

virtual bool SimplygonSDK::IPartRemover::GetUsePerMaterialSizeThresholds ( )
pure virtual

Get the UsePerMaterialSizeThresholds flag. If true, the global SizeThreshold value will be ignored and the per-material values in the PerMaterialSizeThresholds will be used instead.

Returns
the current value of UsePerMaterialSizeThresholds

◆ IsA()

virtual bool SimplygonSDK::IPartRemover::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::IObject.

◆ IsClassA()

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

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

◆ RunPartRemoval()

virtual void SimplygonSDK::IPartRemover::RunPartRemoval ( )
pure virtual

Runs the part removal processing

◆ SafeCast()

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

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

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

Definition at line 20942 of file SimplygonSDK.h.

◆ SetGeometry()

virtual void SimplygonSDK::IPartRemover::SetGeometry ( IGeometryData value)
pure virtual

Set the geometry data object to run the part removal on. If a scene is set, this parameter is ignored by the reducer.

Parameters
valueis the geometry data to be used for processing

◆ SetScene()

virtual void SimplygonSDK::IPartRemover::SetScene ( IScene value)
pure virtual

Set the scene object to run the part removal on.

Parameters
valueis the scene data to be used for processing

◆ SetSizeThreshold()

virtual void SimplygonSDK::IPartRemover::SetSizeThreshold ( real  value)
pure virtual

Set the size threshold to be used when removing parts. If SizeThreshold is equal to, or greater than, the boundingbox radius of a part, then that part is removed. If UsePerMaterialSizeThresholds is true, this value will be ignored and the per-material values will be used instead.

Parameters
valueis the new value of SizeThreshold

◆ SetUsePerMaterialSizeThresholds()

virtual void SimplygonSDK::IPartRemover::SetUsePerMaterialSizeThresholds ( bool  value)
pure virtual

Set the UsePerMaterialSizeThresholds flag. If true, the global SizeThreshold value will be ignored and the per-material values in the PerMaterialSizeThresholds will be used instead.

Parameters
valueis the new value of UsePerMaterialSizeThresholds

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