Public Types | Public Member Functions

IAutoTangentMan Class Reference

This reference page is linked to from the following overview topics: Incremental Improvements.


Search for all occurrences

Detailed Description

Manages controller auto-tangent related options.

This interface class allows for querying controllers for their auto-tangent support and the auto-tangent algorithm they use. 3ds Max 2012 introduces an improved auto tangent algorithm which is consistent with the ones used in other Autodesk products. IAutoTangentMan allows to determine whether or not the legacy or the new auto tangent algorithm is used by 3ds Max controllers that implement support for auto tangents, such as the Bezier float and Bezier point3 controllers. Client code can get access to IAutoTangentMan using the following code:

static_cast<IAutoTangentMan*>( GetCOREInterface(IAUTOTANGENTMAN_INTERFACE ) );

#include <IAutoTangentMan.h>

Inheritance diagram for IAutoTangentMan:
Inheritance graph
[legend]

List of all members.

Public Types

enum   AutoTangentAlgorithm { eNotSupported = -1, eLegacyAlgorithm = 0, eUnifiedAlgorithm = 1 }
 

The auto-tangent algorithms supported by 3ds Max.

More...

Public Member Functions

virtual bool  SupportsAutoTangent (Control *controller) const =0
  Returns whether a particular controller supports auto-tangents.
virtual AutoTangentAlgorithm  GetAutoTangentAlgorithm (Control *controller) const =0
  Gets the auto-tangent algorithm used by a given controller.
virtual void  SetAutoTangentAlgorithm (AutoTangentAlgorithm algorithm, Tab< Control * > &controllers)=0
  Sets the auto-tangent algorithm to be used by a given controllers.
virtual AutoTangentAlgorithm  GetDefaultControllerAutoTangentAlgorithm () const =0
  Gets the default auto-tangent algorithm that will be used when new controllers that support auto tangents are created.
virtual void  SetDefaultControllerAutoTangentAlgorithm (AutoTangentAlgorithm algorithm)=0
  Sets the default auto-tangent algorithm that will be used when new controllers that support auto tangents are created.

Member Enumeration Documentation

The auto-tangent algorithms supported by 3ds Max.

Enumerator:
eNotSupported 

The specified controller doesn't support auto tangents.

eLegacyAlgorithm 

The pre-3ds Max 2012 auto tangent algorithm.

eUnifiedAlgorithm 

The auto-tangent algorithm being used across Autodesk products.


Member Function Documentation

virtual bool SupportsAutoTangent ( Control controller ) const [pure virtual]

Returns whether a particular controller supports auto-tangents.

Parameters:
[in] controller The controller to check
Returns:
Returns true if the controller supports auto-tangents, for example a Bezier controller.
virtual AutoTangentAlgorithm GetAutoTangentAlgorithm ( Control controller ) const [pure virtual]

Gets the auto-tangent algorithm used by a given controller.

Parameters:
[in] controller The controller to query
Returns:
Returns the auto-tangent algorithm being used. If the controller doesn't support auto tangents then eNotSupported is returned.
virtual void SetAutoTangentAlgorithm ( AutoTangentAlgorithm  algorithm,
Tab< Control * > &  controllers 
) [pure virtual]

Sets the auto-tangent algorithm to be used by a given controllers.

Parameters:
[in] controllers The list of controllers.
[in] algorithm The auto-tangent algorithm to set. eNotSuported is not a valid input. Note that if the controller doesn't support the auto tangent algorithm, no algorithm is set on that controller, effectively setting its type as eNotSupported.
virtual AutoTangentAlgorithm GetDefaultControllerAutoTangentAlgorithm ( ) const [pure virtual]

Gets the default auto-tangent algorithm that will be used when new controllers that support auto tangents are created.

Returns:
Returns the default auto-tangent algorithm.
virtual void SetDefaultControllerAutoTangentAlgorithm ( AutoTangentAlgorithm  algorithm ) [pure virtual]

Sets the default auto-tangent algorithm that will be used when new controllers that support auto tangents are created.

Parameters:
[in] algorithm The default auto-tangent algorithm to be used. eNotSupported is not a valid input.

IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan
IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan IAutoTangentMan