Public Member Functions

INodeGIProperties2 Class Reference

Search for all occurrences

Detailed Description

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>

Inheritance diagram for INodeGIProperties2:
Inheritance graph
[legend]

List of all members.

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.

Member Function Documentation

virtual void CopyGIPropertiesFrom ( const INodeGIProperties2 source ) [pure virtual]

Copy properties from another interface.

Parameters:
[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.

Returns:
TRUE if the object can be adaptively subdivided. FALSE otherwise.
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.

Returns:
The minimum mesh size that adaptive subdivision will produce. The size of a face is the length of the longest side.
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.

Returns:
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 float GIGetContrastThreshold ( ) const [pure virtual]

Returns the contrast threshold for subdivision.

This property should be ignored if INodeGIProperties::GIGetUseGlobalMeshSettings() returns TRUE.

Returns:
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.
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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

Parameters:
[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.

INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2
INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2 INodeGIProperties2