This interace accesses the adaptive subdivision properties.
An instance of this interface can be retrieved using the
following line of code (assuming 'node' is of type INode*):
static_cast<INodeGIProperties2*>(node->GetInterface(NODEGIPROPERTIES2_INTERFACE))
The adaptive subdivision properties are only used when the
object is not using the global mesh settings. When an object is
using the global settings, these will also be used for adaptive
subdivision.
Here is a description of the adaptive subdivision
properties:
GEOMETRIC OBJECTS (affects only geometric objects):
#include <INodeGIProperties.h>
Public Member Functions |
|
virtual void | CopyGIPropertiesFrom (const INodeGIProperties2 &source)=0 |
Copy properties from another interface.
|
|
virtual BOOL | GIUseAdaptiveSubdivision () const =0 |
Returns whether the use adaptive subdivision
property is turned on. |
|
virtual float | GIGetMinMeshSize () const =0 |
Returns the minimum mesh size set for the
object. |
|
virtual float | GIGetInitialMeshSize () const =0 |
Returns the initial mesh size set for the
object. |
|
virtual float | GIGetContrastThreshold () const =0 |
Returns the contrast threshold for
subdivision. |
|
virtual void | GISetUseAdaptiveSubdivision (BOOL useAdaptiveSubdivision)=0 |
Set whether the use adaptive subdivision
property is turned on. |
|
virtual void | GISetMinMeshSize (float minMeshSize)=0 |
Set the minimum mesh size set for the
object. |
|
virtual void | GISetInitialMeshSize (float initialMeshSize)=0 |
Set the initial mesh size set for the
object. |
|
virtual void | GISetContrastThreshold (float contrastThreshold)=0 |
Set the contrast threshold for subdivision.
|
virtual void CopyGIPropertiesFrom | ( | const INodeGIProperties2 & | source | ) | [pure virtual] |
Copy properties from another interface.
[in] | source | - The interface the properties are copied from. |
virtual BOOL GIUseAdaptiveSubdivision | ( | ) | const [pure virtual] |
Returns whether the use adaptive subdivision property is turned on.
This property should be ignored if INodeGIProperties::GIGetUseGlobalMeshSettings() returns TRUE.
virtual float GIGetMinMeshSize | ( | ) | const [pure virtual] |
Returns the minimum mesh size set for the object.
This property should be ignored if INodeGIProperties::GIGetUseGlobalMeshSettings() returns TRUE.
virtual float GIGetInitialMeshSize | ( | ) | const [pure virtual] |
Returns the initial mesh size set for the object.
This property should be ignored if INodeGIProperties::GIGetUseGlobalMeshSettings() returns TRUE.
virtual float GIGetContrastThreshold | ( | ) | const [pure virtual] |
Returns the contrast threshold for subdivision.
This property should be ignored if INodeGIProperties::GIGetUseGlobalMeshSettings() returns TRUE.
virtual void GISetUseAdaptiveSubdivision | ( | BOOL | useAdaptiveSubdivision | ) | [pure virtual] |
Set whether the use adaptive subdivision property is turned on.
This property should be ignored if INodeGIProperties::GIGetUseGlobalMeshSettings() returns TRUE.
[in] | useAdaptiveSubdivision | - TRUE if the object can be adaptively subdivided. FALSE otherwise. |
virtual void GISetMinMeshSize | ( | float | minMeshSize | ) | [pure virtual] |
Set the minimum mesh size set for the object.
This property should be ignored if INodeGIProperties::GIGetUseGlobalMeshSettings() returns TRUE.
[in] | minMeshSize | - The minimum mesh size that adaptive subdivision will produce. The size of a face is the length of the longest side. |
virtual void GISetInitialMeshSize | ( | float | initialMeshSize | ) | [pure virtual] |
Set the initial mesh size set for the object.
This property should be ignored if INodeGIProperties::GIGetUseGlobalMeshSettings() returns TRUE.
[in] | initialMeshSize | - The size of the smallest face that the initial meshing code will subdivide to improve the face shape. The size of a face in this case is the square-root of the area. |
virtual void GISetContrastThreshold | ( | float | contrastThreshold | ) | [pure virtual] |
Set the contrast threshold for subdivision.
This property should be ignored if INodeGIProperties::GIGetUseGlobalMeshSettings() returns TRUE.
[in] | contrastThreshold | - The threshold, which can be from 0 to 1, used to determine
when a face is subdivided. The contrast is calculated for each
light searately. The contrast on a face is effectively calculated
like this: max = max brightness of light shining on the vertices of the face min = min brightness of light shining on the vertices of the face contrast = log(max * (max - min) / (max + min) - 0.02 + 1.0) / log(1000.0 - 0.02 + 1) if max is 0 the the contrast is 0. |