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