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

IRmApplication Class Reference

Interface for RenderMonkey application instance. More...

#include <RmApplication.h>

List of all members.

Public Member Functions

 IRmApplication ()
 Default constructor.

virtual ~IRmApplication ()
 Default destructor.

virtual HINSTANCE GetInstance () const=0
 Retrieve the application instance (HINSTANCE).

virtual void OutputText (const RM_TCHAR *strText,...)=0
 Print specified text to the output window.

virtual void ClearOutputWindow ()=0
 Clear text in the output window.

virtual void SetStatusText (const RM_TCHAR *strText)=0
 This section pertains to WINDOW MANAGEMENT within the RenderMonkey Set application status bar text.

virtual HWND GetMainWindow ()=0
 Retrieve main application window handle.

virtual HWND GetMDIClientWindow ()=0
 Retrieve MDI client window handle.

virtual void UpdateTitle ()=0
 Update application title displayed in the title bar.

virtual void UpdateWindows ()=0
 Update the size of the application window and all of the docking windows.

virtual HMENU GetMainMenu ()=0
 Retrieve the handle to the application menu.

virtual HICON GetIcon (RmIconID nRmIconID, RmIconSize nRmIconSize=RM_ICON_SIZE_SMALL)=0
 Retrieve an icon resource from the application.

virtual HICON CreateIcon (RmIconID nRmIconID, RmIconSize nRmIconSize=RM_ICON_SIZE_SMALL, bool bTransparent=false, COLORREF rgbBackground=RGB(255, 255, 255))=0
 Create a new application icon.

virtual RmIconID GetRmIconID (RmNode *pRmNode)=0
 Gets the RmIconID based on the passed node.

virtual HWND CreateMDIChildFrame ()=0
 Create MDI child frame window.

virtual void RegisterWindow (HWND hWnd, RmWindowType windowType, bool bAddToWindowListMenu, HICON hIcon=NULL, bool bDeleteIcon=false, int nDockWindowID=0)=0
 Register a new window with the application.

virtual void RegisterWindow (const RmWindowData *pWindowData)=0
 Register a new window with the application.

virtual void UnregisterWindow (HWND hWin)=0
 Unregister a window from the application.

virtual void OnWindowNameChanged (HWND hWnd)=0
 Needs to be called when a registered window changes its title.

virtual int GetAvailableDockingWindowID ()=0
 Retrieve available docking window ID from the application.

virtual HWND FindDockingWindow (int nID)=0
 Find docking window by its ID.

virtual HWND CreateDockingWindow (int nWindowID, const RM_TCHAR *strWindowTitle, RmDockingPaneLayout initialDockSite=RM_WINDOWDOCK_FLOAT, const RECT *pRect=NULL)=0
 Create docking window pane.

virtual void SetDockingWindowTitle (int nWindowID, const RM_TCHAR *strWindowTitle)=0
 Set window title for a given docking window.

virtual void SetDockingWindowIcon (int nWindowID, HICON hIcon)=0
 Set window icon for a given docking window.

virtual void ShowDockWindow (int ID, bool bShow)=0
 Control visibility of a given docking window.

virtual void BroadcastMessage (int nMessageID, int nMessageData, int nMessageParameter=0, const RmPlugInID *pRmPlugInID=NULL)=0
 This section pertains to NODE DATABASE and WORKSPACE MANAGEMENT Broadcast a RenderMonkey message to the plug-ins.

virtual void BroadcastMessage (RmPlugInType nPluginType, int nMessageID, int nMessageData, int nMessageParameter=0, const RmPlugInID *pRmPlugInID=NULL)=0
 Broadcast a RenderMonkey message to plug-ins of specified type.

virtual RmEffectWorkspaceGetWorkspace ()=0
 Retrieve a pointer to the active effect workspace.

virtual const RM_TCHAR * GetWorkspacePath ()=0
 Retrieve workspace file path.

virtual void GetInitialWorkspacePath (RM_TCHAR *pStrPath, int nSize)=0
 Retrieve the initial workspace install path.

virtual void GetDefaultWorkspacePath (RM_TCHAR *pStrPath, int nSize)=0
 Retrieve the default path for the RenderMonkey effect directory.

virtual RmNodeCreateNode (const RM_TCHAR *pStrNodeTypeChain, const RM_TCHAR *pStrXMLVersion=NULL)=0
 Create a new RenderMonkey note with a given type chain.

virtual HWND EditNode (RmNode *pNode, IRmEditorPlugIn *pPreferedEditorPlugIn=NULL)=0
 Edit a given node.

virtual int GetNodeSortCompareIndex (RmNode *pRmNodeA, RmNode *pRmNodeB)=0
 Compare function used to calculate sort order.

virtual int GetNodeTypeSortCompareIndex (const RM_TCHAR *pStrNodeType)=0
 Index function used to calculate sort order.

virtual RmLinkedList< IRmPlugIn * > GetGenericPlugInList (RmNode *pNode)=0
 Retrieve plug-in list for generic plug-ins associated with a particular node.

virtual RmLinkedList< IRmEditorPlugIn * > GetNodeEditorPlugInList (RmNode *pNode)=0
 Retrieve plug-in list for editor plug-ins associated with a particular node.

virtual RmLinkedList< IRmImporterPlugIn * > GetImporterPlugInList (RmNode *pNode)=0
 Retrieve plug-in list for importer plug-ins associated with a particular node.

virtual RmLinkedList< IRmExporterPlugIn * > GetExporterPlugInList (RmNode *pNode)=0
 Retrieve plug-in list for exporter plug-ins associated with a particular node.

virtual RmLinkedList< IRmGeneratorPlugIn * > GetGeneratorPlugInList (RmNode *pNode)=0
 Retrieve plug-in list for generator plug-ins associated with a particular node.

virtual IRmPlugInGetPlugIn (const RmPlugInID *pRmPlugInID)=0
 Retrieve a specific plug-in by its plug-in ID.

virtual void OnChangedActiveEffect ()=0
 Gets called when active effect is changed.

virtual RmNodeID GetNextAvailableNodeID ()=0
 Retrieve next available node ID.

virtual RmNodeGetNodeFromID (const RmNodeID &nodeID)=0
 Retrieve a node given its database ID.

virtual void RegisterNode (RmNode *pNode, bool bRecursive=false)=0
 Register node with the application database.

virtual void UnregisterNode (RmNode *pNode, bool bRecursive=false)=0
 Unregister a given node in the node database.

virtual void SuspendNodeRegistration ()=0
 Pause node registeration.

virtual void ResumeRegisterNode ()=0
 Resume node registration.

virtual void RefreshNodeID (RmNode *pNode, bool bRecursive=false)=0
 Refresh node id to a new value.

virtual bool IsLoading ()=0
 Is application in a middle of loading an XML file?

virtual void SetIsLoading (bool bIsLoading)=0
 Notifies the application that it is in a middle of loading XML data.

virtual bool IsSaving ()=0
 Retrieves whether the application is a middle of saving XML data.

virtual void SetIsSaving (bool bIsSaving)=0
 Sets that the application is a middle of saving XML data.

virtual void BuildReferenceChangeUpdateList (RmNode *pRmNode, RmLinkedList< RmNodeID * > *pRmNodeIDList)=0
 Builds a list of nodes affected by a referenced node's change.

virtual void SendReferenceChangeUpdateList (RmLinkedList< RmNodeID * > *pRmNodeIDList)=0
 Sends a value change message for each node in the ID list.

virtual void SendReferenceChangeUpdateDifferenceList (RmLinkedList< RmNodeID * > *pRmNodeIDList1, RmLinkedList< RmNodeID * > *pRmNodeIDList2)=0
 Sends value change for the differences between the ID lists.

virtual void ReCalculateRelativePaths (const RM_TCHAR *strNewAppPath, RmNode *pRmNode, bool bAlwaysConvert)=0
 Recalculates relative paths for files.

virtual bool ImportXML (RmEffectWorkspace *pRmEffectWorkspace, const RM_TCHAR *strFileName, const RM_TCHAR *pStrRmXMLVersion, bool bQuietTempLoad=false)=0
 Imports XML into the specified workspace from the specified file on disk.

virtual void SetDebugMode (bool bDebugMode)=0
 Set application debug mode.

virtual bool GetDebugMode ()=0
 Retrieves whether the application is in debug mode or not.

virtual RmEffectWorkspaceGetDefaultWorkspaceCopy ()=0
 Retrieve a copy of default workspace.

virtual bool CreateNewWorkspace ()=0
 Create new effect workspace.

virtual bool IsSaveNeeded () const=0
 Retrieves whether the current workspace needs to be saved.

virtual void SetSaveNeeded (bool bSaveNeeded)=0
 Notifies the main application that the workspace needs to be saved at this point.

virtual IRmVariableManagerGetPredefinedVariableManager ()=0
 This section pertains retrieval of various utility MANAGERS Retrieve predefined variables manager.

virtual const IRmVariableManagerGetPredefinedVariableManager () const=0
 Retrieve predefined variables manager (const pointer).

virtual IRmVariableManagerGetPrelinkedVariableManager ()=0
 Retrieve prelinked variables manager.

virtual const IRmVariableManagerGetPrelinkedVariableManager () const=0
 Retrieve prelinked variables manager (const pointer).

virtual IRmRegistryManagerGetRegistryManager ()=0
 Retrieve RenderMonkey registry manager.

virtual const IRmRegistryManagerGetRegistryManager () const=0
 Retrieve RenderMonkey registry manager (const pointer).

virtual IRmXMLManagerGetXMLManager ()=0
 Retrieve the XML Manager.

virtual const IRmXMLManagerGetXMLManager () const=0
 Retrieve the XML Manager.

virtual void GetGeneralPreferenceData (RmGeneralPreferenceData *pGeneralPreferenceData)=0
 Retrieve general preference data.

virtual float GetTimeCycle ()=0
 Retrieve time cycle period value.

virtual RmViewerUIMode GetViewerUIMode ()=0
 Retrieve viewer UI mode.

virtual bool CanLoadGeometryModel (const RM_TCHAR *strFileName)=0
 This section pertains to GEOMETRY loading plug-ins Checks whether can load geometry objects in a given file.

virtual bool LoadGeometryModel (const RM_TCHAR *strFileName, RmMeshModelContainer *pModelContainer)=0
 Loads geometry model data from the specified file.

virtual RmStringList GetModelFileList ()=0
 Returns a list of model files based on the default model directory.

virtual RmStringT GetSupportedGeometryFileExtensions (RmStringT &strDefaultExtension)=0
 Retrieve a list of supported geometry file extensions.

virtual bool CanLoadTexture (RmTextureType textureType, const RM_TCHAR *strFileName)=0
 This section pertains to Texture loading plug-ins Checks whether RenderMonkey can load a texture from a given file.

virtual bool LoadTexture (const RM_TCHAR *strFileName, RmTexture *pTexture, RmPixelFormatType format=RM_PIXELFORMAT_UNKNOWN)=0
 Load a texture from a given file into a texture node.

virtual RmStringList GetTextureFileList (RmTextureType textureType)=0
 Returns a list of texture files based on the default texture directory.

virtual RmStringT GetSupportedTextureFileExtensions (RmTextureType textureType, RmStringT &strDefaultExtension)=0
 Retrieves a list of supported texture file extensions.

virtual void StartUndoMaking (RmUndoOp *pUndoOp)=0
 This section pertains to UNDO operations Start making an undoable operation.

virtual void StartUndoMaking (const RM_TCHAR *strOpName)=0
 Start creating a generic undo operation with a specified name.

virtual void EndUndoMaking ()=0
 Complete making an undoable operation.

virtual void AddUndo (RmUndoOp *pUndoOp)=0
 Add created undoable operation to the undo command stack.

virtual bool CanUndo () const=0
 Check whether any undoable operations are on the undo command stack.

virtual bool CanRedo () const=0
 Check if there are any redoable operations on the redo command stack.

virtual void Undo ()=0
 Perform the top undo operation on the undo command stack.

virtual void Redo ()=0
 Perform a top redo operation on the redo command stack.

virtual bool IsMakingUndo () const=0
 Check whether we are currently in a middle of compositing an undo operation.

virtual HACCEL GetAccelerator () const=0
 Retrieve an accelerator handle.

virtual void CompileEffect (RmEffect *pEffect)=0
 Compile shaders in a given effect.

virtual void CompileShader (RmShader *pRmShader)=0
 Compile shader.

virtual void BeginMessageBlock ()=0
 Marks the beginning of a message block.

virtual void EndMessageBlock ()=0
 Marks the end of a message block.

virtual bool GetIsInMessageBlock ()=0
 Message block test.


Protected Member Functions

void InitDebugHelper ()
 Initialize debugger helper utilities.

void UninitializeDebugHelper ()
 Remove debugger helper utilities.


Detailed Description

Interface for RenderMonkey application instance.

Interface for RenderMonkey application. Main entry point for accessing application-centric data within RenderMonkey.


Constructor & Destructor Documentation

IRmApplication::IRmApplication  ) 
 

Default constructor.

Default constructor

virtual IRmApplication::~IRmApplication  )  [virtual]
 

Default destructor.

Default destructor


Member Function Documentation

virtual void IRmApplication::AddUndo RmUndoOp pUndoOp  )  [pure virtual]
 

Add created undoable operation to the undo command stack.

Add a completed undo operation to the undo command stack.

Parameters:
pUndoOp Undoable operation to add
See also:
RmUndoOp
Returns:
None

virtual void IRmApplication::BeginMessageBlock  )  [pure virtual]
 

Marks the beginning of a message block.

Marks the beginning of a message block, sending out a RM_MSG_BEGIN_MESSAGE_BLOCK if appropriate.

Returns:
None

virtual void IRmApplication::BroadcastMessage RmPlugInType  nPluginType,
int  nMessageID,
int  nMessageData,
int  nMessageParameter = 0,
const RmPlugInID pRmPlugInID = NULL
[pure virtual]
 

Broadcast a RenderMonkey message to plug-ins of specified type.

Broadcast a RenderMonkey message to plug-ins of specified type

Use this message to broadcast a particular message (defined in RmDefines.h) to RenderMonkey plug-ins of specified type. Typically, the 'nMessageData' is an RmNode that was modified in some way. See example SDK plug-ins for usage of this method. Note that besides broadcasting already defined RenderMonkey messages, a plug-in developer can broadcast their own plug-in messages - however the message IDs must not conflict w/ already existing message IDs.

Parameters:
nPluginType Type of plug-ins to broadcast this message to
See also:
RmPlugInType
Parameters:
nMessageID Message ID (See RmDefines.h for a list of available RenderMonkey messages)
nMessageData Message specific data (See RmDefines.h for message data associated with each message)
nMessageParameter Additional message parameter (See RmDefines.h for message data associated with each message)
pRmPlugInID An ID of the plug-in that sent this message broadcast
See also:
RmPlugInID
Returns:
None

virtual void IRmApplication::BroadcastMessage int  nMessageID,
int  nMessageData,
int  nMessageParameter = 0,
const RmPlugInID pRmPlugInID = NULL
[pure virtual]
 

This section pertains to NODE DATABASE and WORKSPACE MANAGEMENT Broadcast a RenderMonkey message to the plug-ins.

Broadcast a RenderMonkey message to the plug-ins

Use this message to broadcast a particular message (defined in RmDefines.h) to all active RenderMonkey plug-ins. Typically, the 'nMessageData' is an RmNode that was modified in some way. See example SDK plug-ins for usage of this method. Note that besides broadcasting already defined RenderMonkey messages, a plug-in developer can broadcast their own plug-in messages - however the message IDs must not conflict w/ already existing message IDs.

Parameters:
nMessageID Message ID (See RmDefines.h for a list of available RenderMonkey messages)
nMessageData Message specific data (See RmDefines.h for message data associated with each message)
nMessageParameter Additional message parameter (See RmDefines.h for message data associated with each message)
pRmPlugInID An ID of the plug-in that sent this message broadcast
See also:
RmPlugInID
Returns:
None

virtual void IRmApplication::BuildReferenceChangeUpdateList RmNode pRmNode,
RmLinkedList< RmNodeID * > *  pRmNodeIDList
[pure virtual]
 

Builds a list of nodes affected by a referenced node's change.

Builds a list of nodes affected by a referenced node's change. Reference change handling. Used by the workspace tree view window to force update for all reference nodes.

Parameters:
pRmNode A node that was modified
pRmNodeIDList A new list of all of the reference nodes that reference the changed node
Returns:
None

virtual bool IRmApplication::CanLoadGeometryModel const RM_TCHAR *  strFileName  )  [pure virtual]
 

This section pertains to GEOMETRY loading plug-ins Checks whether can load geometry objects in a given file.

Queries whether RenderMonkey can load a particular geometry model from the specified file

Parameters:
strFileName File name for the geometry model file
Returns:
True if RenderMonkey can load geometry from file, false if file type is unsupported

virtual bool IRmApplication::CanLoadTexture RmTextureType  textureType,
const RM_TCHAR *  strFileName
[pure virtual]
 

This section pertains to Texture loading plug-ins Checks whether RenderMonkey can load a texture from a given file.

Checks whether RenderMonkey can load a texture from a given file

Parameters:
textureType Texture type
See also:
RmTextureType
Parameters:
strFileName Texture file name
Returns:
True if RenderMonkey can load texture from file, false if file type is unsupported

virtual bool IRmApplication::CanRedo  )  const [pure virtual]
 

Check if there are any redoable operations on the redo command stack.

Check if there are any redoable operations on the redo command stack.

Returns:
True if redo operations are present, false otherwise

virtual bool IRmApplication::CanUndo  )  const [pure virtual]
 

Check whether any undoable operations are on the undo command stack.

Check if there is any undo operations on the undo command stack

Returns:
Returns 'true' if that's the case, and false if there aren't any operations

virtual void IRmApplication::ClearOutputWindow  )  [pure virtual]
 

Clear text in the output window.

This method forces the output window to be completely cleared. Note that there is no way to retrieve the text displayed previously in the window. This method must be used with caution since it's easy to lose messages important to the user.

Returns:
None

virtual void IRmApplication::CompileEffect RmEffect pEffect  )  [pure virtual]
 

Compile shaders in a given effect.

Compiles all shaders in a given effect and rebuilds all necessary rendering resources.

Parameters:
pEffect - effect to be compiled
Returns:
None

virtual void IRmApplication::CompileShader RmShader pRmShader  )  [pure virtual]
 

Compile shader.

Compiles a given shader and rebuilds all necessary rendering resources.

Parameters:
pRmShader - shader to be compiled
Returns:
None

virtual HWND IRmApplication::CreateDockingWindow int  nWindowID,
const RM_TCHAR *  strWindowTitle,
RmDockingPaneLayout  initialDockSite = RM_WINDOWDOCK_FLOAT,
const RECT *  pRect = NULL
[pure virtual]
 

Create docking window pane.

Creates a docking window given an ID (must be an available ID (see GetAvailableDockingWindowID()) and layout parameters. If 'pRect' is NULL, the application uses default docking window size

Parameters:
nWindowID Docking window ID for the new window. Must use GetAvailableDockingWindowID() to retrieve a valid ID to use
strWindowTitle New window title
initialDockSite Initial state for the docking window
See also:
RmDockingPaneLayout
Parameters:
pRect Initial docking window size
Returns:
Window handle for newly created docking pane window or NULL if creation failed

virtual HICON IRmApplication::CreateIcon RmIconID  nRmIconID,
RmIconSize  nRmIconSize = RM_ICON_SIZE_SMALL,
bool  bTransparent = false,
COLORREF  rgbBackground = RGB(255, 255, 255)
[pure virtual]
 

Create a new application icon.

Create a new application icon given it's type. The returned icon must be destroyed by the caller.

Parameters:
nRmIconID Icon ID
See also:
RmIconID
Parameters:
nRmIconSize Icon size
See also:
RmIconSize
Parameters:
bTransparent A flag denoting whether this icon's background will be transparent
rgbBackground Icon background color
Returns:
Icon resource handle or NULL if the specified resource isn't found

virtual HWND IRmApplication::CreateMDIChildFrame  )  [pure virtual]
 

Create MDI child frame window.

This function creates an MDI child frame, and returns the handle to the caller. Editors can then add their own child window to the MDI child frame. The child window will automatically receive WM_SIZE messages, and can interact with the MDI child frame through standard windows messaging.

This is the required way to create MDI editor windows in RM, necessary for support of the layout features offered in the application.

Returns:
Window handle to the MDI child frame window or NULL if create

virtual bool IRmApplication::CreateNewWorkspace  )  [pure virtual]
 

Create new effect workspace.

Helper function to use when clearing an old workspace and creating a new workspace

Returns:
True if create was successful, false if any errors occurred

virtual RmNode* IRmApplication::CreateNode const RM_TCHAR *  pStrNodeTypeChain,
const RM_TCHAR *  pStrXMLVersion = NULL
[pure virtual]
 

Create a new RenderMonkey note with a given type chain.

Create a new RenderMonkey note with a given type chain. A type chain represents class inheritance rules for a node. For example, a vector variable will have this type chain: RmNode.RmVariable.RmVectorVariable

Parameters:
pStrNodeTypeChain Node type chain (see method description for more details)
pStrXMLVersion A given XML version for node import (optional)
Returns:
Newly created node or NULL if creation failed

virtual HWND IRmApplication::EditNode RmNode pNode,
IRmEditorPlugIn pPreferedEditorPlugIn = NULL
[pure virtual]
 

Edit a given node.

Edit a given node. This method sends a request to the application to start editing a particular node. The application will search through the list of plug-ins available to edit that node type and select an appropriate plug-in. If a specified preferred plug-in is given, the application will use it to edit the node.

Parameters:
pNode a node to edit
pPreferedEditorPlugIn Preferred plug-in ID to edit the node (optional)
Returns:
Window handle of the user interface element (if any) used to edit this node. May be NULL if editing a node doesn't create any GUI elements.

virtual void IRmApplication::EndMessageBlock  )  [pure virtual]
 

Marks the end of a message block.

Marks the beginning of a message block, sending out a RM_MSG_END_MESSAGE_BLOCK if appropriate.

Returns:
None

virtual void IRmApplication::EndUndoMaking  )  [pure virtual]
 

Complete making an undoable operation.

Finish composing currently active undo operation - will complete the undo op with the closest StartUndoMaking() call. You must end composing an undo operations prior to adding to the command history.

Returns:
None

virtual HWND IRmApplication::FindDockingWindow int  nID  )  [pure virtual]
 

Find docking window by its ID.

Retrieve a window handle to the docking window given its identifier.

Parameters:
nID Docking window ID
Returns:
Window handle for window with matching docking window ID or NULL if no window with a given ID is found

virtual HACCEL IRmApplication::GetAccelerator  )  const [pure virtual]
 

Retrieve an accelerator handle.

Retrieve an accelerator handle

Returns:
Accelerator handle

virtual int IRmApplication::GetAvailableDockingWindowID  )  [pure virtual]
 

Retrieve available docking window ID from the application.

Each docking window in RenderMonkey must have an ID number which is used to identify it for the layout information. Use this method to retrieve an ID value that is currently available for use.

Returns:
Available docking window ID or -1 in case that no IDs are available

virtual bool IRmApplication::GetDebugMode  )  [pure virtual]
 

Retrieves whether the application is in debug mode or not.

Retrieves whether the application is set to be in internal debug mode (not related to project debug build). RM debug mode allows SDK developers to view debug tab in the workspace tree view which displays ALL RenderMonkey nodes (including hidden nodes).

Returns:
True if the application is in debug mode, false otherwise

virtual RmEffectWorkspace* IRmApplication::GetDefaultWorkspaceCopy  )  [pure virtual]
 

Retrieve a copy of default workspace.

Returns a copy of the loaded DefaultWorkspace. This workspace can be used to initialize nodes with children. Although this node is a full RmEffectWorkspace node, the user must be sure to call RefreshNodeID on any node group copied from this node.

Returns:
A pointer to the copied effect workspace

virtual void IRmApplication::GetDefaultWorkspacePath RM_TCHAR *  pStrPath,
int  nSize
[pure virtual]
 

Retrieve the default path for the RenderMonkey effect directory.

Retrieve the default path for the RenderMonkey effect directory

Parameters:
pStrPath A pointer to the string where initial workspace path will be stored. Note that at least 'nSize' bytes my be allocated for this string already
nSize Maximum size for the path
Returns:
None

virtual RmLinkedList< IRmExporterPlugIn* > IRmApplication::GetExporterPlugInList RmNode pNode  )  [pure virtual]
 

Retrieve plug-in list for exporter plug-ins associated with a particular node.

Retrieve a list of exporter plug-ins associated with a particular node

Parameters:
pNode A node for plug-in association search
Returns:
A list of found plug-ins. May be empty.

virtual void IRmApplication::GetGeneralPreferenceData RmGeneralPreferenceData pGeneralPreferenceData  )  [pure virtual]
 

Retrieve general preference data.

Retrieve general preference data - used to store application-specific preferences

Parameters:
pGeneralPreferenceData Storage for the general preference data (must be preallocated)
Returns:
None

virtual RmLinkedList< IRmGeneratorPlugIn* > IRmApplication::GetGeneratorPlugInList RmNode pNode  )  [pure virtual]
 

Retrieve plug-in list for generator plug-ins associated with a particular node.

Retrieve a list of generator plug-ins associated with a particular node

Parameters:
pNode A node for plug-in association search
Returns:
A list of found plug-ins. May be empty.

virtual RmLinkedList< IRmPlugIn* > IRmApplication::GetGenericPlugInList RmNode pNode  )  [pure virtual]
 

Retrieve plug-in list for generic plug-ins associated with a particular node.

Retrieve a list of generic plug-ins associated with a particular node

Parameters:
pNode A node for plug-in association search
Returns:
A list of found plug-ins. May be empty.

virtual HICON IRmApplication::GetIcon RmIconID  nRmIconID,
RmIconSize  nRmIconSize = RM_ICON_SIZE_SMALL
[pure virtual]
 

Retrieve an icon resource from the application.

Retrieve application icon given it's type. The returned icon is a shared icon, and must not be destroyed by the caller

Parameters:
nRmIconID Icon ID
See also:
RmIconID
Parameters:
nRmIconSize Icon size
See also:
RmIconSize
Returns:
Icon resource handle or NULL if the specified resource isn't found

virtual RmLinkedList< IRmImporterPlugIn* > IRmApplication::GetImporterPlugInList RmNode pNode  )  [pure virtual]
 

Retrieve plug-in list for importer plug-ins associated with a particular node.

Retrieve a list of importer plug-ins associated with a particular node

Parameters:
pNode A node for plug-in association search
Returns:
A list of found plug-ins. May be empty.

virtual void IRmApplication::GetInitialWorkspacePath RM_TCHAR *  pStrPath,
int  nSize
[pure virtual]
 

Retrieve the initial workspace install path.

Retrieve the initial workspace install path for the RenderMonkey effects

Parameters:
pStrPath A pointer to the string where initial workspace path will be stored. Note that at least 'nSize' bytes my be allocated for this string already
nSize Maximum size for the path
Returns:
None

virtual HINSTANCE IRmApplication::GetInstance  )  const [pure virtual]
 

Retrieve the application instance (HINSTANCE).

Retrieve the application instance (HINSTANCE)

virtual bool IRmApplication::GetIsInMessageBlock  )  [pure virtual]
 

Message block test.

Tests to see if the application is currently in a message block.

Returns:
true or false

virtual HMENU IRmApplication::GetMainMenu  )  [pure virtual]
 

Retrieve the handle to the application menu.

Retrieve the handle to the application menu

Returns:
Menu handle

virtual HWND IRmApplication::GetMainWindow  )  [pure virtual]
 

Retrieve main application window handle.

Retrieve main application window handle

Returns:
Window handle

virtual HWND IRmApplication::GetMDIClientWindow  )  [pure virtual]
 

Retrieve MDI client window handle.

Retrieves the window handle for MDI client window

Returns:
None

virtual RmStringList IRmApplication::GetModelFileList  )  [pure virtual]
 

Returns a list of model files based on the default model directory.

Returns a list of model files based on the default model directory

Returns:
A list of available model files. May be empty

virtual RmNodeID IRmApplication::GetNextAvailableNodeID  )  [pure virtual]
 

Retrieve next available node ID.

Retrieve next available node id from the database node manager. A node ID is necessary for node database identification as well as for undoable operation management.

Returns:
Node ID

virtual RmLinkedList< IRmEditorPlugIn* > IRmApplication::GetNodeEditorPlugInList RmNode pNode  )  [pure virtual]
 

Retrieve plug-in list for editor plug-ins associated with a particular node.

Retrieve a list of editor plug-ins associated with a particular node

Parameters:
pNode A node for plug-in association search
Returns:
A list of found plug-ins. May be empty.

virtual RmNode* IRmApplication::GetNodeFromID const RmNodeID nodeID  )  [pure virtual]
 

Retrieve a node given its database ID.

Retrieve a node given its database ID

Parameters:
nodeID Node ID
Returns:
A pointer to the found node or NULL if none were found

virtual int IRmApplication::GetNodeSortCompareIndex RmNode pRmNodeA,
RmNode pRmNodeB
[pure virtual]
 

Compare function used to calculate sort order.

Compare function used to calculate sort order. This function can be used to return a consistent node sort order when showing a list of nodes.

Parameters:
pRmNodeA First node used in the compare function
pRmNodeA Second node used in the compare function
Returns:
int ( -1, 0, 1 )

virtual int IRmApplication::GetNodeTypeSortCompareIndex const RM_TCHAR *  pStrNodeType  )  [pure virtual]
 

Index function used to calculate sort order.

Index function used to calculate sort order. This function can be used to return a consistent node sort order when showing a list of node types.

Parameters:
strNodeType Node type whose sort index is to be returned
Returns:
int Node tyoe sort index

virtual IRmPlugIn* IRmApplication::GetPlugIn const RmPlugInID pRmPlugInID  )  [pure virtual]
 

Retrieve a specific plug-in by its plug-in ID.

Retrieve a specific plug-in by its plug-in ID

Parameters:
pRmPlugInID Plug-in ID
Returns:
A found plug-in pointer or NULL if such plug-in wasn't found

virtual const IRmVariableManager* IRmApplication::GetPredefinedVariableManager  )  const [pure virtual]
 

Retrieve predefined variables manager (const pointer).

Retrieve predefined variables manager. See RmVariableManager.h for a more detailed description

Returns:
A const pointer to the predefined variable manager

virtual IRmVariableManager* IRmApplication::GetPredefinedVariableManager  )  [pure virtual]
 

This section pertains retrieval of various utility MANAGERS Retrieve predefined variables manager.

Retrieve predefined variables manager. See RmVariableManager.h for a more detailed description

Returns:
A pointer to the predefined variable manager

virtual const IRmVariableManager* IRmApplication::GetPrelinkedVariableManager  )  const [pure virtual]
 

Retrieve prelinked variables manager (const pointer).

Retrieve prelinked variables manager pointer. See RmVariableManager.h for a more detailed description

Returns:
A const pointer to the prelinked variables manager.

virtual IRmVariableManager* IRmApplication::GetPrelinkedVariableManager  )  [pure virtual]
 

Retrieve prelinked variables manager.

Retrieve prelinked variables manager pointer. See RmVariableManager.h for a more detailed description

Returns:
A pointer to the prelinked variables manager.

virtual const IRmRegistryManager* IRmApplication::GetRegistryManager  )  const [pure virtual]
 

Retrieve RenderMonkey registry manager (const pointer).

Retrieve RenderMonkey registry manager. See RmRegistryManager.h for a more detailed description

Returns:
A const pointer to the RenderMonkey registry manager.

virtual IRmRegistryManager* IRmApplication::GetRegistryManager  )  [pure virtual]
 

Retrieve RenderMonkey registry manager.

Retrieve RenderMonkey registry manager. See RmRegistryManager.h for a more detailed description

Returns:
A pointer to the RenderMonkey registry manager.

virtual RmIconID IRmApplication::GetRmIconID RmNode pRmNode  )  [pure virtual]
 

Gets the RmIconID based on the passed node.

Parameters:
pRmNode RmNode pointer
See also:
RmNode*

virtual RmStringT IRmApplication::GetSupportedGeometryFileExtensions RmStringT &  strDefaultExtension  )  [pure virtual]
 

Retrieve a list of supported geometry file extensions.

This function returns a string to be used in File Open Dialog for loading geometry models. All of the available loader plug-ins are queried for their supported file extensions which are concatenated into a single string, used by the model loader at run-time to determine what geometry model data is supported by the application.

For example, "3DS (*.3ds)|*.3ds|All Formats (*.*)|*.*||"

Parameters:
strDefaultExtension Stores default extension for geometry file loading
Returns:
A list of supported geometry file extensions

virtual RmStringT IRmApplication::GetSupportedTextureFileExtensions RmTextureType  textureType,
RmStringT &  strDefaultExtension
[pure virtual]
 

Retrieves a list of supported texture file extensions.

This function returns a string to be used in File Open Dialog for loading geometry models./ All of the available loader plug-ins are queried for their supported file extensions which are concatenated into a single string, used by the model loader at run-time to determine what geometry model data is supported by the application.

For example, "BMP (*.bmp)|*.bmp|All Formats (*.*)|*.*||"

Parameters:
textureType Texture type
See also:
RmTextureType
Parameters:
strDefaultExtension Stores default texture file extension as determined by the application
Returns:
A string containing all supported texture extensions

virtual RmStringList IRmApplication::GetTextureFileList RmTextureType  textureType  )  [pure virtual]
 

Returns a list of texture files based on the default texture directory.

Returns a list of texture files based on the default texture directory for a given texture type

See also:
RmTextureType
Parameters:
textureType Texture type
See also:
RmTextureType
Returns:
A list of texture files (may be empty)

virtual float IRmApplication::GetTimeCycle  )  [pure virtual]
 

Retrieve time cycle period value.

Retrieve time cycle used by the viewer to manage time values during rendering

Returns:
Time cycle period valid

virtual RmViewerUIMode IRmApplication::GetViewerUIMode  )  [pure virtual]
 

Retrieve viewer UI mode.

Retrieve viewer UI mode.

Returns:
Camera UI mode
See also:
RmViewerUIMode

virtual RmEffectWorkspace* IRmApplication::GetWorkspace  )  [pure virtual]
 

Retrieve a pointer to the active effect workspace.

Retrieve a pointer to the active effect workspace (there can only be one active workspace at a time)

Returns:
A pointer to the workspace

virtual const RM_TCHAR* IRmApplication::GetWorkspacePath  )  [pure virtual]
 

Retrieve workspace file path.

Retrieves the file path of the active effect workspace

Returns:
File path for the active effect workspace

virtual const IRmXMLManager* IRmApplication::GetXMLManager  )  const [pure virtual]
 

Retrieve the XML Manager.

Retrieve the XML Manager. See RmXMLManager.h for a more detailed description

Returns:
A pointer to the XML Manager.

virtual IRmXMLManager* IRmApplication::GetXMLManager  )  [pure virtual]
 

Retrieve the XML Manager.

Retrieve the XML Manager. See RmXMLManager.h for a more detailed description

Returns:
A pointer to the XML Manager.

virtual bool IRmApplication::ImportXML RmEffectWorkspace pRmEffectWorkspace,
const RM_TCHAR *  strFileName,
const RM_TCHAR *  pStrRmXMLVersion,
bool  bQuietTempLoad = false
[pure virtual]
 

Imports XML into the specified workspace from the specified file on disk.

Imports XML into the specified workspace from the specified file on disk

Parameters:
pRmEffectWorkspace A pointer to an effect workspace to store the information in
strFileName File name for the XML file
pStrRmXMLVersion XML version number
bQuietTempLoad Specifies whether this file load should be visible to the user (true) or it's a quiet load during application preferences setting (false)
Returns:
True on success, false on failure

void IRmApplication::InitDebugHelper  )  [protected]
 

Initialize debugger helper utilities.

Initialize debugger helper utilities

Returns:
None

virtual bool IRmApplication::IsLoading  )  [pure virtual]
 

Is application in a middle of loading an XML file?

Returns whether the application is in a middle of loading an XML workspace

Returns:
True if in a middle of loading and false otherwise

virtual bool IRmApplication::IsMakingUndo  )  const [pure virtual]
 

Check whether we are currently in a middle of compositing an undo operation.

Check whether we are currently in a middle of compositing an undo operation

Returns:
True if the application is in a middle of compositing an undo op, false otherwise

virtual bool IRmApplication::IsSaveNeeded  )  const [pure virtual]
 

Retrieves whether the current workspace needs to be saved.

Retrieves whether the current workspace needs to be saved

Returns:
True if the workspace needs to be saved, false otherwise

virtual bool IRmApplication::IsSaving  )  [pure virtual]
 

Retrieves whether the application is a middle of saving XML data.

Retrieves whether the application is a middle of saving XML data

Returns:
True if the application is a middle of saving XML data, false otherwise

virtual bool IRmApplication::LoadGeometryModel const RM_TCHAR *  strFileName,
RmMeshModelContainer pModelContainer
[pure virtual]
 

Loads geometry model data from the specified file.

Loads model data from the specified file into the specified mesh container. Note that the mesh container must be preallocated prior to calling this method Invokes associated loader plug-in

Parameters:
strFileName File name for the geometry model file
pModelContainer Model container to store geometry in. Must be preallocated
Returns:
True if RenderMonkey load geometry from file was successful, false if any errors occurred during file load

virtual bool IRmApplication::LoadTexture const RM_TCHAR *  strFileName,
RmTexture pTexture,
RmPixelFormatType  format = RM_PIXELFORMAT_UNKNOWN
[pure virtual]
 

Load a texture from a given file into a texture node.

Load a texture from a given file into a texture node. Note that the texture node must be created prior to calling this function. Also allows users to specify desired pixel format for the texture. If the texture format for the image stored in the texture file doesn't match the input format, the texture data will be converted.

Parameters:
strFileName Texture file name
pTexture Texture node to store texture surface data
format Desired pixel format for the texture
Returns:
True if texture load succeeded and false otherwise

virtual void IRmApplication::OnChangedActiveEffect  )  [pure virtual]
 

Gets called when active effect is changed.

This method notifies the application that the active effect was changed and it needs to notify the viewer plug-ins.

Returns:
None

virtual void IRmApplication::OnWindowNameChanged HWND  hWnd  )  [pure virtual]
 

Needs to be called when a registered window changes its title.

Any time that a window changed its title, it must call this method to notify the application (necessary to maintain correct window menu lists)

Parameters:
hWnd Window handle for the window updating its title
Returns:
None

virtual void IRmApplication::OutputText const RM_TCHAR *  strText,
... 
[pure virtual]
 

Print specified text to the output window.

This method allows users to output messages to the RenderMonkey output window

Parameters:
strText Text to be printed in the output window
Returns:
None

virtual void IRmApplication::ReCalculateRelativePaths const RM_TCHAR *  strNewAppPath,
RmNode pRmNode,
bool  bAlwaysConvert
[pure virtual]
 

Recalculates relative paths for files.

Recalculates relative paths for files

Parameters:
strNewAppPath New applicatin file path
pRmNode A node
bAlwaysConvert A flag specifying whether to convert the path
Returns:
None

virtual void IRmApplication::Redo  )  [pure virtual]
 

Perform a top redo operation on the redo command stack.

Perform a top redo operation on the redo command stack

Returns:
None

virtual void IRmApplication::RefreshNodeID RmNode pNode,
bool  bRecursive = false
[pure virtual]
 

Refresh node id to a new value.

Re-assign Node ID's to new one. Typicaly this is done for a cloned node.

Parameters:
pNode Node for which to refresh the ID
bRecursive Specifies whether to refresh node IDs for this node's children nodes
Returns:
None

virtual void IRmApplication::RegisterNode RmNode pNode,
bool  bRecursive = false
[pure virtual]
 

Register node with the application database.

Register node with the application database. This is necessary for RenderMonkey to maintain correct valid database at all times.

Parameters:
pNode Node to register
bRecursive Specifies whether to register all of the nodes children (true) or not (false)
Returns:
None

virtual void IRmApplication::RegisterWindow const RmWindowData pWindowData  )  [pure virtual]
 

Register a new window with the application.

This method is used to register a window with the application so that it can maintain the window lists and other layout-related items properly. Any plug-in that creates an independent window (not a child window, but a dialog, an MDI or a docking window) must register that window with the application. This window registration method that copies the information about a window from the given data structure (defined in RmTypes.h). Note that the application keeps a copy of the window information, not the actual window structure parameter.

Parameters:
pWindowData Data structure holding the information about the window
Returns:
None

virtual void IRmApplication::RegisterWindow HWND  hWnd,
RmWindowType  windowType,
bool  bAddToWindowListMenu,
HICON  hIcon = NULL,
bool  bDeleteIcon = false,
int  nDockWindowID = 0
[pure virtual]
 

Register a new window with the application.

This method is used to register a window with the application so that it can maintain the window lists and other layout-related items properly. Any plug-in that creates an independent window (not a child window, but a dialog, an MDI or a docking window) must register that window with the application.

Parameters:
hWnd Window handle
windowType Window type
See also:
RmWindowType
Parameters:
bAddToWindowListMenu Denotes whether RenderMonkey need to maintain this window in the window menu list
hIcon Icon resource handle associated with this window
bDeleteIcon Flag notifying the application whether the icon resource must be destroyed by the application
nDockWindowID Docking window pane ID (only necessary to specify this parameter if this window is a docking window)
Returns:
None

virtual void IRmApplication::ResumeRegisterNode  )  [pure virtual]
 

Resume node registration.

Resume node registration

Returns:
None

virtual void IRmApplication::SendReferenceChangeUpdateDifferenceList RmLinkedList< RmNodeID * > *  pRmNodeIDList1,
RmLinkedList< RmNodeID * > *  pRmNodeIDList2
[pure virtual]
 

Sends value change for the differences between the ID lists.

Sends value change for the differences between the ID lists

Parameters:
pRmNodeIDList1 A list of nodes
pRmNodeIDList2 A list of nodes
Returns:
None

virtual void IRmApplication::SendReferenceChangeUpdateList RmLinkedList< RmNodeID * > *  pRmNodeIDList  )  [pure virtual]
 

Sends a value change message for each node in the ID list.

Sends a value change message for each node in the ID list

Parameters:
pRmNodeIDList A list of nodes to send the update message to
Returns:
None

virtual void IRmApplication::SetDebugMode bool  bDebugMode  )  [pure virtual]
 

Set application debug mode.

Specify whether the application is set to be in internal debug mode (not related to project debug build). This method MUST be called only during the plug-in initialization time in order to allow other plug-ins (like workspace tree view plug-in) to respond to the setting. Setting RM debug mode to true allows SDK developers to view debug tab in the workspace tree view which displays ALL RenderMonkey nodes (including hidden nodes). Never set debug mode to true for release builds.

Parameters:
bDebugMode Debug mode (true - in debug mode, false - release)
Returns:
None

virtual void IRmApplication::SetDockingWindowIcon int  nWindowID,
HICON  hIcon
[pure virtual]
 

Set window icon for a given docking window.

Set window icon for a given docking window

Parameters:
nWindowID Docking window ID
hIcon Docking window icon resource handle
Returns:
None

virtual void IRmApplication::SetDockingWindowTitle int  nWindowID,
const RM_TCHAR *  strWindowTitle
[pure virtual]
 

Set window title for a given docking window.

Set window title for a given docking window

Parameters:
nWindowID Docking window ID
strWindowTitle Docking window new title
Returns:
None

virtual void IRmApplication::SetIsLoading bool  bIsLoading  )  [pure virtual]
 

Notifies the application that it is in a middle of loading XML data.

Notifies the application that it is in a middle of loading XML data

Parameters:
bIsLoading If true, we are in a middle of loading an XML file
Returns:
None

virtual void IRmApplication::SetIsSaving bool  bIsSaving  )  [pure virtual]
 

Sets that the application is a middle of saving XML data.

Sets that the application is a middle of saving XML data

Parameters:
bIsSaving If true then sets that the application is a middle of saving XML data
Returns:
None

virtual void IRmApplication::SetSaveNeeded bool  bSaveNeeded  )  [pure virtual]
 

Notifies the main application that the workspace needs to be saved at this point.

or not (false)

Returns:
None

virtual void IRmApplication::SetStatusText const RM_TCHAR *  strText  )  [pure virtual]
 

This section pertains to WINDOW MANAGEMENT within the RenderMonkey Set application status bar text.

Use this method to set the status displayed in the application status bar to the specified string.

Parameters:
strText Text to be displayed in the application status bar
Returns:
None

virtual void IRmApplication::ShowDockWindow int  ID,
bool  bShow
[pure virtual]
 

Control visibility of a given docking window.

Display or hide a given docking pane specified by it's ID. If 'bShow' is true, the window will be made visible, otherwise it'll be hidden.

Parameters:
bShow Flag for making the window visible (true) or hidden (false)
Returns:
None

virtual void IRmApplication::StartUndoMaking const RM_TCHAR *  strOpName  )  [pure virtual]
 

Start creating a generic undo operation with a specified name.

Start creating a generic undo operation given its name. Note that this call must be paired with an EndUndoMaking() call for completeness.

Parameters:
strOpName Undo operation name
Returns:
None

virtual void IRmApplication::StartUndoMaking RmUndoOp pUndoOp  )  [pure virtual]
 

This section pertains to UNDO operations Start making an undoable operation.

Start making an undo operation. Note that this call can be recursive - you can make hierarchical undo operations consisting of multiple undo commands. This call must be paired with 'EndUndoMaking()' call to ensure that it's completed successfully.

Parameters:
pUndoOp A pointer to the undoable operation. Note that it must be created prior to calling this method
See also:
RmUndoOp
Returns:
None

virtual void IRmApplication::SuspendNodeRegistration  )  [pure virtual]
 

Pause node registeration.

Pause node registration - typically used during construction or execution of an undoable operation. Do not use in other circumstances unless you know what you are doing.

Returns:
None

virtual void IRmApplication::Undo  )  [pure virtual]
 

Perform the top undo operation on the undo command stack.

Perform the top undo operation on the undo command stack

Returns:
None

void IRmApplication::UninitializeDebugHelper  )  [protected]
 

Remove debugger helper utilities.

Remove debugger helper utilities

Returns:
None

virtual void IRmApplication::UnregisterNode RmNode pNode,
bool  bRecursive = false
[pure virtual]
 

Unregister a given node in the node database.

Unregister a given node in the node database

Parameters:
pNode Node to unregister
bRecursive Specifies whether to unregister all of the nodes children (true) or not (false)
Returns:
None

virtual void IRmApplication::UnregisterWindow HWND  hWin  )  [pure virtual]
 

Unregister a window from the application.

Call this method to remove the window from the application's lists. Every plug-in must call this method before destruction of the windows.

Parameters:
hWin Window handle for the window to unregister
Returns:
None

virtual void IRmApplication::UpdateTitle  )  [pure virtual]
 

Update application title displayed in the title bar.

Update application title displayed in the title bar

Returns:
None

virtual void IRmApplication::UpdateWindows  )  [pure virtual]
 

Update the size of the application window and all of the docking windows.

Update the size of the application window and all of the docking windows

Returns:
None


The documentation for this class was generated from the following file:
Generated on Fri Feb 25 16:08:48 2005 for RenderMonkey SDK by doxygen 1.3.6