Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

RmCoreHelpers.h

00001 //=================================================================================================//
00002 // filename: RmCoreHelpers.h                                                                       //
00003 //                                                                                                 //
00004 //           ATI Research, Inc.                                                                    //
00005 //           3D Application Research Group                                                         //
00006 //                                                                                                 //
00007 // Description: Declaration for helper methods used outside of the main SDK                        //
00008 //                                                                                                 //
00009 //=================================================================================================//
00010 // $File: //depot/3darg/Tools/RenderMonkey/sdk/Include/Core/RmCoreHelpers.h $
00011 // $Author: bmistal $ $Revision: #8 $
00012 //=================================================================================================//
00013 //   (C) 2004 ATI Research, Inc.  All rights reserved.                                             //
00014 //=================================================================================================//
00015 
00016 #ifndef _RM_CORE_HELPERS_H_
00017 #define _RM_CORE_HELPERS_H_
00018 
00019 
00020 //========================================//
00021 // Initialization/Uninitialization        //
00022 //========================================//
00023 RM_API bool RmEffectInit();
00024 RM_API void RmEffectUninitialize();
00025 
00026 #include <Core/RmVector.h>
00027 #include <Core/RmStateManager.h>
00028 #include <Core/RmVectorT.h>
00029 #include <Core/RmParser.h>
00030 #include <Core/RmStlUtil.h>
00031 
00032 
00033 //==========================================================//
00034 // RmTextBinding is used to bind a token to a runtime value //
00035 // this is used in the RenderMonkey state tokenizer         //
00036 //==========================================================//
00037 struct RmTextBinding  
00038 {
00039    RM_TCHAR          token[64];
00040    unsigned long     value;
00041 
00042 }; // End of struct RmTextBinding declaration
00043 
00044 //=============================================================================//
00045 // RmStateBinding is used to bind tokens to runtime state values and arguments //
00046 //=============================================================================//
00047 struct RmStateBinding  
00048 {
00049    RmTextBinding     binding;
00050    int               argType;
00051    static union
00052    {
00053       RmVector       argVector;
00054 
00055       struct
00056       {
00057          int            argCount;
00058          int            argInitAlloc;
00059          int            argAllocCount;
00060          int            argElementSize;
00061          int            (*argCompare)(const void*, const void*);
00062          RmTextBinding  *args;
00063       };
00064    };
00065 
00066 }; // End of struct RmStateBinding declaration
00067 
00068 //========================================//
00069 // Recursive File Search Utility Function //
00070 //========================================//
00071 RM_API bool RmSearchFileTree( RM_TCHAR *pStrRootDirectoryPath,
00072                               RM_TCHAR *pStrFileName,
00073                               RM_TCHAR *pStrNewFilePath,
00074                               int   nSize );
00075 
00076 RM_API bool RmCalculateNewPath(  RM_TCHAR *pStrFileName,
00077                                  int nSize,
00078                                  RM_TCHAR *pStrDirectoryPath,
00079                                  bool bShowMessage );
00080 
00081 //============================================================================//
00082 //============================================================================//
00083 //============================================================================//
00084 // TEMPORARILY MOVING THESE DEFINITIONS INTO THIS FILE IN ORDER NOT TO EXPOSE //
00085 // THEM IN THE PUBLIC SDK.                                                    //
00086 //============================================================================//
00087 //============================================================================//
00088 //============================================================================//
00089 
00090 //=============================================================================
00097 //=============================================================================
00098 class RM_API IRmWorkspaceEditorPlugIn : public IRmEditorPlugIn
00099 {
00100 public :
00101    //==========================================================================
00106    //==========================================================================
00107    virtual HWND CreateWorkspaceEditorHwnd( RmNode *pWorkspaceNode ) = 0;
00108    
00109 }; // End of IRmWorkspaceEditorPlugIn interface declaration
00110 
00111 
00112 
00113 #endif //__RM_CORE_HELPERS__

Generated on Fri Feb 25 16:08:33 2005 for RenderMonkey SDK by doxygen 1.3.6