mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-14 10:37:41 -04:00
Fix MaxPlasmaLights
The usual--make it compile and add a precompiled header. Also, removed a few (unused) files of questionable licensing. Check some of the removed commented out code--it has comments from 1996!
This commit is contained in:
@ -10,15 +10,11 @@ set(MaxPlasmaLights_HEADERS
|
||||
plRealTimeLightBase.h
|
||||
plRealTimeLights.h
|
||||
plRealTimeLightsPBDec.h
|
||||
plRTLightBaseAnimDlgProc.h
|
||||
plRTLightBaseAnimPBDec.h
|
||||
plRTObjLightDesc.h
|
||||
plRTPlasmaLights.def
|
||||
plRTProjDirLight.h
|
||||
plRTProjDirLightClassDesc.h
|
||||
plRTProjDirLightPBDec.h
|
||||
prim.h
|
||||
target.h
|
||||
)
|
||||
|
||||
set(MaxPlasmaLights_RESOURCES
|
||||
@ -35,6 +31,7 @@ set(MaxPlasmaLights_SOURCES
|
||||
)
|
||||
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${Plasma_BINARY_DIR}/bin)
|
||||
use_precompiled_header(Pch.h Pch.cpp MaxPlasmaLights_HEADERS MaxPlasmaLights_SOURCES)
|
||||
add_library(MaxPlasmaLights SHARED ${MaxPlasmaLights_HEADERS} ${MaxPlasmaLights_RESOURCES} ${MaxPlasmaLights_SOURCES})
|
||||
set_target_properties(MaxPlasmaLights PROPERTIES SUFFIX ".dlo")
|
||||
|
||||
|
@ -39,18 +39,20 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#include "HeadSpin.h"
|
||||
#include "plRealTimeLightBase.h"
|
||||
|
||||
#include "plRealTimeLights.h"
|
||||
#include "plRTProjDirLightClassDesc.h"
|
||||
#include "MaxMain/MaxCompat.h"
|
||||
#pragma hdrstop
|
||||
|
||||
#include "pnMessage/pnMessageCreatable.h"
|
||||
#include "pnKeyedObject/pnKeyedObjectCreatable.h"
|
||||
#include "pnNetCommon/pnNetCommonCreatable.h"
|
||||
|
||||
#include "MaxMain/MaxCompat.h"
|
||||
|
||||
#include "plRTProjDirLightClassDesc.h"
|
||||
#include "plSurface/plLayerInterface.h"
|
||||
|
||||
REGISTER_NONCREATABLE( plLayerInterface );
|
||||
|
||||
|
||||
|
51
Sources/Tools/MaxPlasmaLights/Pch.cpp
Normal file
51
Sources/Tools/MaxPlasmaLights/Pch.cpp
Normal file
@ -0,0 +1,51 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#include "Pch.h"
|
||||
|
||||
/**
|
||||
* \file Pch.cpp
|
||||
* \brief Precompiled Header object for MaxPlasmaLights
|
||||
*
|
||||
* This file prompts MSVC to generate a PCH file for the MaxPlasmaLights project. It
|
||||
* has no function if precompiled headers are disabled in cmake.
|
||||
*/
|
69
Sources/Tools/MaxPlasmaLights/Pch.h
Normal file
69
Sources/Tools/MaxPlasmaLights/Pch.h
Normal file
@ -0,0 +1,69 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#ifndef _MaxPlasmaLights_Pch_inc_
|
||||
#define _MaxPlasmaLights_Pch_inc_
|
||||
|
||||
/**
|
||||
* \file Pch.h
|
||||
* \brief Precompiled Header for MaxPlasmaLights
|
||||
*/
|
||||
|
||||
// Core Plasma
|
||||
#include "HeadSpin.h"
|
||||
|
||||
// Windows
|
||||
#include "hsWindows.h"
|
||||
|
||||
// Base MaxPlasmaLights stuff...
|
||||
#include "plRealTimeLightBase.h"
|
||||
#include "plRealTimeLights.h"
|
||||
|
||||
// Max SDK
|
||||
#include <decomp.h>
|
||||
#include <hsv.h>
|
||||
|
||||
// Utility
|
||||
#include "MaxMain/MaxCompat.h"
|
||||
#include "resource.h"
|
||||
|
||||
#endif // _MaxPlasmaLights_Pch_inc_
|
@ -1,86 +0,0 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Animation Rollout Dialog Proc Class Definition //
|
||||
// Cyan, Inc. //
|
||||
// //
|
||||
//// Version History //////////////////////////////////////////////////////////
|
||||
// //
|
||||
// 8.6.2001 mcn - Created. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if 0//ndef _plRTLightBaseAnimDlgProc_h
|
||||
#define _plRTLightBaseAnimDlgProc_h
|
||||
|
||||
#include "plNotetrackDlg.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//// Dialog Proc for Animation Rollout ////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class plRTLightBaseAnimDlgProc : public ParamMap2UserDlgProc
|
||||
{
|
||||
protected:
|
||||
plNoteTrackDlg fNoteTrackDlg;
|
||||
|
||||
HWND fhWnd;
|
||||
|
||||
static plRTLightBaseAnimDlgProc fInstance;
|
||||
static const char *kDecalNameNone;
|
||||
|
||||
public:
|
||||
BOOL DlgProc( TimeValue t, IParamMap2 *map, HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
void DeleteThis() { fNoteTrackDlg.DeleteCache(); }
|
||||
void SetThing( ReferenceTarget *m );
|
||||
|
||||
static plRTLightBaseAnimDlgProc *Instance() { return &fInstance; }
|
||||
|
||||
protected:
|
||||
void IInitControls( Animatable *anim, IParamBlock2 *pb );
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif //_plRTLightBaseAnimDlgProc_h
|
||||
|
@ -1,84 +0,0 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// //
|
||||
// Animation Rollout ParamBlock for Runtime Lights //
|
||||
// Cyan, Inc. //
|
||||
// //
|
||||
//// Version History //////////////////////////////////////////////////////////
|
||||
// //
|
||||
// 8.3.2001 mcn - Created. //
|
||||
// //
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if 0//ndef _plRTLightBaseAnimPB_h
|
||||
#define _plRTLightBaseAnimPB_h
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//// Animation Rollout ParamBlock /////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
ParamBlockDesc2 plRTLightBaseAnimPB
|
||||
(
|
||||
plRTLightBase::kBlkAnim, _T("anim"), IDS_LIGHT_ANIM, nil, // To be added manually
|
||||
P_AUTO_CONSTRUCT + P_AUTO_UI, plRTLightBase::kRefAnimParams,
|
||||
|
||||
// UI
|
||||
IDD_LIGHT_ANIM, IDS_LIGHT_ANIM, 0, APPENDROLL_CLOSED, plRTLightBaseAnimDlgProc::Instance(),
|
||||
|
||||
plRTLightBase::kAnimName, _T("animName"), TYPE_STRING, 0, 0,
|
||||
end,
|
||||
|
||||
plRTLightBase::kAnimAutoStart, _T("autoStart"), TYPE_BOOL, 0, 0,
|
||||
end,
|
||||
|
||||
plRTLightBase::kAnimLoop, _T("loop"), TYPE_BOOL, 0, 0,
|
||||
end,
|
||||
plRTLightBase::kAnimLoopName, _T("loopName"), TYPE_STRING, 0, 0,
|
||||
end,
|
||||
|
||||
end
|
||||
);
|
||||
|
||||
|
||||
#endif //_plRTLightBaseAnimPB_h
|
||||
|
@ -53,9 +53,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#ifndef _plRTObjLightDesc_h
|
||||
#define _plRTObjLightDesc_h
|
||||
|
||||
#include "plRealTimeLightBase.h"
|
||||
#include "resource.h"
|
||||
|
||||
class plRTLightBase;
|
||||
class plMaxNode;
|
||||
|
||||
//// AttenRanges Class ////////////////////////////////////////////////////////
|
||||
|
@ -51,14 +51,15 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "HeadSpin.h"
|
||||
#include "plRealTimeLights.h"
|
||||
#pragma hdrstop
|
||||
|
||||
#include "plRTProjDirLight.h"
|
||||
#include "plRTProjDirLightClassDesc.h"
|
||||
#include "iparamm2.h"
|
||||
#include "MaxPlasmaMtls/Layers/plLayerTex.h"
|
||||
#include "MaxPlasmaMtls/Layers/plLayerTexBitmapPB.h"
|
||||
#include "MaxComponent/plMaxAnimUtils.h"
|
||||
#include "plRTObjLightDesc.h"
|
||||
#include "plRTLightBaseAnimDlgProc.h"
|
||||
|
||||
|
||||
//// Static ClassDesc2 Get Functions //////////////////////////////////////////
|
||||
|
@ -54,8 +54,10 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#ifndef _plRTProjDirLight_h
|
||||
#define _plRTProjDirLight_h
|
||||
|
||||
#include "plRealTimeLightBase.h"
|
||||
#include "iparamm2.h"
|
||||
class Class_ID;
|
||||
class IParamBlock2;
|
||||
struct PB2Value;
|
||||
class ReferenceMaker;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -55,8 +55,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#define _plRTProjDirLightClassDesc_h
|
||||
|
||||
#include "plRTProjDirLight.h"
|
||||
#include "iparamm2.h"
|
||||
#include "resource.h"
|
||||
|
||||
class plRTProjDirLightDesc : public ClassDesc2
|
||||
{
|
||||
|
@ -39,13 +39,16 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#include "HeadSpin.h"
|
||||
|
||||
#include "plRealTimeLightBase.h"
|
||||
#include "iparamm2.h"
|
||||
#include "resource.h"
|
||||
#include "decomp.h"
|
||||
#include "hsv.h"
|
||||
#include "target.h"
|
||||
|
||||
#include <decomp.h>
|
||||
#include <hsv.h>
|
||||
#pragma hdrstop
|
||||
|
||||
#include "MaxPlasmaMtls/Layers/plLayerTex.h"
|
||||
#include "MaxPlasmaMtls/Layers/plLayerTexBitmapPB.h"
|
||||
|
||||
@ -1750,354 +1753,3 @@ void plRTLightBase::UpdateTargDistance(TimeValue t, INode* inode)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
///
|
||||
//
|
||||
//
|
||||
// Target Creation for Targeted Lights...
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
#if 0
|
||||
class TSpotCreationManager : public MouseCallBack, ReferenceMaker
|
||||
{
|
||||
private:
|
||||
CreateMouseCallBack *createCB;
|
||||
INode *lgtNode,*targNode;
|
||||
plRTLightBase *lgtObject;
|
||||
TargetObject *targObject;
|
||||
int attachedToNode;
|
||||
IObjCreate *createInterface;
|
||||
ClassDesc *cDesc;
|
||||
Matrix3 mat; // the nodes TM relative to the CP
|
||||
IPoint2 pt0;
|
||||
int ignoreSelectionChange;
|
||||
int lastPutCount;
|
||||
|
||||
void CreateNewObject();
|
||||
|
||||
int NumRefs() { return 1; }
|
||||
RefTargetHandle GetReference(int i) { return (RefTargetHandle)lgtNode; }
|
||||
void SetReference(int i, RefTargetHandle rtarg) { lgtNode = (INode *)rtarg; }
|
||||
|
||||
// StdNotifyRefChanged calls this, which can change the partID to new value
|
||||
// If it doesnt depend on the particular message& partID, it should return
|
||||
// REF_DONTCARE
|
||||
RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget,
|
||||
PartID& partID, RefMessage message);
|
||||
|
||||
public:
|
||||
void Begin( IObjCreate *ioc, ClassDesc *desc );
|
||||
void End();
|
||||
|
||||
TSpotCreationManager() { ignoreSelectionChange = FALSE; }
|
||||
int proc( HWND hwnd, int msg, int point, int flag, IPoint2 m );
|
||||
BOOL SupportAutoGrid(){return TRUE;}
|
||||
};
|
||||
|
||||
|
||||
#define CID_TSPOTCREATE CID_USER + 3
|
||||
|
||||
class TSpotCreateMode : public CommandMode {
|
||||
TSpotCreationManager proc;
|
||||
public:
|
||||
void Begin( IObjCreate *ioc, ClassDesc *desc ) { proc.Begin( ioc, desc ); }
|
||||
void End() { proc.End(); }
|
||||
|
||||
int Class() { return CREATE_COMMAND; }
|
||||
int ID() { return CID_TSPOTCREATE; }
|
||||
MouseCallBack *MouseProc(int *numPoints) { *numPoints = 1000000; return &proc; }
|
||||
ChangeForegroundCallback *ChangeFGProc() { return CHANGE_FG_SELECTED; }
|
||||
BOOL ChangeFG( CommandMode *oldMode ) { return (oldMode->ChangeFGProc() != CHANGE_FG_SELECTED); }
|
||||
void EnterMode() {
|
||||
}
|
||||
void ExitMode() {
|
||||
}
|
||||
BOOL IsSticky() { return FALSE; }
|
||||
};
|
||||
|
||||
static TSpotCreateMode theTSpotCreateMode;
|
||||
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
void TSpotCreationManager::Begin( IObjCreate *ioc, ClassDesc *desc )
|
||||
{
|
||||
createInterface = ioc;
|
||||
cDesc = desc;
|
||||
attachedToNode = FALSE;
|
||||
createCB = NULL;
|
||||
lgtNode = NULL;
|
||||
targNode = NULL;
|
||||
lgtObject = NULL;
|
||||
targObject = NULL;
|
||||
CreateNewObject();
|
||||
}
|
||||
|
||||
void TSpotCreationManager::End()
|
||||
{
|
||||
if ( lgtObject ) {
|
||||
lgtObject->EndEditParams( (IObjParam*)createInterface, END_EDIT_REMOVEUI, NULL);
|
||||
if ( !attachedToNode ) {
|
||||
// RB 4-9-96: Normally the hold isn't holding when this
|
||||
// happens, but it can be in certain situations (like a track view paste)
|
||||
// Things get confused if it ends up with undo...
|
||||
theHold.Suspend();
|
||||
//delete lgtObject;
|
||||
lgtObject->DeleteThis(); // JBW 11.1.99, this allows scripted plugin lights to delete cleanly
|
||||
lgtObject = NULL;
|
||||
theHold.Resume();
|
||||
// RB 7/28/97: If something has been put on the undo stack since this object was created, we have to flush the undo stack.
|
||||
if (theHold.GetGlobalPutCount()!=lastPutCount) {
|
||||
GetSystemSetting(SYSSET_CLEAR_UNDO);
|
||||
}
|
||||
macroRec->Cancel(); // JBW 4/23/99
|
||||
}
|
||||
else if ( lgtNode ) {
|
||||
// Get rid of the reference.
|
||||
DeleteReference(0); // sets lgtNode = NULL
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RefResult TSpotCreationManager::NotifyRefChanged(
|
||||
Interval changeInt,
|
||||
RefTargetHandle hTarget,
|
||||
PartID& partID,
|
||||
RefMessage message)
|
||||
{
|
||||
switch (message) {
|
||||
|
||||
case REFMSG_PRENOTIFY_PASTE:
|
||||
case REFMSG_TARGET_SELECTIONCHANGE:
|
||||
if ( ignoreSelectionChange ) {
|
||||
break;
|
||||
}
|
||||
if (lgtObject && lgtNode==hTarget) {
|
||||
// this will set camNode== NULL;
|
||||
DeleteReference(0);
|
||||
goto endEdit;
|
||||
}
|
||||
// fall through
|
||||
|
||||
case REFMSG_TARGET_DELETED:
|
||||
if ( lgtObject && lgtNode==hTarget ) {
|
||||
endEdit:
|
||||
lgtObject->EndEditParams( (IObjParam*)createInterface, 0, NULL);
|
||||
lgtObject = NULL;
|
||||
lgtNode = NULL;
|
||||
CreateNewObject();
|
||||
attachedToNode = FALSE;
|
||||
}
|
||||
else if (targNode==hTarget) {
|
||||
targNode = NULL;
|
||||
targObject = NULL;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return REF_SUCCEED;
|
||||
}
|
||||
|
||||
|
||||
void TSpotCreationManager::CreateNewObject()
|
||||
{
|
||||
lgtObject = (plRTLightBase *)cDesc->Create();
|
||||
lastPutCount = theHold.GetGlobalPutCount();
|
||||
|
||||
macroRec->BeginCreate(cDesc); // JBW 4/23/99
|
||||
|
||||
// Start the edit params process
|
||||
if ( lgtObject ) {
|
||||
lgtObject->BeginEditParams( (IObjParam*)createInterface, BEGIN_EDIT_CREATE, NULL );
|
||||
}
|
||||
}
|
||||
|
||||
static void whoa(){};
|
||||
|
||||
static BOOL needToss;
|
||||
|
||||
int TSpotCreationManager::proc(
|
||||
HWND hwnd,
|
||||
int msg,
|
||||
int point,
|
||||
int flag,
|
||||
IPoint2 m )
|
||||
{
|
||||
int res;
|
||||
TSTR targName;
|
||||
ViewExp *vpx = createInterface->GetViewport(hwnd);
|
||||
assert( vpx );
|
||||
|
||||
switch ( msg ) {
|
||||
case MOUSE_POINT:
|
||||
switch ( point ) {
|
||||
case 0:
|
||||
pt0 = m;
|
||||
assert( lgtObject );
|
||||
vpx->CommitImplicitGrid(m, flag); //KENNY MERGE
|
||||
if ( createInterface->SetActiveViewport(hwnd) ) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (createInterface->IsCPEdgeOnInView()) {
|
||||
res = FALSE;
|
||||
goto done;
|
||||
}
|
||||
|
||||
// if lights were hidden by category, re-display them
|
||||
GetCOREInterface()->SetHideByCategoryFlags(
|
||||
GetCOREInterface()->GetHideByCategoryFlags() & ~HIDE_LIGHTS);
|
||||
|
||||
if ( attachedToNode ) {
|
||||
// send this one on its way
|
||||
lgtObject->EndEditParams( (IObjParam*)createInterface, 0, NULL);
|
||||
macroRec->EmitScript(); // JBW 4/23/99
|
||||
|
||||
// Get rid of the reference.
|
||||
if (lgtNode)
|
||||
DeleteReference(0);
|
||||
|
||||
// new object
|
||||
CreateNewObject(); // creates lgtObject
|
||||
}
|
||||
|
||||
needToss = theHold.GetGlobalPutCount()!=lastPutCount;
|
||||
|
||||
theHold.Begin(); // begin hold for undo
|
||||
mat.IdentityMatrix();
|
||||
|
||||
// link it up
|
||||
lgtNode = createInterface->CreateObjectNode( lgtObject);
|
||||
attachedToNode = TRUE;
|
||||
assert( lgtNode );
|
||||
createCB = lgtObject->GetCreateMouseCallBack();
|
||||
createInterface->SelectNode( lgtNode );
|
||||
|
||||
// Create target object and node
|
||||
targObject = new TargetObject;
|
||||
assert(targObject);
|
||||
targNode = createInterface->CreateObjectNode( targObject);
|
||||
assert(targNode);
|
||||
targName = lgtNode->GetName();
|
||||
targName += GetString(IDS_DB_DOT_TARGET);
|
||||
targNode->SetName(targName);
|
||||
|
||||
// hook up camera to target using lookat controller.
|
||||
createInterface->BindToTarget(lgtNode,targNode);
|
||||
|
||||
// Reference the new node so we'll get notifications.
|
||||
MakeRefByID( FOREVER, 0, lgtNode);
|
||||
|
||||
// Position camera and target at first point then drag.
|
||||
mat.IdentityMatrix();
|
||||
//mat[3] = vpx->GetPointOnCP(m);
|
||||
#ifdef _3D_CREATE
|
||||
mat.SetTrans( vpx->SnapPoint(m,m,NULL,SNAP_IN_3D) );
|
||||
#else
|
||||
mat.SetTrans(vpx->SnapPoint(m,m,NULL,SNAP_IN_PLANE));
|
||||
#endif
|
||||
createInterface->SetNodeTMRelConstPlane(lgtNode, mat);
|
||||
createInterface->SetNodeTMRelConstPlane(targNode, mat);
|
||||
lgtObject->Enable(1);
|
||||
|
||||
ignoreSelectionChange = TRUE;
|
||||
createInterface->SelectNode( targNode,0);
|
||||
ignoreSelectionChange = FALSE;
|
||||
res = TRUE;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if (Length(m-pt0)<2)
|
||||
goto abort;
|
||||
//mat[3] = vpx->GetPointOnCP(m);
|
||||
#ifdef _3D_CREATE
|
||||
mat.SetTrans( vpx->SnapPoint(m,m,NULL,SNAP_IN_3D) );
|
||||
#else
|
||||
mat.SetTrans(vpx->SnapPoint(m,m,NULL,SNAP_IN_PLANE));
|
||||
#endif
|
||||
macroRec->Disable(); // JBW 4/23/99
|
||||
createInterface->SetNodeTMRelConstPlane(targNode, mat);
|
||||
macroRec->Enable();
|
||||
|
||||
ignoreSelectionChange = TRUE;
|
||||
createInterface->SelectNode( lgtNode);
|
||||
ignoreSelectionChange = FALSE;
|
||||
|
||||
theHold.Accept(IDS_DS_CREATE);
|
||||
|
||||
createInterface->AddLightToScene(lgtNode);
|
||||
createInterface->RedrawViews(createInterface->GetTime());
|
||||
|
||||
res = FALSE; // We're done
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case MOUSE_MOVE:
|
||||
//mat[3] = vpx->GetPointOnCP(m);
|
||||
#ifdef _3D_CREATE
|
||||
mat.SetTrans( vpx->SnapPoint(m,m,NULL,SNAP_IN_3D) );
|
||||
#else
|
||||
mat.SetTrans(vpx->SnapPoint(m,m,NULL,SNAP_IN_PLANE));
|
||||
#endif
|
||||
macroRec->Disable(); // JBW 4/23/99
|
||||
createInterface->SetNodeTMRelConstPlane(targNode, mat);
|
||||
macroRec->Enable();
|
||||
createInterface->RedrawViews(createInterface->GetTime());
|
||||
|
||||
macroRec->SetProperty(lgtObject, _T("target"), // JBW 4/23/99
|
||||
mr_create, Class_ID(TARGET_CLASS_ID, 0), GEOMOBJECT_CLASS_ID, 1, _T("transform"), mr_matrix3, &mat);
|
||||
|
||||
res = TRUE;
|
||||
break;
|
||||
|
||||
case MOUSE_FREEMOVE:
|
||||
SetCursor(LoadCursor(hInstance, MAKEINTRESOURCE(IDC_CROSS_HAIR)));
|
||||
#ifdef _OSNAP
|
||||
//Snap Preview
|
||||
#ifdef _3D_CREATE
|
||||
vpx->SnapPreview(m,m,NULL, SNAP_IN_3D);
|
||||
#else
|
||||
vpx->SnapPreview(m,m,NULL, SNAP_IN_PLANE);
|
||||
#endif
|
||||
#endif
|
||||
vpx->TrackImplicitGrid(m); //KENNY MERGE
|
||||
break;
|
||||
|
||||
case MOUSE_PROPCLICK:
|
||||
// right click while between creations
|
||||
createInterface->RemoveMode(NULL);
|
||||
break;
|
||||
|
||||
case MOUSE_ABORT:
|
||||
abort:
|
||||
assert( lgtObject );
|
||||
lgtObject->EndEditParams( (IObjParam*)createInterface,0,NULL);
|
||||
// Toss the undo stack if param changes have been made
|
||||
macroRec->Cancel(); // JBW 4/23/99
|
||||
theHold.Cancel(); // deletes both the camera and target.
|
||||
if (needToss)
|
||||
GetSystemSetting(SYSSET_CLEAR_UNDO);
|
||||
lgtNode = NULL;
|
||||
targNode = NULL;
|
||||
createInterface->RedrawViews(createInterface->GetTime());
|
||||
CreateNewObject();
|
||||
attachedToNode = FALSE;
|
||||
res = FALSE;
|
||||
}
|
||||
|
||||
done:
|
||||
//KENNY MERGE
|
||||
if ((res == CREATE_STOP)||(res==CREATE_ABORT))
|
||||
vpx->ReleaseImplicitGrid();
|
||||
createInterface->ReleaseViewport(vpx);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -42,21 +42,17 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#ifndef PL_RTLIGHT_BASE_H
|
||||
#define PL_RTLIGHT_BASE_H
|
||||
|
||||
// Max related headers
|
||||
#include "max.h"
|
||||
#include "iparamb2.h"
|
||||
#include "iparamm2.h"
|
||||
|
||||
// Our generic headers
|
||||
#include "HeadSpin.h"
|
||||
#include "MaxPlasmaMtls/Layers/plLayerTex.h"
|
||||
#include "hsWindows.h"
|
||||
|
||||
// Max related headers
|
||||
#include <max.h>
|
||||
#include <iparamm2.h>
|
||||
#include "MaxMain/MaxCompat.h"
|
||||
|
||||
|
||||
extern TCHAR *GetString(int id);
|
||||
|
||||
|
||||
|
||||
extern HINSTANCE hInstance;
|
||||
|
||||
#define RTOMNI_LIGHT_CLASSID Class_ID(0x57cf7089, 0x282e5b71)
|
||||
@ -87,16 +83,15 @@ extern HINSTANCE hInstance;
|
||||
inline float MaxF(float a, float b) { return a>b?a:b; }
|
||||
inline float MinF(float a, float b) { return a<b?a:b; }
|
||||
|
||||
class plLayerTex;
|
||||
class plMaxNode;
|
||||
class ClassDesc2;
|
||||
class plRTLightBase;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//// Base LightDlgProc ////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class plRTLightBase;
|
||||
|
||||
class plBaseLightProc : public ParamMap2UserDlgProc
|
||||
{
|
||||
protected:
|
||||
|
@ -52,11 +52,11 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
|
||||
#include "HeadSpin.h"
|
||||
#include "plRealTimeLights.h"
|
||||
#include "iparamm2.h"
|
||||
#pragma hdrstop
|
||||
|
||||
#include "MaxPlasmaMtls/Layers/plLayerTex.h"
|
||||
#include "MaxPlasmaMtls/Layers/plLayerTexBitmapPB.h"
|
||||
#include "MaxComponent/plMaxAnimUtils.h"
|
||||
#include "plRTLightBaseAnimDlgProc.h"
|
||||
#include "plGLight/plLightKonstants.h"
|
||||
|
||||
void DummyLightCodeIncludeFunc() {}
|
||||
@ -145,13 +145,10 @@ public:
|
||||
};
|
||||
static LightDlgProc gLiteDlgProc;
|
||||
|
||||
|
||||
// Having these includes down here is a hack.
|
||||
#include "plRealTimeLightsPBDec.h"
|
||||
|
||||
|
||||
#include "plRTObjLightDesc.h"
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Light Descriptors declared below for the different plRTLights...
|
||||
|
@ -54,7 +54,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#define PL_RTLIGHT_H
|
||||
|
||||
#include "plRealTimeLightBase.h"
|
||||
#include "iparamm2.h"
|
||||
#include "resource.h"
|
||||
|
||||
class plMaxNode;
|
||||
|
@ -1,120 +0,0 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/**********************************************************************
|
||||
*<
|
||||
FILE: prim.h
|
||||
|
||||
DESCRIPTION:
|
||||
|
||||
CREATED BY: Dan Silva
|
||||
|
||||
HISTORY:
|
||||
|
||||
*> Copyright (c) 1994, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __PRIM__H
|
||||
#define __PRIM__H
|
||||
|
||||
#include "Max.h"
|
||||
#include "resource.h"
|
||||
|
||||
#ifdef DESIGN_VER //for conversion to amodeler solids
|
||||
#include "igeomimp.h"
|
||||
#include "plugapi.h"
|
||||
#endif
|
||||
|
||||
TCHAR *GetString(int id);
|
||||
|
||||
extern ClassDesc* GetBoxobjDesc();
|
||||
extern ClassDesc* GetSphereDesc();
|
||||
extern ClassDesc* GetCylinderDesc();
|
||||
extern ClassDesc* GetSimpleCamDesc();
|
||||
extern ClassDesc* GetOmniLightDesc();
|
||||
extern ClassDesc* GetDirLightDesc();
|
||||
extern ClassDesc *GetTDirLightDesc();
|
||||
extern ClassDesc* GetFSpotLightDesc();
|
||||
extern ClassDesc* GetTSpotLightDesc();
|
||||
extern ClassDesc* GetLookatCamDesc();
|
||||
extern ClassDesc* GetSplineDesc();
|
||||
#ifdef DESIGN_VER
|
||||
extern ClassDesc* GetOrthoSplineDesc();
|
||||
#endif
|
||||
extern ClassDesc* GetNGonDesc();
|
||||
extern ClassDesc* GetDonutDesc();
|
||||
extern ClassDesc* GetTargetObjDesc();
|
||||
extern ClassDesc* GetBonesDesc();
|
||||
extern ClassDesc* GetRingMasterDesc();
|
||||
extern ClassDesc* GetSlaveControlDesc();
|
||||
extern ClassDesc* GetQuadPatchDesc();
|
||||
extern ClassDesc* GetTriPatchDesc();
|
||||
extern ClassDesc* GetTorusDesc();
|
||||
extern ClassDesc* GetMorphObjDesc();
|
||||
extern ClassDesc* GetCubicMorphContDesc();
|
||||
extern ClassDesc* GetRectangleDesc();
|
||||
extern ClassDesc* GetBoolObjDesc();
|
||||
extern ClassDesc* GetTapeHelpDesc();
|
||||
extern ClassDesc* GetProtHelpDesc();
|
||||
extern ClassDesc* GetTubeDesc();
|
||||
extern ClassDesc* GetConeDesc();
|
||||
extern ClassDesc* GetHedraDesc();
|
||||
extern ClassDesc* GetCircleDesc();
|
||||
extern ClassDesc* GetEllipseDesc();
|
||||
extern ClassDesc* GetArcDesc();
|
||||
extern ClassDesc* GetStarDesc();
|
||||
extern ClassDesc* GetHelixDesc();
|
||||
extern ClassDesc* GetRainDesc();
|
||||
extern ClassDesc* GetSnowDesc();
|
||||
extern ClassDesc* GetTextDesc();
|
||||
extern ClassDesc* GetTeapotDesc();
|
||||
extern ClassDesc* GetBaryMorphContDesc();
|
||||
#ifdef DESIGN_VER
|
||||
extern ClassDesc* GetOrthoSplineDesc();
|
||||
extern ClassDesc* GetParallelCamDesc();
|
||||
#endif
|
||||
extern ClassDesc* GetGridobjDesc();
|
||||
extern ClassDesc* GetNewBonesDesc();
|
||||
|
||||
extern HINSTANCE hInstance;
|
||||
|
||||
|
||||
#endif
|
@ -1,124 +0,0 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
/**********************************************************************
|
||||
*<
|
||||
FILE: target.h
|
||||
|
||||
DESCRIPTION: Defines a Target Object Class
|
||||
|
||||
CREATED BY: Dan Silva
|
||||
|
||||
HISTORY: created 11 January 1995
|
||||
|
||||
*> Copyright (c) 1994, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __TARGET__H__
|
||||
|
||||
#define __TARGET__H__
|
||||
|
||||
class TargetObject: public GeomObject {
|
||||
friend class TargetObjectCreateCallBack;
|
||||
friend BOOL CALLBACK TargetParamDialogProc( HWND hDlg, UINT message,
|
||||
WPARAM wParam, LPARAM lParam );
|
||||
|
||||
// Mesh cache
|
||||
static HWND hSimpleCamParams;
|
||||
static IObjParam* iObjParams;
|
||||
static Mesh mesh;
|
||||
static int meshBuilt;
|
||||
|
||||
void GetMat(TimeValue t, INode* inode, ViewExp* vpt, Matrix3& tm);
|
||||
void BuildMesh();
|
||||
|
||||
// inherited virtual methods for Reference-management
|
||||
RefResult NotifyRefChanged( Interval changeInt, RefTargetHandle hTarget,
|
||||
PartID& partID, RefMessage message );
|
||||
|
||||
public:
|
||||
TargetObject();
|
||||
|
||||
// inherited virtual methods:
|
||||
|
||||
// From BaseObject
|
||||
int HitTest(TimeValue t, INode* inode, int type, int crossing, int flags, IPoint2 *p, ViewExp *vpt);
|
||||
void Snap(TimeValue t, INode* inode, SnapInfo *snap, IPoint2 *p, ViewExp *vpt);
|
||||
int Display(TimeValue t, INode* inode, ViewExp *vpt, int flags);
|
||||
CreateMouseCallBack* GetCreateMouseCallBack();
|
||||
void BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev);
|
||||
void EndEditParams( IObjParam *ip, ULONG flags,Animatable *next);
|
||||
TCHAR *GetObjectName() { return GetString(IDS_DB_TARGET); }
|
||||
|
||||
// From Object
|
||||
ObjectState Eval(TimeValue time);
|
||||
void InitNodeName(TSTR& s) { s = GetString(IDS_DB_TARGET); }
|
||||
ObjectHandle ApplyTransform(Matrix3& matrix);
|
||||
int UsesWireColor() { return 0; }
|
||||
int IsRenderable() { return 0; }
|
||||
|
||||
// From GeomObject
|
||||
int IntersectRay(TimeValue t, Ray& r, float& at);
|
||||
ObjectHandle CreateTriObjRep(TimeValue t); // for rendering, also for deformation
|
||||
void GetWorldBoundBox(TimeValue t, INode *mat, ViewExp *vpt, Box3& box );
|
||||
void GetLocalBoundBox(TimeValue t, INode *mat, ViewExp *vpt, Box3& box );
|
||||
void GetDeformBBox(TimeValue t, Box3& box, Matrix3 *tm, BOOL useSel );
|
||||
|
||||
// From Animatable
|
||||
void DeleteThis() {
|
||||
delete this;
|
||||
}
|
||||
Class_ID ClassID() { return Class_ID(TARGET_CLASS_ID,0); }
|
||||
void GetClassName(TSTR& s) { s = TSTR(GetString(IDS_DB_TARGET_CLASS)); }
|
||||
int IsKeyable(){ return 1;}
|
||||
LRESULT CALLBACK TrackViewWinProc( HWND hwnd, UINT message,
|
||||
WPARAM wParam, LPARAM lParam ){return(0);}
|
||||
|
||||
// From ref.h
|
||||
RefTargetHandle Clone(RemapDir& remap = DEFAULTREMAP);
|
||||
|
||||
// IO
|
||||
IOResult Save(ISave *isave);
|
||||
IOResult Load(ILoad *iload);
|
||||
};
|
||||
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user