EditSoftSelectionMode.h

Go to the documentation of this file.
00001 /**********************************************************************
00002  *<
00003     FILE: EditSoftSelectionMode.h
00004 
00005     DESCRIPTION:  Edit Soft Selection Command Mode
00006 
00007     CREATED BY: Michael Zyracki
00008 
00009     HISTORY: created September 2007
00010 
00011  *> Copyright (c) 2007-2008 Autodesk, Inc., All Rights Reserved.
00012  **********************************************************************/
00013 #pragma once
00014 
00015 #include "object.h"
00016 #include "Maxapi.h"
00017 #include "maxheap.h"
00018 #include "cmdmode.h"
00019 #include "objmode.h"
00020 
00022 
00029 class EditSSCB :  public MaxHeapOperators
00030 {
00031 public:
00033     CoreExport virtual ~EditSSCB();
00034 
00036 
00039     virtual void DoAccept(TimeValue t) =0;
00041 
00044 
00045 
00049     virtual void SetFalloff(TimeValue t,float falloff) =0;  virtual void SetPinch(TimeValue t, float pinch) =0;
00051 
00054     virtual void SetBubble(TimeValue t, float bubble) =0;
00056 
00059     virtual float GetFalloff(TimeValue t) =0;
00061 
00064     virtual float GetPinch(TimeValue t) =0;
00066 
00069     virtual float GetBubble(TimeValue t) =0;
00070 
00071 
00072 };
00073 
00074 
00075 
00076 class EditSSMouseProc;
00077 
00078 
00080 
00084 class EditSSMode : public CommandMode {
00085 private:
00086     ChangeFGObject      mFGProc;
00087     EditSSMouseProc*    mpEproc;
00088     EditSSCB*           mpCB;
00089 
00090 public:
00092 
00097     CoreExport EditSSMode(EditSSCB* e, ReferenceTarget *rt,IObjParam *i);
00099     CoreExport virtual ~EditSSMode();
00100     
00102     int                         Class() { return MODIFY_COMMAND; }
00104     int                         ID() { return  CID_EDITSOFTSELECTION; }
00106     MouseCallBack               *MouseProc(int *numPoints); 
00108     ChangeForegroundCallback    *ChangeFGProc() { return &mFGProc; }
00110     BOOL                        ChangeFG( CommandMode *oldMode ) { return oldMode->ChangeFGProc() != &mFGProc; }
00111 
00113     void EnterMode();
00114 
00116     void ExitMode();
00117 };
00118 
00119