IAutoTangentMan.h

Go to the documentation of this file.
00001 /*==============================================================================
00002 Copyright 2010 Autodesk, Inc.  All rights reserved.
00003 Use of this software is subject to the terms of the Autodesk license agreement provided at the time of installation or download,
00004 or which otherwise accompanies this software in either electronic or hard copy form.   
00005 *****************************/
00006 // DESCRIPTION: Interface to AutoTangent Manager
00007 // AUTHOR: Michael Zyracki created 2010
00008 //***************************************************************************/
00009 #pragma once
00010 
00011 #include "ifnpub.h"
00012 #include "Control.h"
00013 
00015 #define IAUTOTANGENTMAN_INTERFACE Interface_ID(0x13383fe1, 0x326579c6)
00016 
00030 class IAutoTangentMan: public FPStaticInterface
00031 {
00032 public:
00034     enum AutoTangentAlgorithm
00035     { 
00036         eNotSupported = -1, 
00037         eLegacyAlgorithm=0, 
00038         eUnifiedAlgorithm=1 
00039     };
00040  
00044     virtual bool SupportsAutoTangent(Control *controller)const = 0;
00045 
00050     virtual AutoTangentAlgorithm GetAutoTangentAlgorithm(Control *controller)const = 0;
00051 
00058     virtual void SetAutoTangentAlgorithm(AutoTangentAlgorithm algorithm,Tab<Control*> &controllers)=0;
00059 
00063     virtual AutoTangentAlgorithm GetDefaultControllerAutoTangentAlgorithm()const = 0;
00064 
00068     virtual void SetDefaultControllerAutoTangentAlgorithm(AutoTangentAlgorithm algorithm) = 0;
00069 };
00070