c4d.utils.PolygonReduction

class c4d.utils.PolygonReduction

Performs polygon reduction for a polygon object.

New in version R19.

PolygonReductionData Dictionary

The dictionary stores information required for polygon reduction:

Overview

PolygonReduction.__init__

Creates a polygon reduction object.

PolygonReduction.PreProcess

Starts the background or synchronous preprocessing that sets up the polygon reduction cache.

PolygonReduction.IsPreprocessing

Checks whether the background preprocessing thread is still running.

PolygonReduction.StopPreprocessing

Aborts preprocessing if it is running in the background. Resets the interactive settings values.

PolygonReduction.Reset

Aborts preprocessing if it is running in the background and frees all temporary data.

PolygonReduction.SetReductionStrengthLevel

Sets the reduction strength level if the desired level is different than the current one.

PolygonReduction.SetTriangleLevel

Reduces or restores the mesh to the desired number of triangles.

PolygonReduction.SetVertexLevel

Reduces or restores the mesh to the desired number of vertices.

PolygonReduction.SetRemainingEdgesLevel

Reduces or restores the mesh to the desired number of edges remaining to collapse.

PolygonReduction.GetReductionStrengthLevel

Queries the current reduction strength level.

PolygonReduction.GetTriangleLevel

Queries the current triangle count.

PolygonReduction.GetVertexLevel

Queries the current vertex count.

PolygonReduction.GetRemainingEdgesLevel

Queries the current remaining number of edges available to collapse.

PolygonReduction.GetMaxReductionStrengthLevel

Queries the maximum reduction strength percentage.

PolygonReduction.GetMaxTriangleLevel

Queries the triangle count when no reduction has been performed.

PolygonReduction.GetMaxVertexLevel

Queries the vertex count when no reduction has been performed.

PolygonReduction.GetMaxRemainingEdgesLevel

Queries the total number of possible edge collapses.

PolygonReduction.GetMinTriangleLevel

Queries the triangle count when complete reduction has been performed.

PolygonReduction.GetMinVertexLevel

Queries the vertex count when complete reduction has been performed.

PolygonReduction.GetData

Retrieves the associated data for the polygon reduction.

PolygonReduction.IsValid

Checks if a valid object and a valid document are associated with the PolygonReduction instance.

Members

PolygonReduction.__init__(self)

Creates a polygon reduction object.

PolygonReduction.PreProcess(self, data)

Starts the background or synchronous preprocessing that sets up the polygon reduction cache.

Parameters

data (dict) – The data for the reduction. See PolygonReductionData Dictionary.

Return type

bool

Returns

True if successful, otherwise False.

PolygonReduction.IsPreprocessing(self)

Checks whether the background preprocessing thread is still running.

Return type

bool

Returns

True if preprocessing is ongoing, otherwise False.

PolygonReduction.StopPreprocessing(self)

Aborts preprocessing if it is running in the background. Resets the interactive settings values.

PolygonReduction.Reset(self)

Aborts preprocessing if it is running in the background and frees all temporary data.

PolygonReduction.SetReductionStrengthLevel(self, strengthLevel)

Sets the reduction strength level if the desired level is different than the current one.

Parameters

strengthLevel (float) – The desired reduction strength level.

Return type

bool

Returns

True if successful, otherwise False.

PolygonReduction.SetTriangleLevel(self, desiredLevel)

Reduces or restores the mesh to the desired number of triangles.

Note

If the desired level is different than the current level, at least one edge collapse or restore will be performed.
The actual resulting number of triangles may be slightly different.
Parameters

desiredLevel (int) – The desired number of triangles on call.

Return type

bool

Returns

True if successful, otherwise False.

PolygonReduction.SetVertexLevel(self, desiredLevel)

Reduces or restores the mesh to the desired number of vertices.

Note

If the desired level is different than the current level, at least one edge collapse or restore will be performed.
The actual resulting number of vertices may be slightly different.
Parameters

desiredLevel (int) – The desired number of vertices on call.

Return type

bool

Returns

True if successful, otherwise False.

PolygonReduction.SetRemainingEdgesLevel(self, desiredLevel)

Reduces or restores the mesh to the desired number of edges remaining to collapse.

Note

If the desired level is different than the current level, at least one edge collapse or restore will be performed.
The actual resulting number of edges may be slightly different.
Parameters

desiredLevel (int) – The desired number of collapse stack.

Return type

bool

Returns

True if successful, otherwise False.

PolygonReduction.GetReductionStrengthLevel(self)

Queries the current reduction strength level.

Return type

int

Returns

The reduction strength percentage: 0 means no reduction performed, 1 means maximum reduction performed.

PolygonReduction.GetTriangleLevel(self)

Queries the current triangle count.

Return type

int

Returns

The triangle count.

PolygonReduction.GetVertexLevel(self)

Queries the current vertex count.

Return type

int

Returns

The vertex count.

PolygonReduction.GetRemainingEdgesLevel(self)

Queries the current remaining number of edges available to collapse.

Return type

int

Returns

The remaining edges level.

PolygonReduction.GetMaxReductionStrengthLevel(self)

Queries the maximum reduction strength percentage.

Return type

float

Returns

The maximum reduction strength percentage. Always 1.0.

PolygonReduction.GetMaxTriangleLevel(self)

Queries the triangle count when no reduction has been performed.

Return type

int

Returns

The maximum triangle count.

PolygonReduction.GetMaxVertexLevel(self)

Queries the vertex count when no reduction has been performed.

Return type

int

Returns

The maximum vertex count.

PolygonReduction.GetMaxRemainingEdgesLevel(self)

Queries the total number of possible edge collapses.

Return type

int

Returns

The maximum collapse count.

PolygonReduction.GetMinTriangleLevel(self)

Queries the triangle count when complete reduction has been performed.

Return type

int

Returns

The minimum triangle count. May be non-zero if border constraints are enabled.

PolygonReduction.GetMinVertexLevel(self)

Queries the vertex count when complete reduction has been performed.

Return type

int

Returns

The minimum vertex count. May be non-zero if border constraints are enabled.

PolygonReduction.GetData(self)

Retrieves the associated data for the polygon reduction.

Return type

dict

Returns

The associated data. See PolygonReductionData Dictionary.

PolygonReduction.IsValid(self)

Checks if a valid object and a valid document are associated with the PolygonReduction instance.

Return type

bool

Returns

True if the PolygonReduction instance is valid, otherwise False.