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

#include <SimplygonSDK.h>

Inheritance diagram for SimplygonSDK::IChartAggregator:
SimplygonSDK::IObject

Public Member Functions

virtual real GetAutomaticTextureSizeMultiplier ()=0
 
virtual unsigned int GetChartAggregatorMode ()=0
 
virtual const char * GetClass ()
 
virtual bool GetExpandZeroAreaUVs ()=0
 
virtual bool GetForcePower2Texture ()=0
 
virtual unsigned int GetGutterSpace ()=0
 
virtual unsigned int GetGutterSpace (unsigned int id)=0
 
virtual unsigned int GetInputMaterialCount ()=0
 
virtual int GetInputOutputMaterialMapping (unsigned int InMaterialId)=0
 
virtual unsigned int GetKeepOriginalChartSizesTextureHeight ()=0
 
virtual unsigned int GetKeepOriginalChartSizesTextureHeight (unsigned int OutputID)=0
 
virtual unsigned int GetKeepOriginalChartSizesTextureWidth ()=0
 
virtual unsigned int GetKeepOriginalChartSizesTextureWidth (unsigned int OutputID)=0
 
virtual bool GetLockUVRotation ()=0
 
virtual rstring GetOriginalChartProportionsChannel ()=0
 
virtual unsigned int GetOutputMaterialCount ()=0
 
virtual unsigned int GetTexCoordLevel ()=0
 
virtual rstring GetTexCoordLevelName ()=0
 
virtual unsigned int GetTextureHeight ()=0
 
virtual unsigned int GetTextureHeight (unsigned int id)=0
 
virtual unsigned int GetTextureWidth ()=0
 
virtual unsigned int GetTextureWidth (unsigned int id)=0
 
virtual bool GetUseAutomaticTextureSize ()=0
 
virtual bool GetUseVertexWeights ()=0
 
virtual bool IsA (const char *type) const
 
virtual bool Parameterize (IGeometryData *geom, IRealArray *arr)=0
 
virtual void SetAutomaticTextureSizeMultiplier (real value)=0
 
virtual void SetChartAggregatorMode (unsigned int value)=0
 
virtual void SetExpandZeroAreaUVs (bool value)=0
 
virtual void SetForcePower2Texture (bool value)=0
 
virtual void SetGutterSpace (unsigned int id, unsigned int value)=0
 
virtual void SetGutterSpace (unsigned int value)=0
 
virtual void SetInputMaterialCount (unsigned int value)=0
 
virtual void SetInputOutputMaterialMapping (unsigned int InMaterialId, int OutMaterialId)=0
 
virtual void SetLockUVRotation (bool value)=0
 
virtual void SetMaterialTable (IMaterialTable *value)=0
 
virtual void SetOriginalChartProportionsChannel (const char *value)=0
 
virtual void SetOutputMaterialCount (unsigned int value)=0
 
virtual void SetSeparateOverlappingCharts (bool value)=0
 
virtual void SetTexCoordLevel (unsigned int value)=0
 
virtual void SetTexCoordLevelName (const char *value)=0
 
virtual void SetTextureHeight (unsigned int id, unsigned int value)=0
 
virtual void SetTextureHeight (unsigned int value)=0
 
virtual void SetTextureTable (ITextureTable *value)=0
 
virtual void SetTextureWidth (unsigned int id, unsigned int value)=0
 
virtual void SetTextureWidth (unsigned int value)=0
 
virtual void SetUseAutomaticTextureSize (bool value)=0
 
virtual void SetUseVertexWeights (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 IChartAggregatorSafeCast (IObject *ptr)
 
- Static Public Member Functions inherited from SimplygonSDK::IObject
static bool IsClassA (const char *type)
 
static IObjectSafeCast (IObject *ptr)
 

Detailed Description

Computes new texture coordinates for a geometry with overlapping UV charts.

Definition at line 18385 of file SimplygonSDK.h.

Member Function Documentation

◆ GetAutomaticTextureSizeMultiplier()

virtual real SimplygonSDK::IChartAggregator::GetAutomaticTextureSizeMultiplier ( )
pure virtual

Get the current automatic texture size multiplier.

Returns
the current multiplier

◆ GetChartAggregatorMode()

virtual unsigned int SimplygonSDK::IChartAggregator::GetChartAggregatorMode ( )
pure virtual

Determines which method to use when aggregating the UVs. SG_CHARTAGGREGATORMODE_TEXTURESIZEPROPORTIONS

  • Aggregated UV charts will be scaled to keep their relative pixel density relative to all other UV charts. The user can still set the size of the output texture maps. SG_CHARTAGGREGATORMODE_SURFACEAREA - Aggregated UV charts will have their size set based on its actual geometrical size. SG_CHARTAGGREGATORMODE_ORIGINALPIXELDENSITY
  • The combined atlas will be resized to fit each chart so that all charts retain the same amount of pixels as they originally had. This will override any manually set texture size. SG_CHARTAGGREGATORMODE_UVSIZEPROPORTIONS - Aggregated UV charts will have their size set based on its original UV size, disregarding the size of the texture they are used in.");
    Returns
    the current SG_CHARTAGGREGATORMODE_[...] value.

◆ GetClass()

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

◆ GetExpandZeroAreaUVs()

virtual bool SimplygonSDK::IChartAggregator::GetExpandZeroAreaUVs ( )
pure virtual

If ExpandZeroAreaUVs is enabled then triangles that have zero area will be slightly expanded

Returns
the current ExpandZeroAreaUVs

◆ GetForcePower2Texture()

virtual bool SimplygonSDK::IChartAggregator::GetForcePower2Texture ( )
pure virtual

If automatic_texture_size is enabled, then force the texture sizes to be a power of 2

Returns
the current flag

◆ GetGutterSpace() [1/2]

virtual unsigned int SimplygonSDK::IChartAggregator::GetGutterSpace ( )
pure virtual

Get the minimum number of pixels between charts.

Returns
the current value of GutterSpace

◆ GetGutterSpace() [2/2]

virtual unsigned int SimplygonSDK::IChartAggregator::GetGutterSpace ( unsigned int  id)
pure virtual

Get the minimum number of pixels between charts.

Parameters
idthe output material ID
Returns
the current value of GutterSpace

◆ GetInputMaterialCount()

virtual unsigned int SimplygonSDK::IChartAggregator::GetInputMaterialCount ( )
pure virtual

Get the number of input materials set earlier. 0 signifies that no in-out material mapping is used.

Returns
the current value of InputMaterialCount

◆ GetInputOutputMaterialMapping()

virtual int SimplygonSDK::IChartAggregator::GetInputOutputMaterialMapping ( unsigned int  InMaterialId)
pure virtual

Get the previously set material mapping for mat_id.

Parameters
InMaterialIdthe input material ID
Returns
the currently mapped output material for InMaterialId. -1 means mapping is not set.

◆ GetKeepOriginalChartSizesTextureHeight() [1/2]

virtual unsigned int SimplygonSDK::IChartAggregator::GetKeepOriginalChartSizesTextureHeight ( )
pure virtual

If KeepOriginalChartSizes is enabled: calling GetKeepOriginalChartSizesTextureWidth() and GetKeepOriginalChartSizesTextureHeight() after parameterization will return the final texture sizes

Returns
the current KeepOriginalChartSizesTextureHeight size

◆ GetKeepOriginalChartSizesTextureHeight() [2/2]

virtual unsigned int SimplygonSDK::IChartAggregator::GetKeepOriginalChartSizesTextureHeight ( unsigned int  OutputID)
pure virtual

If KeepOriginalChartSizes is enabled: calling GetKeepOriginalChartSizesTextureWidth() and GetKeepOriginalChartSizesTextureHeight() after parameterization will return the final texture sizes

Parameters
OutputIDthe output id
Returns
the current KeepOriginalChartSizesTextureHeight size

◆ GetKeepOriginalChartSizesTextureWidth() [1/2]

virtual unsigned int SimplygonSDK::IChartAggregator::GetKeepOriginalChartSizesTextureWidth ( )
pure virtual

If KeepOriginalChartSizes is enabled: calling GetKeepOriginalChartSizesTextureWidth(int ) and GetKeepOriginalChartSizesTextureHeight() after parameterization will return the final texture sizes

Returns
the current KeepOriginalChartSizesTextureWidth size

◆ GetKeepOriginalChartSizesTextureWidth() [2/2]

virtual unsigned int SimplygonSDK::IChartAggregator::GetKeepOriginalChartSizesTextureWidth ( unsigned int  OutputID)
pure virtual

If KeepOriginalChartSizes is enabled: calling GetKeepOriginalChartSizesTextureWidth(int ) and GetKeepOriginalChartSizesTextureHeight() after parameterization will return the final texture sizes

Parameters
OutputIDthe output id
Returns
the current KeepOriginalChartSizesTextureWidth size

◆ GetLockUVRotation()

virtual bool SimplygonSDK::IChartAggregator::GetLockUVRotation ( )
pure virtual

If LockUVRotation is enabled, only the original UV rotation will be used. Otherwise 4 rotations are used (90 degree rotations).

Returns
the current LockUVRotation

◆ GetOriginalChartProportionsChannel()

virtual rstring SimplygonSDK::IChartAggregator::GetOriginalChartProportionsChannel ( )
pure virtual

This channel determines which texture channel to look at when determining which chart proportions to keep. The default value is SG_MATERIAL_CHANNEL_DIFFUSE.

Returns
the current ChartAggregatorOriginalChartProportionsChannel value

◆ GetOutputMaterialCount()

virtual unsigned int SimplygonSDK::IChartAggregator::GetOutputMaterialCount ( )
pure virtual

Get the number of output mapping images that are to be generated.

Returns
the current value of OutputMaterialCount

◆ GetTexCoordLevel()

virtual unsigned int SimplygonSDK::IChartAggregator::GetTexCoordLevel ( )
pure virtual

Get which TexCoord level to get charts from during re-parameterization. If a TexCoordLevelName is set, it will override the TexCoord level.

Returns
the current TexCoord level

◆ GetTexCoordLevelName()

virtual rstring SimplygonSDK::IChartAggregator::GetTexCoordLevelName ( )
pure virtual

Get which TexCoord level name to get charts from during re-parameterization.

Returns
the current TexCoord level name

◆ GetTextureHeight() [1/2]

virtual unsigned int SimplygonSDK::IChartAggregator::GetTextureHeight ( )
pure virtual

Get the height of the texture to use.

Returns
the current value of texture height

◆ GetTextureHeight() [2/2]

virtual unsigned int SimplygonSDK::IChartAggregator::GetTextureHeight ( unsigned int  id)
pure virtual

Get the height of the texture to use.

Parameters
idthe output material ID
Returns
the current value of texture height

◆ GetTextureWidth() [1/2]

virtual unsigned int SimplygonSDK::IChartAggregator::GetTextureWidth ( )
pure virtual

Get the width of the texture to use.

◆ GetTextureWidth() [2/2]

virtual unsigned int SimplygonSDK::IChartAggregator::GetTextureWidth ( unsigned int  id)
pure virtual

Get the width of the texture to use.

Parameters
idthe output material ID
Returns
the current value of texture width

◆ GetUseAutomaticTextureSize()

virtual bool SimplygonSDK::IChartAggregator::GetUseAutomaticTextureSize ( )
pure virtual

Set the automatic_texture_size flag. If true, then texture sizes will be computed for the reduced mesh depending on its pixel size on screen.

Returns
the current flag

◆ GetUseVertexWeights()

virtual bool SimplygonSDK::IChartAggregator::GetUseVertexWeights ( )
pure virtual

Get the UseVertexWeights flag to scale the charts according to their vertex weights.

Returns
flag to using VertexWeights

◆ IsA()

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

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

◆ Parameterize()

virtual bool SimplygonSDK::IChartAggregator::Parameterize ( IGeometryData geom,
IRealArray arr 
)
pure virtual

Executes the parameterization of the geometry.

Parameters
geomis the geometry which is to be parameterized
arris the array where the result is stored
Returns
true if the parameterization succeeds, false otherwise

◆ SafeCast()

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

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

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

Definition at line 18419 of file SimplygonSDK.h.

◆ SetAutomaticTextureSizeMultiplier()

virtual void SimplygonSDK::IChartAggregator::SetAutomaticTextureSizeMultiplier ( real  value)
pure virtual

Set a texture dimension length multiplier for the automatic texture size.

Parameters
valuethe desired multiplier

◆ SetChartAggregatorMode()

virtual void SimplygonSDK::IChartAggregator::SetChartAggregatorMode ( unsigned int  value)
pure virtual

Determines which method to use when aggregating the UVs. SG_CHARTAGGREGATORMODE_TEXTURESIZEPROPORTIONS

  • Aggregated UV charts will be scaled to keep their relative pixel density relative to all other UV charts. The user can still set the size of the output texture maps. SG_CHARTAGGREGATORMODE_SURFACEAREA - Aggregated UV charts will have their size set based on its actual geometrical size. SG_CHARTAGGREGATORMODE_ORIGINALPIXELDENSITY
  • The combined atlas will be resized to fit each chart so that all charts retain the same amount of pixels as they originally had. This will override any manually set texture size. SG_CHARTAGGREGATORMODE_UVSIZEPROPORTIONS - Aggregated UV charts will have their size set based on its original UV size, disregarding the size of the texture they are used in.");
    Parameters
    valuethe SG_CHARTAGGREGATORMODE_[...] value.

◆ SetExpandZeroAreaUVs()

virtual void SimplygonSDK::IChartAggregator::SetExpandZeroAreaUVs ( bool  value)
pure virtual

If ExpandZeroAreaUVs is enabled then triangles that have zero area will be slightly expanded

Parameters
valuethe new ExpandZeroAreaUVs

◆ SetForcePower2Texture()

virtual void SimplygonSDK::IChartAggregator::SetForcePower2Texture ( bool  value)
pure virtual

If automatic_texture_size is enabled, then force the texture sizes to be a power of 2

Parameters
valuethe desired flag

◆ SetGutterSpace() [1/2]

virtual void SimplygonSDK::IChartAggregator::SetGutterSpace ( unsigned int  id,
unsigned int  value 
)
pure virtual

Set the minimum number of pixels between charts.

Parameters
idthe output material ID
valueis the value to which GutterSpace will be set

◆ SetGutterSpace() [2/2]

virtual void SimplygonSDK::IChartAggregator::SetGutterSpace ( unsigned int  value)
pure virtual

Set the minimum number of pixels between charts.

Parameters
valueis the value to which GutterSpace will be set

◆ SetInputMaterialCount()

virtual void SimplygonSDK::IChartAggregator::SetInputMaterialCount ( unsigned int  value)
pure virtual

Set the number of input materials used in the original geometry for mapping to multiple output materials. This needs to be set before you can set any specific in-out material mapping. 0 signifies that no in-out material mapping is used, ie. the process will produce one resulting mapping image.

Parameters
valueis the number of outputs

◆ SetInputOutputMaterialMapping()

virtual void SimplygonSDK::IChartAggregator::SetInputOutputMaterialMapping ( unsigned int  InMaterialId,
int  OutMaterialId 
)
pure virtual

Set the material mapping for InMaterialId, meaning what material of the generated LOD InMaterialId will be baked into. Both InputMaterialCount and OutputMaterialCount need to be set for this mapping to work, and all original materials need to be mapped to an existing output id.

Parameters
InMaterialIdthe input material ID
OutMaterialIdthe output material ID

◆ SetLockUVRotation()

virtual void SimplygonSDK::IChartAggregator::SetLockUVRotation ( bool  value)
pure virtual

If LockUVRotation is enabled, only the original UV rotation will be used. Otherwise 4 rotations are used (90 degree rotations).

Parameters
valuethe new LockUVRotation

◆ SetMaterialTable()

virtual void SimplygonSDK::IChartAggregator::SetMaterialTable ( IMaterialTable value)
pure virtual

The scene's material table

Parameters
valuethe scene's material table

◆ SetOriginalChartProportionsChannel()

virtual void SimplygonSDK::IChartAggregator::SetOriginalChartProportionsChannel ( const char *  value)
pure virtual

Set KeepOriginalChartProportionsChannel to an SG_MATERIAL_CHANNEL_[...]. This channel determines which texture channel to look at when determining which chart sizes to keep. The default value is SG_MATERIAL_CHANNEL_DIFFUSE.

Parameters
valuethe new KeepOriginalChartProportionsChannel value

◆ SetOutputMaterialCount()

virtual void SimplygonSDK::IChartAggregator::SetOutputMaterialCount ( unsigned int  value)
pure virtual

Set the number of output mapping images that are to be generated. The triangle field OutputMaterialIds also needs to be set, or the material IDs of the original geometry needs to be set to a specific output material in this setting object.

Parameters
valueis the number of outputs Value cannot be less than 1. Value cannot be greater than SG_MAXIMUM_CHART_AGGREGATOR_OUTPUT_MATERIAL_COUNT.

◆ SetSeparateOverlappingCharts()

virtual void SimplygonSDK::IChartAggregator::SetSeparateOverlappingCharts ( bool  value)
pure virtual

Set the Separate Overlapping Charts flag. If charts are overlapping in the original texture coords, they will be separated.

Parameters
valuethe desired flag value

◆ SetTexCoordLevel()

virtual void SimplygonSDK::IChartAggregator::SetTexCoordLevel ( unsigned int  value)
pure virtual

Set which TexCoord level to get charts from during re-parameterization. If a TexCoordLevelName is set, it will override the TexCoord level.

Parameters
valuethe level/id of the TexCoord to use (i.e. 0-255)

◆ SetTexCoordLevelName()

virtual void SimplygonSDK::IChartAggregator::SetTexCoordLevelName ( const char *  value)
pure virtual

Set which TexCoord level name to get charts from during re-parameterization.

Parameters
valuethe name of the TexCoord to use (i.e. 'TexCood0'-'TexCoord255')

◆ SetTextureHeight() [1/2]

virtual void SimplygonSDK::IChartAggregator::SetTextureHeight ( unsigned int  id,
unsigned int  value 
)
pure virtual

Set the height of the texture to use.

Parameters
idthe output material ID
valuethe texture height

◆ SetTextureHeight() [2/2]

virtual void SimplygonSDK::IChartAggregator::SetTextureHeight ( unsigned int  value)
pure virtual

Set the height of the texture to use.

Parameters
valuethe texture height

◆ SetTextureTable()

virtual void SimplygonSDK::IChartAggregator::SetTextureTable ( ITextureTable value)
pure virtual

The scene's texture table

Parameters
valuethe scene's texture table

◆ SetTextureWidth() [1/2]

virtual void SimplygonSDK::IChartAggregator::SetTextureWidth ( unsigned int  id,
unsigned int  value 
)
pure virtual

Set the width of the texture to use.

Parameters
idthe output material ID
valuethe texture width

◆ SetTextureWidth() [2/2]

virtual void SimplygonSDK::IChartAggregator::SetTextureWidth ( unsigned int  value)
pure virtual

Set the width of the texture to use.

Parameters
valuethe texture width

◆ SetUseAutomaticTextureSize()

virtual void SimplygonSDK::IChartAggregator::SetUseAutomaticTextureSize ( bool  value)
pure virtual

Set the automatic_texture_size flag. If true, then texture sizes will be computed for the reduced mesh depending on its pixel size on screen.

Parameters
valuethe desired flag

◆ SetUseVertexWeights()

virtual void SimplygonSDK::IChartAggregator::SetUseVertexWeights ( bool  value)
pure virtual

Set the UseVertexWeights flag to scale the charts according to their vertex weights.

Parameters
valuethe desired flag value

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