IWorkingPivot.h

Go to the documentation of this file.
00001 /*==============================================================================
00002 // Copyright (c) 1998-2008 Autodesk, Inc.
00003 // All rights reserved.
00004 // 
00005 // These coded instructions, statements, and computer programs contain
00006 // unpublished proprietary information written by Autodesk, Inc., and are
00007 // protected by Federal copyright law. They may not be disclosed to third
00008 // parties or copied or duplicated in any form, in whole or in part, without
00009 // the prior written consent of Autodesk, Inc.
00010 //**************************************************************************/
00011 // DESCRIPTION: Interface to Working Pivot Interfaces
00012 // AUTHOR: Michael Zyracki created 2007
00013 //***************************************************************************/
00014 
00015 #pragma once
00016 #include "Maxapi.h"
00017 #include "maxheap.h"
00018 #include "ifnpub.h"
00019 #include "iparamb2.h"
00020 
00021 
00022 
00025 #define IWORKINGPIVOT_INTERFACE Interface_ID(0x6ea64179, 0x233915fd)
00026 
00028 #define GetIWorkingPivot()  static_cast<IWorkingPivot*>(GetCOREInterface(IWORKINGPIVOT_INTERFACE))
00029 
00030 
00032 
00035 class IWorkingPivot : public FPStaticInterface {
00036 
00037 public:
00038 
00040 
00041 
00045     virtual void SetUseMode(BOOL use) = 0;
00046     
00051     virtual BOOL GetUseMode()const =0;
00053 
00055 
00056 
00060     virtual void SetEditMode(BOOL edit) = 0;
00061     
00064 
00065     virtual BOOL GetEditMode()const =0;
00066 
00074     virtual void SetPlacePivotViewMode(BOOL place,BOOL alignToView) = 0;
00075 
00080     virtual BOOL GetPlacePivotViewMode()const = 0;
00081 
00089     virtual void SetPlacePivotSurfaceMode(BOOL place,BOOL alignToView) = 0;
00090 
00095     virtual BOOL GetPlacePivotSurfaceMode()const = 0;
00096 
00097 
00102     virtual BOOL GetPlacePivotAlignToView() const = 0;
00103 
00105     
00107 
00108 
00112     virtual void SetTM(Matrix3 &mat) =0;
00113 
00118     virtual Matrix3 GetTM()const = 0;
00120 
00122 
00123 
00126     virtual void SetAxisSize(float size) = 0;
00127     
00131     virtual float GetAxisSize()const =0;
00132     
00134 
00136 
00137 
00141     virtual void AlignToView() =0;
00146     virtual void ResetTM() =0;
00152     virtual void ResetTM(INode *node)=0;
00154 
00155 
00157 
00158 
00159     virtual IOResult Save(ISave* iSave) = 0;
00161     virtual IOResult Load(ILoad* iLoad) = 0;
00163 
00164 
00165 };
00166 
00167 
00168 
00169