

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0366 */
/* at Wed May 20 19:22:49 2009
 */
/* Compiler settings for ..\..\builds\Release_Win32\_MeshModifiers.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef ___MeshModifiers_h__
#define ___MeshModifiers_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IRcTipTool_FWD_DEFINED__
#define __IRcTipTool_FWD_DEFINED__
typedef interface IRcTipTool IRcTipTool;
#endif 	/* __IRcTipTool_FWD_DEFINED__ */


#ifndef __IRsPointEditUiAgent_FWD_DEFINED__
#define __IRsPointEditUiAgent_FWD_DEFINED__
typedef interface IRsPointEditUiAgent IRsPointEditUiAgent;
#endif 	/* __IRsPointEditUiAgent_FWD_DEFINED__ */


#ifndef __IRfMeshModifierSet_FWD_DEFINED__
#define __IRfMeshModifierSet_FWD_DEFINED__
typedef interface IRfMeshModifierSet IRfMeshModifierSet;
#endif 	/* __IRfMeshModifierSet_FWD_DEFINED__ */


#ifndef __IRfTriangulatorSet_FWD_DEFINED__
#define __IRfTriangulatorSet_FWD_DEFINED__
typedef interface IRfTriangulatorSet IRfTriangulatorSet;
#endif 	/* __IRfTriangulatorSet_FWD_DEFINED__ */


#ifndef __IRfBooleansSet_FWD_DEFINED__
#define __IRfBooleansSet_FWD_DEFINED__
typedef interface IRfBooleansSet IRfBooleansSet;
#endif 	/* __IRfBooleansSet_FWD_DEFINED__ */


#ifndef __IRsUnknownBrushProvider_FWD_DEFINED__
#define __IRsUnknownBrushProvider_FWD_DEFINED__
typedef interface IRsUnknownBrushProvider IRsUnknownBrushProvider;
#endif 	/* __IRsUnknownBrushProvider_FWD_DEFINED__ */


#ifndef __IRsMeshEditorUiPanelsHandler_FWD_DEFINED__
#define __IRsMeshEditorUiPanelsHandler_FWD_DEFINED__
typedef interface IRsMeshEditorUiPanelsHandler IRsMeshEditorUiPanelsHandler;
#endif 	/* __IRsMeshEditorUiPanelsHandler_FWD_DEFINED__ */


#ifndef __IRpMeshModifiers_FWD_DEFINED__
#define __IRpMeshModifiers_FWD_DEFINED__
typedef interface IRpMeshModifiers IRpMeshModifiers;
#endif 	/* __IRpMeshModifiers_FWD_DEFINED__ */


#ifndef __IRcWeldEdges_FWD_DEFINED__
#define __IRcWeldEdges_FWD_DEFINED__
typedef interface IRcWeldEdges IRcWeldEdges;
#endif 	/* __IRcWeldEdges_FWD_DEFINED__ */


#ifndef __IRcWeldTool_FWD_DEFINED__
#define __IRcWeldTool_FWD_DEFINED__
typedef interface IRcWeldTool IRcWeldTool;
#endif 	/* __IRcWeldTool_FWD_DEFINED__ */


#ifndef __IRcFlipFaces_FWD_DEFINED__
#define __IRcFlipFaces_FWD_DEFINED__
typedef interface IRcFlipFaces IRcFlipFaces;
#endif 	/* __IRcFlipFaces_FWD_DEFINED__ */


#ifndef __IRcMergePolygons_FWD_DEFINED__
#define __IRcMergePolygons_FWD_DEFINED__
typedef interface IRcMergePolygons IRcMergePolygons;
#endif 	/* __IRcMergePolygons_FWD_DEFINED__ */


#ifndef __IRcSplitPolygons_FWD_DEFINED__
#define __IRcSplitPolygons_FWD_DEFINED__
typedef interface IRcSplitPolygons IRcSplitPolygons;
#endif 	/* __IRcSplitPolygons_FWD_DEFINED__ */


#ifndef __IRcMemSweep_FWD_DEFINED__
#define __IRcMemSweep_FWD_DEFINED__
typedef interface IRcMemSweep IRcMemSweep;
#endif 	/* __IRcMemSweep_FWD_DEFINED__ */


#ifndef __IRcDuplicateSelection_FWD_DEFINED__
#define __IRcDuplicateSelection_FWD_DEFINED__
typedef interface IRcDuplicateSelection IRcDuplicateSelection;
#endif 	/* __IRcDuplicateSelection_FWD_DEFINED__ */


#ifndef __IRcMirrorSelection_FWD_DEFINED__
#define __IRcMirrorSelection_FWD_DEFINED__
typedef interface IRcMirrorSelection IRcMirrorSelection;
#endif 	/* __IRcMirrorSelection_FWD_DEFINED__ */


#ifndef __IRcUpdateMirrorNormal_FWD_DEFINED__
#define __IRcUpdateMirrorNormal_FWD_DEFINED__
typedef interface IRcUpdateMirrorNormal IRcUpdateMirrorNormal;
#endif 	/* __IRcUpdateMirrorNormal_FWD_DEFINED__ */


#ifndef __IRcUpdateMirrorPosition_FWD_DEFINED__
#define __IRcUpdateMirrorPosition_FWD_DEFINED__
typedef interface IRcUpdateMirrorPosition IRcUpdateMirrorPosition;
#endif 	/* __IRcUpdateMirrorPosition_FWD_DEFINED__ */


#ifndef __IRcBridgeSelectionUndoRedo_FWD_DEFINED__
#define __IRcBridgeSelectionUndoRedo_FWD_DEFINED__
typedef interface IRcBridgeSelectionUndoRedo IRcBridgeSelectionUndoRedo;
#endif 	/* __IRcBridgeSelectionUndoRedo_FWD_DEFINED__ */


#ifndef __IRnBridgeTool_FWD_DEFINED__
#define __IRnBridgeTool_FWD_DEFINED__
typedef interface IRnBridgeTool IRnBridgeTool;
#endif 	/* __IRnBridgeTool_FWD_DEFINED__ */


#ifndef __IRcMeshModifierUndoRedo_FWD_DEFINED__
#define __IRcMeshModifierUndoRedo_FWD_DEFINED__
typedef interface IRcMeshModifierUndoRedo IRcMeshModifierUndoRedo;
#endif 	/* __IRcMeshModifierUndoRedo_FWD_DEFINED__ */


#ifndef __IRnAddLoop_FWD_DEFINED__
#define __IRnAddLoop_FWD_DEFINED__
typedef interface IRnAddLoop IRnAddLoop;
#endif 	/* __IRnAddLoop_FWD_DEFINED__ */


#ifndef __IRcSubdivFaces_FWD_DEFINED__
#define __IRcSubdivFaces_FWD_DEFINED__
typedef interface IRcSubdivFaces IRcSubdivFaces;
#endif 	/* __IRcSubdivFaces_FWD_DEFINED__ */


#ifndef __IRcSmoothdivFaces_FWD_DEFINED__
#define __IRcSmoothdivFaces_FWD_DEFINED__
typedef interface IRcSmoothdivFaces IRcSmoothdivFaces;
#endif 	/* __IRcSmoothdivFaces_FWD_DEFINED__ */


#ifndef __IRcAddFace_FWD_DEFINED__
#define __IRcAddFace_FWD_DEFINED__
typedef interface IRcAddFace IRcAddFace;
#endif 	/* __IRcAddFace_FWD_DEFINED__ */


#ifndef __IRcInvert_FWD_DEFINED__
#define __IRcInvert_FWD_DEFINED__
typedef interface IRcInvert IRcInvert;
#endif 	/* __IRcInvert_FWD_DEFINED__ */


#ifndef __IRcSelectConnected_FWD_DEFINED__
#define __IRcSelectConnected_FWD_DEFINED__
typedef interface IRcSelectConnected IRcSelectConnected;
#endif 	/* __IRcSelectConnected_FWD_DEFINED__ */


#ifndef __IRcInvertConnected_FWD_DEFINED__
#define __IRcInvertConnected_FWD_DEFINED__
typedef interface IRcInvertConnected IRcInvertConnected;
#endif 	/* __IRcInvertConnected_FWD_DEFINED__ */


#ifndef __IRcGrowPointEditSelection_FWD_DEFINED__
#define __IRcGrowPointEditSelection_FWD_DEFINED__
typedef interface IRcGrowPointEditSelection IRcGrowPointEditSelection;
#endif 	/* __IRcGrowPointEditSelection_FWD_DEFINED__ */


#ifndef __IRcShrinkPointEditSelection_FWD_DEFINED__
#define __IRcShrinkPointEditSelection_FWD_DEFINED__
typedef interface IRcShrinkPointEditSelection IRcShrinkPointEditSelection;
#endif 	/* __IRcShrinkPointEditSelection_FWD_DEFINED__ */


#ifndef __IRcSmoothPointEditSelection_FWD_DEFINED__
#define __IRcSmoothPointEditSelection_FWD_DEFINED__
typedef interface IRcSmoothPointEditSelection IRcSmoothPointEditSelection;
#endif 	/* __IRcSmoothPointEditSelection_FWD_DEFINED__ */


#ifndef __IRcOutlinePointEditSelection_FWD_DEFINED__
#define __IRcOutlinePointEditSelection_FWD_DEFINED__
typedef interface IRcOutlinePointEditSelection IRcOutlinePointEditSelection;
#endif 	/* __IRcOutlinePointEditSelection_FWD_DEFINED__ */


#ifndef __IRcTransformSelection_FWD_DEFINED__
#define __IRcTransformSelection_FWD_DEFINED__
typedef interface IRcTransformSelection IRcTransformSelection;
#endif 	/* __IRcTransformSelection_FWD_DEFINED__ */


#ifndef __IRnCopyPolygon_FWD_DEFINED__
#define __IRnCopyPolygon_FWD_DEFINED__
typedef interface IRnCopyPolygon IRnCopyPolygon;
#endif 	/* __IRnCopyPolygon_FWD_DEFINED__ */


#ifndef __IRcScissors_FWD_DEFINED__
#define __IRcScissors_FWD_DEFINED__
typedef interface IRcScissors IRcScissors;
#endif 	/* __IRcScissors_FWD_DEFINED__ */


#ifndef __IRdPolydrawState_FWD_DEFINED__
#define __IRdPolydrawState_FWD_DEFINED__
typedef interface IRdPolydrawState IRdPolydrawState;
#endif 	/* __IRdPolydrawState_FWD_DEFINED__ */


#ifndef __IRnPolydraw_FWD_DEFINED__
#define __IRnPolydraw_FWD_DEFINED__
typedef interface IRnPolydraw IRnPolydraw;
#endif 	/* __IRnPolydraw_FWD_DEFINED__ */


#ifndef __IRcNormalSweep_FWD_DEFINED__
#define __IRcNormalSweep_FWD_DEFINED__
typedef interface IRcNormalSweep IRcNormalSweep;
#endif 	/* __IRcNormalSweep_FWD_DEFINED__ */


#ifndef __IRnSweep_FWD_DEFINED__
#define __IRnSweep_FWD_DEFINED__
typedef interface IRnSweep IRnSweep;
#endif 	/* __IRnSweep_FWD_DEFINED__ */


#ifndef __IRcBevelTool_FWD_DEFINED__
#define __IRcBevelTool_FWD_DEFINED__
typedef interface IRcBevelTool IRcBevelTool;
#endif 	/* __IRcBevelTool_FWD_DEFINED__ */


#ifndef __IRnBevelTool_FWD_DEFINED__
#define __IRnBevelTool_FWD_DEFINED__
typedef interface IRnBevelTool IRnBevelTool;
#endif 	/* __IRnBevelTool_FWD_DEFINED__ */


#ifndef __IRcPeDeselect_FWD_DEFINED__
#define __IRcPeDeselect_FWD_DEFINED__
typedef interface IRcPeDeselect IRcPeDeselect;
#endif 	/* __IRcPeDeselect_FWD_DEFINED__ */


#ifndef __IRcAddMirrorModeler_FWD_DEFINED__
#define __IRcAddMirrorModeler_FWD_DEFINED__
typedef interface IRcAddMirrorModeler IRcAddMirrorModeler;
#endif 	/* __IRcAddMirrorModeler_FWD_DEFINED__ */


#ifndef __IRdMirrorModeler_FWD_DEFINED__
#define __IRdMirrorModeler_FWD_DEFINED__
typedef interface IRdMirrorModeler IRdMirrorModeler;
#endif 	/* __IRdMirrorModeler_FWD_DEFINED__ */


#ifndef __IRnMirrorModeler_FWD_DEFINED__
#define __IRnMirrorModeler_FWD_DEFINED__
typedef interface IRnMirrorModeler IRnMirrorModeler;
#endif 	/* __IRnMirrorModeler_FWD_DEFINED__ */


#ifndef __IRcShowMmSettings_FWD_DEFINED__
#define __IRcShowMmSettings_FWD_DEFINED__
typedef interface IRcShowMmSettings IRcShowMmSettings;
#endif 	/* __IRcShowMmSettings_FWD_DEFINED__ */


#ifndef __IRcRemoveMirrorPlane_FWD_DEFINED__
#define __IRcRemoveMirrorPlane_FWD_DEFINED__
typedef interface IRcRemoveMirrorPlane IRcRemoveMirrorPlane;
#endif 	/* __IRcRemoveMirrorPlane_FWD_DEFINED__ */


#ifndef __IRcUpdateMmPlane_FWD_DEFINED__
#define __IRcUpdateMmPlane_FWD_DEFINED__
typedef interface IRcUpdateMmPlane IRcUpdateMmPlane;
#endif 	/* __IRcUpdateMmPlane_FWD_DEFINED__ */


#ifndef __IRdSoftbrushSettings_FWD_DEFINED__
#define __IRdSoftbrushSettings_FWD_DEFINED__
typedef interface IRdSoftbrushSettings IRdSoftbrushSettings;
#endif 	/* __IRdSoftbrushSettings_FWD_DEFINED__ */


#ifndef __IRnSoftPaint_FWD_DEFINED__
#define __IRnSoftPaint_FWD_DEFINED__
typedef interface IRnSoftPaint IRnSoftPaint;
#endif 	/* __IRnSoftPaint_FWD_DEFINED__ */


#ifndef __IRsBitmapBrushProvider_FWD_DEFINED__
#define __IRsBitmapBrushProvider_FWD_DEFINED__
typedef interface IRsBitmapBrushProvider IRsBitmapBrushProvider;
#endif 	/* __IRsBitmapBrushProvider_FWD_DEFINED__ */


#ifndef __IRsGaussianBrushProvider_FWD_DEFINED__
#define __IRsGaussianBrushProvider_FWD_DEFINED__
typedef interface IRsGaussianBrushProvider IRsGaussianBrushProvider;
#endif 	/* __IRsGaussianBrushProvider_FWD_DEFINED__ */


#ifndef __IRsBidirGaussianBrushProvider_FWD_DEFINED__
#define __IRsBidirGaussianBrushProvider_FWD_DEFINED__
typedef interface IRsBidirGaussianBrushProvider IRsBidirGaussianBrushProvider;
#endif 	/* __IRsBidirGaussianBrushProvider_FWD_DEFINED__ */


#ifndef __IRsSkinningCache_FWD_DEFINED__
#define __IRsSkinningCache_FWD_DEFINED__
typedef interface IRsSkinningCache IRsSkinningCache;
#endif 	/* __IRsSkinningCache_FWD_DEFINED__ */


#ifndef __IRnSkinning_FWD_DEFINED__
#define __IRnSkinning_FWD_DEFINED__
typedef interface IRnSkinning IRnSkinning;
#endif 	/* __IRnSkinning_FWD_DEFINED__ */


#ifndef __IRcHealTool_FWD_DEFINED__
#define __IRcHealTool_FWD_DEFINED__
typedef interface IRcHealTool IRcHealTool;
#endif 	/* __IRcHealTool_FWD_DEFINED__ */


#ifndef __IRcMeshGenerateNormals_FWD_DEFINED__
#define __IRcMeshGenerateNormals_FWD_DEFINED__
typedef interface IRcMeshGenerateNormals IRcMeshGenerateNormals;
#endif 	/* __IRcMeshGenerateNormals_FWD_DEFINED__ */


#ifndef __IRcSelectMaterial_FWD_DEFINED__
#define __IRcSelectMaterial_FWD_DEFINED__
typedef interface IRcSelectMaterial IRcSelectMaterial;
#endif 	/* __IRcSelectMaterial_FWD_DEFINED__ */


#ifndef __IRcApplyCommandTool_FWD_DEFINED__
#define __IRcApplyCommandTool_FWD_DEFINED__
typedef interface IRcApplyCommandTool IRcApplyCommandTool;
#endif 	/* __IRcApplyCommandTool_FWD_DEFINED__ */


#ifndef __IRcMeshSelectionUndoRedo_FWD_DEFINED__
#define __IRcMeshSelectionUndoRedo_FWD_DEFINED__
typedef interface IRcMeshSelectionUndoRedo IRcMeshSelectionUndoRedo;
#endif 	/* __IRcMeshSelectionUndoRedo_FWD_DEFINED__ */


#ifndef __IRnBasicSelect_FWD_DEFINED__
#define __IRnBasicSelect_FWD_DEFINED__
typedef interface IRnBasicSelect IRnBasicSelect;
#endif 	/* __IRnBasicSelect_FWD_DEFINED__ */


#ifndef __IRnMESettings_FWD_DEFINED__
#define __IRnMESettings_FWD_DEFINED__
typedef interface IRnMESettings IRnMESettings;
#endif 	/* __IRnMESettings_FWD_DEFINED__ */


#ifndef __IRnLassoSelect_FWD_DEFINED__
#define __IRnLassoSelect_FWD_DEFINED__
typedef interface IRnLassoSelect IRnLassoSelect;
#endif 	/* __IRnLassoSelect_FWD_DEFINED__ */


#ifndef __IRnRectSelect_FWD_DEFINED__
#define __IRnRectSelect_FWD_DEFINED__
typedef interface IRnRectSelect IRnRectSelect;
#endif 	/* __IRnRectSelect_FWD_DEFINED__ */


#ifndef __IRnSoftSelect_FWD_DEFINED__
#define __IRnSoftSelect_FWD_DEFINED__
typedef interface IRnSoftSelect IRnSoftSelect;
#endif 	/* __IRnSoftSelect_FWD_DEFINED__ */


#ifndef __IRcFlipEdge_FWD_DEFINED__
#define __IRcFlipEdge_FWD_DEFINED__
typedef interface IRcFlipEdge IRcFlipEdge;
#endif 	/* __IRcFlipEdge_FWD_DEFINED__ */


#ifndef __IRcOptimizeTriangulation_FWD_DEFINED__
#define __IRcOptimizeTriangulation_FWD_DEFINED__
typedef interface IRcOptimizeTriangulation IRcOptimizeTriangulation;
#endif 	/* __IRcOptimizeTriangulation_FWD_DEFINED__ */


#ifndef __IRcSeparateSelected_FWD_DEFINED__
#define __IRcSeparateSelected_FWD_DEFINED__
typedef interface IRcSeparateSelected IRcSeparateSelected;
#endif 	/* __IRcSeparateSelected_FWD_DEFINED__ */


#ifndef __IRcSelectPath_FWD_DEFINED__
#define __IRcSelectPath_FWD_DEFINED__
typedef interface IRcSelectPath IRcSelectPath;
#endif 	/* __IRcSelectPath_FWD_DEFINED__ */


#ifndef __IRcCollapseLoop_FWD_DEFINED__
#define __IRcCollapseLoop_FWD_DEFINED__
typedef interface IRcCollapseLoop IRcCollapseLoop;
#endif 	/* __IRcCollapseLoop_FWD_DEFINED__ */


#ifndef __IRcHideSelected_FWD_DEFINED__
#define __IRcHideSelected_FWD_DEFINED__
typedef interface IRcHideSelected IRcHideSelected;
#endif 	/* __IRcHideSelected_FWD_DEFINED__ */


#ifndef __IRcShowHiddenAll_FWD_DEFINED__
#define __IRcShowHiddenAll_FWD_DEFINED__
typedef interface IRcShowHiddenAll IRcShowHiddenAll;
#endif 	/* __IRcShowHiddenAll_FWD_DEFINED__ */


#ifndef __IRcHideUnSelected_FWD_DEFINED__
#define __IRcHideUnSelected_FWD_DEFINED__
typedef interface IRcHideUnSelected IRcHideUnSelected;
#endif 	/* __IRcHideUnSelected_FWD_DEFINED__ */


#ifndef __IRcAddSsLevel_FWD_DEFINED__
#define __IRcAddSsLevel_FWD_DEFINED__
typedef interface IRcAddSsLevel IRcAddSsLevel;
#endif 	/* __IRcAddSsLevel_FWD_DEFINED__ */


#ifndef __IRnRCCSDS_FWD_DEFINED__
#define __IRnRCCSDS_FWD_DEFINED__
typedef interface IRnRCCSDS IRnRCCSDS;
#endif 	/* __IRnRCCSDS_FWD_DEFINED__ */


#ifndef __IRcAddSdsEdgeWeight_FWD_DEFINED__
#define __IRcAddSdsEdgeWeight_FWD_DEFINED__
typedef interface IRcAddSdsEdgeWeight IRcAddSdsEdgeWeight;
#endif 	/* __IRcAddSdsEdgeWeight_FWD_DEFINED__ */


#ifndef __IRnSdsCrease_FWD_DEFINED__
#define __IRnSdsCrease_FWD_DEFINED__
typedef interface IRnSdsCrease IRnSdsCrease;
#endif 	/* __IRnSdsCrease_FWD_DEFINED__ */


#ifndef __IRcAddSdsVertexWeight_FWD_DEFINED__
#define __IRcAddSdsVertexWeight_FWD_DEFINED__
typedef interface IRcAddSdsVertexWeight IRcAddSdsVertexWeight;
#endif 	/* __IRcAddSdsVertexWeight_FWD_DEFINED__ */


#ifndef __IRnSdsVertexWeight_FWD_DEFINED__
#define __IRnSdsVertexWeight_FWD_DEFINED__
typedef interface IRnSdsVertexWeight IRnSdsVertexWeight;
#endif 	/* __IRnSdsVertexWeight_FWD_DEFINED__ */


#ifndef __IRcResetSds_FWD_DEFINED__
#define __IRcResetSds_FWD_DEFINED__
typedef interface IRcResetSds IRcResetSds;
#endif 	/* __IRcResetSds_FWD_DEFINED__ */


#ifndef __IRcPeBooleans_FWD_DEFINED__
#define __IRcPeBooleans_FWD_DEFINED__
typedef interface IRcPeBooleans IRcPeBooleans;
#endif 	/* __IRcPeBooleans_FWD_DEFINED__ */


#ifndef __IRnBooleansTool_FWD_DEFINED__
#define __IRnBooleansTool_FWD_DEFINED__
typedef interface IRnBooleansTool IRnBooleansTool;
#endif 	/* __IRnBooleansTool_FWD_DEFINED__ */


#ifndef __IRdMaterialLookupTable_FWD_DEFINED__
#define __IRdMaterialLookupTable_FWD_DEFINED__
typedef interface IRdMaterialLookupTable IRdMaterialLookupTable;
#endif 	/* __IRdMaterialLookupTable_FWD_DEFINED__ */


#ifndef __IRnCsgOperation_FWD_DEFINED__
#define __IRnCsgOperation_FWD_DEFINED__
typedef interface IRnCsgOperation IRnCsgOperation;
#endif 	/* __IRnCsgOperation_FWD_DEFINED__ */


#ifndef __IRdVertexSnapping_FWD_DEFINED__
#define __IRdVertexSnapping_FWD_DEFINED__
typedef interface IRdVertexSnapping IRdVertexSnapping;
#endif 	/* __IRdVertexSnapping_FWD_DEFINED__ */


#ifndef __IRcBoolControlMesh_FWD_DEFINED__
#define __IRcBoolControlMesh_FWD_DEFINED__
typedef interface IRcBoolControlMesh IRcBoolControlMesh;
#endif 	/* __IRcBoolControlMesh_FWD_DEFINED__ */


#ifndef __IRcBoolDirectly_FWD_DEFINED__
#define __IRcBoolDirectly_FWD_DEFINED__
typedef interface IRcBoolDirectly IRcBoolDirectly;
#endif 	/* __IRcBoolDirectly_FWD_DEFINED__ */


#ifndef __IRcBoolWithHistory_FWD_DEFINED__
#define __IRcBoolWithHistory_FWD_DEFINED__
typedef interface IRcBoolWithHistory IRcBoolWithHistory;
#endif 	/* __IRcBoolWithHistory_FWD_DEFINED__ */


#ifndef __IRnMeshMerge_FWD_DEFINED__
#define __IRnMeshMerge_FWD_DEFINED__
typedef interface IRnMeshMerge IRnMeshMerge;
#endif 	/* __IRnMeshMerge_FWD_DEFINED__ */


#ifndef __IRcBooleanAddPrimitive_FWD_DEFINED__
#define __IRcBooleanAddPrimitive_FWD_DEFINED__
typedef interface IRcBooleanAddPrimitive IRcBooleanAddPrimitive;
#endif 	/* __IRcBooleanAddPrimitive_FWD_DEFINED__ */


#ifndef __IRcQuadrify_FWD_DEFINED__
#define __IRcQuadrify_FWD_DEFINED__
typedef interface IRcQuadrify IRcQuadrify;
#endif 	/* __IRcQuadrify_FWD_DEFINED__ */


#ifndef __IRcDeleteElements_FWD_DEFINED__
#define __IRcDeleteElements_FWD_DEFINED__
typedef interface IRcDeleteElements IRcDeleteElements;
#endif 	/* __IRcDeleteElements_FWD_DEFINED__ */


#ifndef __IRcFlattenAxes_FWD_DEFINED__
#define __IRcFlattenAxes_FWD_DEFINED__
typedef interface IRcFlattenAxes IRcFlattenAxes;
#endif 	/* __IRcFlattenAxes_FWD_DEFINED__ */


#ifndef __IRcActivatePointEditWidget_FWD_DEFINED__
#define __IRcActivatePointEditWidget_FWD_DEFINED__
typedef interface IRcActivatePointEditWidget IRcActivatePointEditWidget;
#endif 	/* __IRcActivatePointEditWidget_FWD_DEFINED__ */


#ifndef __IRsPeBBoxCache_FWD_DEFINED__
#define __IRsPeBBoxCache_FWD_DEFINED__
typedef interface IRsPeBBoxCache IRsPeBBoxCache;
#endif 	/* __IRsPeBBoxCache_FWD_DEFINED__ */


#ifndef __IRsPeCoordSysCache_FWD_DEFINED__
#define __IRsPeCoordSysCache_FWD_DEFINED__
typedef interface IRsPeCoordSysCache IRsPeCoordSysCache;
#endif 	/* __IRsPeCoordSysCache_FWD_DEFINED__ */


#ifndef __IRsPeCoordinatesEvaluator_FWD_DEFINED__
#define __IRsPeCoordinatesEvaluator_FWD_DEFINED__
typedef interface IRsPeCoordinatesEvaluator IRsPeCoordinatesEvaluator;
#endif 	/* __IRsPeCoordinatesEvaluator_FWD_DEFINED__ */


#ifndef __IRnMeshEditor_FWD_DEFINED__
#define __IRnMeshEditor_FWD_DEFINED__
typedef interface IRnMeshEditor IRnMeshEditor;
#endif 	/* __IRnMeshEditor_FWD_DEFINED__ */


#ifndef __IRcEnterMeshedit_FWD_DEFINED__
#define __IRcEnterMeshedit_FWD_DEFINED__
typedef interface IRcEnterMeshedit IRcEnterMeshedit;
#endif 	/* __IRcEnterMeshedit_FWD_DEFINED__ */


#ifndef __IRcLeaveMeshedit_FWD_DEFINED__
#define __IRcLeaveMeshedit_FWD_DEFINED__
typedef interface IRcLeaveMeshedit IRcLeaveMeshedit;
#endif 	/* __IRcLeaveMeshedit_FWD_DEFINED__ */


#ifndef __IRcMEShowSettings_FWD_DEFINED__
#define __IRcMEShowSettings_FWD_DEFINED__
typedef interface IRcMEShowSettings IRcMEShowSettings;
#endif 	/* __IRcMEShowSettings_FWD_DEFINED__ */


#ifndef __IRsPeTransformManager_FWD_DEFINED__
#define __IRsPeTransformManager_FWD_DEFINED__
typedef interface IRsPeTransformManager IRsPeTransformManager;
#endif 	/* __IRsPeTransformManager_FWD_DEFINED__ */


#ifndef __IRcPeTransformUndoRedo_FWD_DEFINED__
#define __IRcPeTransformUndoRedo_FWD_DEFINED__
typedef interface IRcPeTransformUndoRedo IRcPeTransformUndoRedo;
#endif 	/* __IRcPeTransformUndoRedo_FWD_DEFINED__ */


#ifndef __IRnMeshSelectionCs_FWD_DEFINED__
#define __IRnMeshSelectionCs_FWD_DEFINED__
typedef interface IRnMeshSelectionCs IRnMeshSelectionCs;
#endif 	/* __IRnMeshSelectionCs_FWD_DEFINED__ */


#ifndef __IRcDebugMesh_FWD_DEFINED__
#define __IRcDebugMesh_FWD_DEFINED__
typedef interface IRcDebugMesh IRcDebugMesh;
#endif 	/* __IRcDebugMesh_FWD_DEFINED__ */


#ifndef __IRcApplySelectiveMapping_FWD_DEFINED__
#define __IRcApplySelectiveMapping_FWD_DEFINED__
typedef interface IRcApplySelectiveMapping IRcApplySelectiveMapping;
#endif 	/* __IRcApplySelectiveMapping_FWD_DEFINED__ */


#ifndef __IRnUVMapper_FWD_DEFINED__
#define __IRnUVMapper_FWD_DEFINED__
typedef interface IRnUVMapper IRnUVMapper;
#endif 	/* __IRnUVMapper_FWD_DEFINED__ */


#ifndef __IRcDisplacementMapping_FWD_DEFINED__
#define __IRcDisplacementMapping_FWD_DEFINED__
typedef interface IRcDisplacementMapping IRcDisplacementMapping;
#endif 	/* __IRcDisplacementMapping_FWD_DEFINED__ */


#ifndef __IRnDisplacementMapper_FWD_DEFINED__
#define __IRnDisplacementMapper_FWD_DEFINED__
typedef interface IRnDisplacementMapper IRnDisplacementMapper;
#endif 	/* __IRnDisplacementMapper_FWD_DEFINED__ */


#ifndef __IRcDMBrushStroke_FWD_DEFINED__
#define __IRcDMBrushStroke_FWD_DEFINED__
typedef interface IRcDMBrushStroke IRcDMBrushStroke;
#endif 	/* __IRcDMBrushStroke_FWD_DEFINED__ */


#ifndef __IRcEnableDisplacementBrush_FWD_DEFINED__
#define __IRcEnableDisplacementBrush_FWD_DEFINED__
typedef interface IRcEnableDisplacementBrush IRcEnableDisplacementBrush;
#endif 	/* __IRcEnableDisplacementBrush_FWD_DEFINED__ */


#ifndef __IRnDisplacementMappingBrush_FWD_DEFINED__
#define __IRnDisplacementMappingBrush_FWD_DEFINED__
typedef interface IRnDisplacementMappingBrush IRnDisplacementMappingBrush;
#endif 	/* __IRnDisplacementMappingBrush_FWD_DEFINED__ */


#ifndef __IRcEndDisplacementMapping_FWD_DEFINED__
#define __IRcEndDisplacementMapping_FWD_DEFINED__
typedef interface IRcEndDisplacementMapping IRcEndDisplacementMapping;
#endif 	/* __IRcEndDisplacementMapping_FWD_DEFINED__ */


#ifndef __IRcShrinkWrapMapping_FWD_DEFINED__
#define __IRcShrinkWrapMapping_FWD_DEFINED__
typedef interface IRcShrinkWrapMapping IRcShrinkWrapMapping;
#endif 	/* __IRcShrinkWrapMapping_FWD_DEFINED__ */


#ifndef __IRcShrinkWrapStep_FWD_DEFINED__
#define __IRcShrinkWrapStep_FWD_DEFINED__
typedef interface IRcShrinkWrapStep IRcShrinkWrapStep;
#endif 	/* __IRcShrinkWrapStep_FWD_DEFINED__ */


#ifndef __IRcUVDiscardUVMapper_FWD_DEFINED__
#define __IRcUVDiscardUVMapper_FWD_DEFINED__
typedef interface IRcUVDiscardUVMapper IRcUVDiscardUVMapper;
#endif 	/* __IRcUVDiscardUVMapper_FWD_DEFINED__ */


#ifndef __IRcUVMapping_FWD_DEFINED__
#define __IRcUVMapping_FWD_DEFINED__
typedef interface IRcUVMapping IRcUVMapping;
#endif 	/* __IRcUVMapping_FWD_DEFINED__ */


#ifndef __IRnMappingController_FWD_DEFINED__
#define __IRnMappingController_FWD_DEFINED__
typedef interface IRnMappingController IRnMappingController;
#endif 	/* __IRnMappingController_FWD_DEFINED__ */


#ifndef __IRnModelingPreferences_FWD_DEFINED__
#define __IRnModelingPreferences_FWD_DEFINED__
typedef interface IRnModelingPreferences IRnModelingPreferences;
#endif 	/* __IRnModelingPreferences_FWD_DEFINED__ */


#ifndef __IRnModelingPreferencesCon_FWD_DEFINED__
#define __IRnModelingPreferencesCon_FWD_DEFINED__
typedef interface IRnModelingPreferencesCon IRnModelingPreferencesCon;
#endif 	/* __IRnModelingPreferencesCon_FWD_DEFINED__ */


#ifndef __IRnPePreferencesCon_FWD_DEFINED__
#define __IRnPePreferencesCon_FWD_DEFINED__
typedef interface IRnPePreferencesCon IRnPePreferencesCon;
#endif 	/* __IRnPePreferencesCon_FWD_DEFINED__ */


#ifndef __IRcCancelSelectionTool_FWD_DEFINED__
#define __IRcCancelSelectionTool_FWD_DEFINED__
typedef interface IRcCancelSelectionTool IRcCancelSelectionTool;
#endif 	/* __IRcCancelSelectionTool_FWD_DEFINED__ */


#ifndef __IRcFlattenNode_FWD_DEFINED__
#define __IRcFlattenNode_FWD_DEFINED__
typedef interface IRcFlattenNode IRcFlattenNode;
#endif 	/* __IRcFlattenNode_FWD_DEFINED__ */


#ifndef __IRnVertexSnapping_FWD_DEFINED__
#define __IRnVertexSnapping_FWD_DEFINED__
typedef interface IRnVertexSnapping IRnVertexSnapping;
#endif 	/* __IRnVertexSnapping_FWD_DEFINED__ */


#ifndef __IRdDistanceDisplay_FWD_DEFINED__
#define __IRdDistanceDisplay_FWD_DEFINED__
typedef interface IRdDistanceDisplay IRdDistanceDisplay;
#endif 	/* __IRdDistanceDisplay_FWD_DEFINED__ */


#ifndef __IRnDistanceDisplay_FWD_DEFINED__
#define __IRnDistanceDisplay_FWD_DEFINED__
typedef interface IRnDistanceDisplay IRnDistanceDisplay;
#endif 	/* __IRnDistanceDisplay_FWD_DEFINED__ */


#ifndef __IRdSelectionLock_FWD_DEFINED__
#define __IRdSelectionLock_FWD_DEFINED__
typedef interface IRdSelectionLock IRdSelectionLock;
#endif 	/* __IRdSelectionLock_FWD_DEFINED__ */


#ifndef __IRnSelectionLock_FWD_DEFINED__
#define __IRnSelectionLock_FWD_DEFINED__
typedef interface IRnSelectionLock IRnSelectionLock;
#endif 	/* __IRnSelectionLock_FWD_DEFINED__ */


#ifndef __IRcSelectionLockResetParams_FWD_DEFINED__
#define __IRcSelectionLockResetParams_FWD_DEFINED__
typedef interface IRcSelectionLockResetParams IRcSelectionLockResetParams;
#endif 	/* __IRcSelectionLockResetParams_FWD_DEFINED__ */


#ifndef __IRcSelectionLockSetParams_FWD_DEFINED__
#define __IRcSelectionLockSetParams_FWD_DEFINED__
typedef interface IRcSelectionLockSetParams IRcSelectionLockSetParams;
#endif 	/* __IRcSelectionLockSetParams_FWD_DEFINED__ */


#ifndef __IRdInferenceSnapping_FWD_DEFINED__
#define __IRdInferenceSnapping_FWD_DEFINED__
typedef interface IRdInferenceSnapping IRdInferenceSnapping;
#endif 	/* __IRdInferenceSnapping_FWD_DEFINED__ */


#ifndef __IRnInferenceSnapping_FWD_DEFINED__
#define __IRnInferenceSnapping_FWD_DEFINED__
typedef interface IRnInferenceSnapping IRnInferenceSnapping;
#endif 	/* __IRnInferenceSnapping_FWD_DEFINED__ */


#ifndef __IRiMeshModifiers_FWD_DEFINED__
#define __IRiMeshModifiers_FWD_DEFINED__
typedef interface IRiMeshModifiers IRiMeshModifiers;
#endif 	/* __IRiMeshModifiers_FWD_DEFINED__ */


#ifndef __IRcBuildNormalmap_FWD_DEFINED__
#define __IRcBuildNormalmap_FWD_DEFINED__
typedef interface IRcBuildNormalmap IRcBuildNormalmap;
#endif 	/* __IRcBuildNormalmap_FWD_DEFINED__ */


#ifndef __IRcSimplifyMesh_FWD_DEFINED__
#define __IRcSimplifyMesh_FWD_DEFINED__
typedef interface IRcSimplifyMesh IRcSimplifyMesh;
#endif 	/* __IRcSimplifyMesh_FWD_DEFINED__ */


#ifndef __IRsBinaryMeshOp_FWD_DEFINED__
#define __IRsBinaryMeshOp_FWD_DEFINED__
typedef interface IRsBinaryMeshOp IRsBinaryMeshOp;
#endif 	/* __IRsBinaryMeshOp_FWD_DEFINED__ */


#ifndef __IRnBinaryMeshOpPick_FWD_DEFINED__
#define __IRnBinaryMeshOpPick_FWD_DEFINED__
typedef interface IRnBinaryMeshOpPick IRnBinaryMeshOpPick;
#endif 	/* __IRnBinaryMeshOpPick_FWD_DEFINED__ */


#ifndef __IRcBuildNormalmapOp_FWD_DEFINED__
#define __IRcBuildNormalmapOp_FWD_DEFINED__
typedef interface IRcBuildNormalmapOp IRcBuildNormalmapOp;
#endif 	/* __IRcBuildNormalmapOp_FWD_DEFINED__ */


#ifndef __IRcCreateHair_FWD_DEFINED__
#define __IRcCreateHair_FWD_DEFINED__
typedef interface IRcCreateHair IRcCreateHair;
#endif 	/* __IRcCreateHair_FWD_DEFINED__ */


#ifndef __IRcEnableHairBrush_FWD_DEFINED__
#define __IRcEnableHairBrush_FWD_DEFINED__
typedef interface IRcEnableHairBrush IRcEnableHairBrush;
#endif 	/* __IRcEnableHairBrush_FWD_DEFINED__ */


#ifndef __IRcHairPreset_FWD_DEFINED__
#define __IRcHairPreset_FWD_DEFINED__
typedef interface IRcHairPreset IRcHairPreset;
#endif 	/* __IRcHairPreset_FWD_DEFINED__ */


#ifndef __IRcHairApplyWig_FWD_DEFINED__
#define __IRcHairApplyWig_FWD_DEFINED__
typedef interface IRcHairApplyWig IRcHairApplyWig;
#endif 	/* __IRcHairApplyWig_FWD_DEFINED__ */


#ifndef __IRcRepaintMaterial_FWD_DEFINED__
#define __IRcRepaintMaterial_FWD_DEFINED__
typedef interface IRcRepaintMaterial IRcRepaintMaterial;
#endif 	/* __IRcRepaintMaterial_FWD_DEFINED__ */


#ifndef __IRcMEPaintFace_FWD_DEFINED__
#define __IRcMEPaintFace_FWD_DEFINED__
typedef interface IRcMEPaintFace IRcMEPaintFace;
#endif 	/* __IRcMEPaintFace_FWD_DEFINED__ */


#ifndef __IRcSetMaterial_FWD_DEFINED__
#define __IRcSetMaterial_FWD_DEFINED__
typedef interface IRcSetMaterial IRcSetMaterial;
#endif 	/* __IRcSetMaterial_FWD_DEFINED__ */


#ifndef __IRsMeshModifiersCmdFactory_FWD_DEFINED__
#define __IRsMeshModifiersCmdFactory_FWD_DEFINED__
typedef interface IRsMeshModifiersCmdFactory IRsMeshModifiersCmdFactory;
#endif 	/* __IRsMeshModifiersCmdFactory_FWD_DEFINED__ */


#ifndef __IRsMeshModifiersNodeFactory_FWD_DEFINED__
#define __IRsMeshModifiersNodeFactory_FWD_DEFINED__
typedef interface IRsMeshModifiersNodeFactory IRsMeshModifiersNodeFactory;
#endif 	/* __IRsMeshModifiersNodeFactory_FWD_DEFINED__ */


#ifndef __IRsMeshModifiersDOFactory_FWD_DEFINED__
#define __IRsMeshModifiersDOFactory_FWD_DEFINED__
typedef interface IRsMeshModifiersDOFactory IRsMeshModifiersDOFactory;
#endif 	/* __IRsMeshModifiersDOFactory_FWD_DEFINED__ */


#ifndef __IRsVertexBrushTool_FWD_DEFINED__
#define __IRsVertexBrushTool_FWD_DEFINED__
typedef interface IRsVertexBrushTool IRsVertexBrushTool;
#endif 	/* __IRsVertexBrushTool_FWD_DEFINED__ */


#ifndef __IRcEditHairStream_FWD_DEFINED__
#define __IRcEditHairStream_FWD_DEFINED__
typedef interface IRcEditHairStream IRcEditHairStream;
#endif 	/* __IRcEditHairStream_FWD_DEFINED__ */


#ifndef __IRnHairGravityBrush_FWD_DEFINED__
#define __IRnHairGravityBrush_FWD_DEFINED__
typedef interface IRnHairGravityBrush IRnHairGravityBrush;
#endif 	/* __IRnHairGravityBrush_FWD_DEFINED__ */


#ifndef __IRnHairWigShapeGenerator_FWD_DEFINED__
#define __IRnHairWigShapeGenerator_FWD_DEFINED__
typedef interface IRnHairWigShapeGenerator IRnHairWigShapeGenerator;
#endif 	/* __IRnHairWigShapeGenerator_FWD_DEFINED__ */


#ifndef __IRnVertexBrush_FWD_DEFINED__
#define __IRnVertexBrush_FWD_DEFINED__
typedef interface IRnVertexBrush IRnVertexBrush;
#endif 	/* __IRnVertexBrush_FWD_DEFINED__ */


#ifndef __IRdNormalMapperInfo_FWD_DEFINED__
#define __IRdNormalMapperInfo_FWD_DEFINED__
typedef interface IRdNormalMapperInfo IRdNormalMapperInfo;
#endif 	/* __IRdNormalMapperInfo_FWD_DEFINED__ */


#ifndef __IRnNormalmapGenerator_FWD_DEFINED__
#define __IRnNormalmapGenerator_FWD_DEFINED__
typedef interface IRnNormalmapGenerator IRnNormalmapGenerator;
#endif 	/* __IRnNormalmapGenerator_FWD_DEFINED__ */


#ifndef __IRnMeshSimplifier_FWD_DEFINED__
#define __IRnMeshSimplifier_FWD_DEFINED__
typedef interface IRnMeshSimplifier IRnMeshSimplifier;
#endif 	/* __IRnMeshSimplifier_FWD_DEFINED__ */


#ifndef __IRnMeshUnwrapper_FWD_DEFINED__
#define __IRnMeshUnwrapper_FWD_DEFINED__
typedef interface IRnMeshUnwrapper IRnMeshUnwrapper;
#endif 	/* __IRnMeshUnwrapper_FWD_DEFINED__ */


#ifndef __IRnTJunctionRemover_FWD_DEFINED__
#define __IRnTJunctionRemover_FWD_DEFINED__
typedef interface IRnTJunctionRemover IRnTJunctionRemover;
#endif 	/* __IRnTJunctionRemover_FWD_DEFINED__ */


#ifndef __IRnMeshCollapse_FWD_DEFINED__
#define __IRnMeshCollapse_FWD_DEFINED__
typedef interface IRnMeshCollapse IRnMeshCollapse;
#endif 	/* __IRnMeshCollapse_FWD_DEFINED__ */


#ifndef __IRnCylindricMapper_FWD_DEFINED__
#define __IRnCylindricMapper_FWD_DEFINED__
typedef interface IRnCylindricMapper IRnCylindricMapper;
#endif 	/* __IRnCylindricMapper_FWD_DEFINED__ */


#ifndef __IRnPaintFace_FWD_DEFINED__
#define __IRnPaintFace_FWD_DEFINED__
typedef interface IRnPaintFace IRnPaintFace;
#endif 	/* __IRnPaintFace_FWD_DEFINED__ */


#ifndef __IRnMaterialInspect_FWD_DEFINED__
#define __IRnMaterialInspect_FWD_DEFINED__
typedef interface IRnMaterialInspect IRnMaterialInspect;
#endif 	/* __IRnMaterialInspect_FWD_DEFINED__ */


#ifndef __IRnMaterialRepaint_FWD_DEFINED__
#define __IRnMaterialRepaint_FWD_DEFINED__
typedef interface IRnMaterialRepaint IRnMaterialRepaint;
#endif 	/* __IRnMaterialRepaint_FWD_DEFINED__ */


#ifndef __IRcFinishNormalmap_FWD_DEFINED__
#define __IRcFinishNormalmap_FWD_DEFINED__
typedef interface IRcFinishNormalmap IRcFinishNormalmap;
#endif 	/* __IRcFinishNormalmap_FWD_DEFINED__ */


#ifndef __IRcNormalmapUpdateSync_FWD_DEFINED__
#define __IRcNormalmapUpdateSync_FWD_DEFINED__
typedef interface IRcNormalmapUpdateSync IRcNormalmapUpdateSync;
#endif 	/* __IRcNormalmapUpdateSync_FWD_DEFINED__ */


#ifndef __CRpMeshModifiers_FWD_DEFINED__
#define __CRpMeshModifiers_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRpMeshModifiers CRpMeshModifiers;
#else
typedef struct CRpMeshModifiers CRpMeshModifiers;
#endif /* __cplusplus */

#endif 	/* __CRpMeshModifiers_FWD_DEFINED__ */


#ifndef __CRdSoftbrushSettings_FWD_DEFINED__
#define __CRdSoftbrushSettings_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRdSoftbrushSettings CRdSoftbrushSettings;
#else
typedef struct CRdSoftbrushSettings CRdSoftbrushSettings;
#endif /* __cplusplus */

#endif 	/* __CRdSoftbrushSettings_FWD_DEFINED__ */


#ifndef __CRiMeshModifiers_FWD_DEFINED__
#define __CRiMeshModifiers_FWD_DEFINED__

#ifdef __cplusplus
typedef class CRiMeshModifiers CRiMeshModifiers;
#else
typedef struct CRiMeshModifiers CRiMeshModifiers;
#endif /* __cplusplus */

#endif 	/* __CRiMeshModifiers_FWD_DEFINED__ */


/* header files for imported files */
#include "prsht.h"
#include "mshtml.h"
#include "mshtmhst.h"
#include "exdisp.h"
#include "objsafe.h"
#include "_kernel.h"
#include "_CommonData.h"
#include "_space3d.h"
#include "_userinterface.h"
#include "_widgets.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

#ifndef __IRcTipTool_INTERFACE_DEFINED__
#define __IRcTipTool_INTERFACE_DEFINED__

/* interface IRcTipTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcTipTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D836AAE0-6E0C-48d9-95DC-8FDA120A29DF")
    IRcTipTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcTipToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcTipTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcTipTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcTipTool * This);
        
        END_INTERFACE
    } IRcTipToolVtbl;

    interface IRcTipTool
    {
        CONST_VTBL struct IRcTipToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcTipTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcTipTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcTipTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcTipTool_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__MeshModifiers_2396 */
/* [local] */ 


enum PE_UI_AGENT_STATE
    {	PUIAS_UNKNOWN	= 0,
	PUIAS_WIDGET	= 1,
	PUIAS_SELECTION	= 3,
	PUIAS_DEFAULT	= 2147483647
    } ;


extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2396_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2396_v0_0_s_ifspec;

#ifndef __IRsPointEditUiAgent_INTERFACE_DEFINED__
#define __IRsPointEditUiAgent_INTERFACE_DEFINED__

/* interface IRsPointEditUiAgent */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPointEditUiAgent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5B44AED2-C4BF-460B-A1D9-7C83F91B307A")
    IRsPointEditUiAgent : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE RefreshDirtyButtons( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ToggleGroup( 
            /* [in] */ BSTR szGroupName,
            /* [in] */ BSTR szValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnableState( 
            /* [in] */ BSTR szStateName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DisableState( 
            /* [in] */ BSTR szStateName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RegisterState( 
            /* [in] */ BSTR szName,
            /* [in] */ enum PE_UI_AGENT_STATE state) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetStateDefault( 
            /* [in] */ BSTR szName,
            /* [in] */ RtBool bDefaultState) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RefreshUi( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPointEditUiAgentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPointEditUiAgent * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPointEditUiAgent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPointEditUiAgent * This);
        
        HRESULT ( STDMETHODCALLTYPE *RefreshDirtyButtons )( 
            IRsPointEditUiAgent * This);
        
        HRESULT ( STDMETHODCALLTYPE *ToggleGroup )( 
            IRsPointEditUiAgent * This,
            /* [in] */ BSTR szGroupName,
            /* [in] */ BSTR szValue);
        
        HRESULT ( STDMETHODCALLTYPE *EnableState )( 
            IRsPointEditUiAgent * This,
            /* [in] */ BSTR szStateName);
        
        HRESULT ( STDMETHODCALLTYPE *DisableState )( 
            IRsPointEditUiAgent * This,
            /* [in] */ BSTR szStateName);
        
        HRESULT ( STDMETHODCALLTYPE *RegisterState )( 
            IRsPointEditUiAgent * This,
            /* [in] */ BSTR szName,
            /* [in] */ enum PE_UI_AGENT_STATE state);
        
        HRESULT ( STDMETHODCALLTYPE *SetStateDefault )( 
            IRsPointEditUiAgent * This,
            /* [in] */ BSTR szName,
            /* [in] */ RtBool bDefaultState);
        
        HRESULT ( STDMETHODCALLTYPE *Destroy )( 
            IRsPointEditUiAgent * This);
        
        HRESULT ( STDMETHODCALLTYPE *RefreshUi )( 
            IRsPointEditUiAgent * This);
        
        END_INTERFACE
    } IRsPointEditUiAgentVtbl;

    interface IRsPointEditUiAgent
    {
        CONST_VTBL struct IRsPointEditUiAgentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPointEditUiAgent_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPointEditUiAgent_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPointEditUiAgent_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPointEditUiAgent_RefreshDirtyButtons(This)	\
    (This)->lpVtbl -> RefreshDirtyButtons(This)

#define IRsPointEditUiAgent_ToggleGroup(This,szGroupName,szValue)	\
    (This)->lpVtbl -> ToggleGroup(This,szGroupName,szValue)

#define IRsPointEditUiAgent_EnableState(This,szStateName)	\
    (This)->lpVtbl -> EnableState(This,szStateName)

#define IRsPointEditUiAgent_DisableState(This,szStateName)	\
    (This)->lpVtbl -> DisableState(This,szStateName)

#define IRsPointEditUiAgent_RegisterState(This,szName,state)	\
    (This)->lpVtbl -> RegisterState(This,szName,state)

#define IRsPointEditUiAgent_SetStateDefault(This,szName,bDefaultState)	\
    (This)->lpVtbl -> SetStateDefault(This,szName,bDefaultState)

#define IRsPointEditUiAgent_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IRsPointEditUiAgent_RefreshUi(This)	\
    (This)->lpVtbl -> RefreshUi(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsPointEditUiAgent_RefreshDirtyButtons_Proxy( 
    IRsPointEditUiAgent * This);


void __RPC_STUB IRsPointEditUiAgent_RefreshDirtyButtons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPointEditUiAgent_ToggleGroup_Proxy( 
    IRsPointEditUiAgent * This,
    /* [in] */ BSTR szGroupName,
    /* [in] */ BSTR szValue);


void __RPC_STUB IRsPointEditUiAgent_ToggleGroup_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPointEditUiAgent_EnableState_Proxy( 
    IRsPointEditUiAgent * This,
    /* [in] */ BSTR szStateName);


void __RPC_STUB IRsPointEditUiAgent_EnableState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPointEditUiAgent_DisableState_Proxy( 
    IRsPointEditUiAgent * This,
    /* [in] */ BSTR szStateName);


void __RPC_STUB IRsPointEditUiAgent_DisableState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPointEditUiAgent_RegisterState_Proxy( 
    IRsPointEditUiAgent * This,
    /* [in] */ BSTR szName,
    /* [in] */ enum PE_UI_AGENT_STATE state);


void __RPC_STUB IRsPointEditUiAgent_RegisterState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPointEditUiAgent_SetStateDefault_Proxy( 
    IRsPointEditUiAgent * This,
    /* [in] */ BSTR szName,
    /* [in] */ RtBool bDefaultState);


void __RPC_STUB IRsPointEditUiAgent_SetStateDefault_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPointEditUiAgent_Destroy_Proxy( 
    IRsPointEditUiAgent * This);


void __RPC_STUB IRsPointEditUiAgent_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPointEditUiAgent_RefreshUi_Proxy( 
    IRsPointEditUiAgent * This);


void __RPC_STUB IRsPointEditUiAgent_RefreshUi_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPointEditUiAgent_INTERFACE_DEFINED__ */


#ifndef __IRfMeshModifierSet_INTERFACE_DEFINED__
#define __IRfMeshModifierSet_INTERFACE_DEFINED__

/* interface IRfMeshModifierSet */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfMeshModifierSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E25CF530-8011-4917-AC8C-0C9A066E48DF")
    IRfMeshModifierSet : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Attach( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Detach( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEditableShapeNodeSafe( 
            /* [retval][out] */ IRsNode **ppMeshModNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BackTraceFilterNode( 
            /* [in] */ const IID *iid,
            /* [retval][out] */ IRsNode **ppFoundNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InsertFilterNode( 
            /* [in] */ IRsNode *pFilterNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveFilterNode( 
            /* [in] */ IRsNode *pFilterNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertToEditableMesh( 
            /* [out] */ IRsNode **ppNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckMeshChainEditable( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckProceduralMesh( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetInputMeshSafe( 
            /* [in] */ IRsNode **ppMeshModNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEditableShape( 
            /* [in] */ IRsNode **ppMeshModNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckTopologyModifiers( 
            /* [in] */ IRsNode *pModifierNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CollapseModifiersPipeline( 
            /* [in] */ IRsNode *pModifierNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEditableMeshes( 
            /* [in] */ IRsObjectList *pSelection,
            /* [in] */ IRsObjectList **ppEditableMeshes) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEditedSubObjects( 
            /* [in] */ IRsObjectList **ppEditableMeshes) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ActivateEditMode( 
            /* [in] */ RtBool bAddIdStreams,
            /* [in] */ IRcUndoRedoGroup *pUndoRedo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DeactivateEditMode( 
            /* [in] */ IRcUndoRedoGroup *pUndoRedo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowHiddenGeometry( 
            /* [in] */ IRdMeshSelection **ppHiddenGeometry) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE HideGeometry( 
            /* [in] */ IRdMeshSelection *pHiddenGeometry) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetGeometryIdentificationStreams( 
            /* [in] */ IRcUndoRedoGroup *spUndoRedo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddGeometryIdentificationStreams( 
            /* [in] */ IRcUndoRedoGroup *spUndoRedo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveGeometryIdentificationStreams( 
            /* [in] */ IRcUndoRedoGroup *spUndoRedo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateGeometryIdentification( 
            /* [in] */ IRcUndoRedoGroup *spUndoRedo) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetModifiersPipelineFlags( 
            /* [in] */ IRsNode *pFirstNode,
            /* [in] */ enum RtMeshModifierFlags *pFlags) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHighlightMesh( 
            /* [in] */ IRdMatrixf *pMatrix,
            /* [in] */ IRdMeshSelection *pSelection,
            /* [in] */ IRdMesh *pMesh,
            /* [in] */ IRdMesh **ppMesh) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ReplaceFilterNode( 
            /* [in] */ GUID *gSourceNode,
            /* [in] */ IRsNode *pFilterNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConvertibleMeshes( 
            /* [in] */ IRsObjectList *pListIn,
            /* [retval][out] */ IRsObjectList **ppListOut) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumMeshNodes( 
            /* [in] */ VARIANT *pVt,
            /* [retval][out] */ IRsObjectList **ppMeshList) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetEditableSubobjects( 
            /* [in] */ IRsObjectList **ppEditableMeshes) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfMeshModifierSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfMeshModifierSet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfMeshModifierSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfMeshModifierSet * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRfMeshModifierSet * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRfMeshModifierSet * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Attach )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Detach )( 
            IRfMeshModifierSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEditableShapeNodeSafe )( 
            IRfMeshModifierSet * This,
            /* [retval][out] */ IRsNode **ppMeshModNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BackTraceFilterNode )( 
            IRfMeshModifierSet * This,
            /* [in] */ const IID *iid,
            /* [retval][out] */ IRsNode **ppFoundNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InsertFilterNode )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsNode *pFilterNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveFilterNode )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsNode *pFilterNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConvertToEditableMesh )( 
            IRfMeshModifierSet * This,
            /* [out] */ IRsNode **ppNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckMeshChainEditable )( 
            IRfMeshModifierSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckProceduralMesh )( 
            IRfMeshModifierSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetInputMeshSafe )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsNode **ppMeshModNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEditableShape )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsNode **ppMeshModNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CheckTopologyModifiers )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsNode *pModifierNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CollapseModifiersPipeline )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsNode *pModifierNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEditableMeshes )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsObjectList *pSelection,
            /* [in] */ IRsObjectList **ppEditableMeshes);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEditedSubObjects )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsObjectList **ppEditableMeshes);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ActivateEditMode )( 
            IRfMeshModifierSet * This,
            /* [in] */ RtBool bAddIdStreams,
            /* [in] */ IRcUndoRedoGroup *pUndoRedo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *DeactivateEditMode )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRcUndoRedoGroup *pUndoRedo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ShowHiddenGeometry )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRdMeshSelection **ppHiddenGeometry);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *HideGeometry )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRdMeshSelection *pHiddenGeometry);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetGeometryIdentificationStreams )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRcUndoRedoGroup *spUndoRedo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddGeometryIdentificationStreams )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRcUndoRedoGroup *spUndoRedo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveGeometryIdentificationStreams )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRcUndoRedoGroup *spUndoRedo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UpdateGeometryIdentification )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRcUndoRedoGroup *spUndoRedo);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetModifiersPipelineFlags )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsNode *pFirstNode,
            /* [in] */ enum RtMeshModifierFlags *pFlags);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHighlightMesh )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRdMatrixf *pMatrix,
            /* [in] */ IRdMeshSelection *pSelection,
            /* [in] */ IRdMesh *pMesh,
            /* [in] */ IRdMesh **ppMesh);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *ReplaceFilterNode )( 
            IRfMeshModifierSet * This,
            /* [in] */ GUID *gSourceNode,
            /* [in] */ IRsNode *pFilterNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetConvertibleMeshes )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsObjectList *pListIn,
            /* [retval][out] */ IRsObjectList **ppListOut);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumMeshNodes )( 
            IRfMeshModifierSet * This,
            /* [in] */ VARIANT *pVt,
            /* [retval][out] */ IRsObjectList **ppMeshList);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetEditableSubobjects )( 
            IRfMeshModifierSet * This,
            /* [in] */ IRsObjectList **ppEditableMeshes);
        
        END_INTERFACE
    } IRfMeshModifierSetVtbl;

    interface IRfMeshModifierSet
    {
        CONST_VTBL struct IRfMeshModifierSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfMeshModifierSet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfMeshModifierSet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfMeshModifierSet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfMeshModifierSet_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRfMeshModifierSet_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRfMeshModifierSet_Attach(This,pNode)	\
    (This)->lpVtbl -> Attach(This,pNode)

#define IRfMeshModifierSet_Detach(This)	\
    (This)->lpVtbl -> Detach(This)

#define IRfMeshModifierSet_GetEditableShapeNodeSafe(This,ppMeshModNode)	\
    (This)->lpVtbl -> GetEditableShapeNodeSafe(This,ppMeshModNode)

#define IRfMeshModifierSet_BackTraceFilterNode(This,iid,ppFoundNode)	\
    (This)->lpVtbl -> BackTraceFilterNode(This,iid,ppFoundNode)

#define IRfMeshModifierSet_InsertFilterNode(This,pFilterNode)	\
    (This)->lpVtbl -> InsertFilterNode(This,pFilterNode)

#define IRfMeshModifierSet_RemoveFilterNode(This,pFilterNode)	\
    (This)->lpVtbl -> RemoveFilterNode(This,pFilterNode)

#define IRfMeshModifierSet_ConvertToEditableMesh(This,ppNode)	\
    (This)->lpVtbl -> ConvertToEditableMesh(This,ppNode)

#define IRfMeshModifierSet_CheckMeshChainEditable(This)	\
    (This)->lpVtbl -> CheckMeshChainEditable(This)

#define IRfMeshModifierSet_CheckProceduralMesh(This)	\
    (This)->lpVtbl -> CheckProceduralMesh(This)

#define IRfMeshModifierSet_GetInputMeshSafe(This,ppMeshModNode)	\
    (This)->lpVtbl -> GetInputMeshSafe(This,ppMeshModNode)

#define IRfMeshModifierSet_GetEditableShape(This,ppMeshModNode)	\
    (This)->lpVtbl -> GetEditableShape(This,ppMeshModNode)

#define IRfMeshModifierSet_CheckTopologyModifiers(This,pModifierNode)	\
    (This)->lpVtbl -> CheckTopologyModifiers(This,pModifierNode)

#define IRfMeshModifierSet_CollapseModifiersPipeline(This,pModifierNode)	\
    (This)->lpVtbl -> CollapseModifiersPipeline(This,pModifierNode)

#define IRfMeshModifierSet_GetEditableMeshes(This,pSelection,ppEditableMeshes)	\
    (This)->lpVtbl -> GetEditableMeshes(This,pSelection,ppEditableMeshes)

#define IRfMeshModifierSet_GetEditedSubObjects(This,ppEditableMeshes)	\
    (This)->lpVtbl -> GetEditedSubObjects(This,ppEditableMeshes)

#define IRfMeshModifierSet_ActivateEditMode(This,bAddIdStreams,pUndoRedo)	\
    (This)->lpVtbl -> ActivateEditMode(This,bAddIdStreams,pUndoRedo)

#define IRfMeshModifierSet_DeactivateEditMode(This,pUndoRedo)	\
    (This)->lpVtbl -> DeactivateEditMode(This,pUndoRedo)

#define IRfMeshModifierSet_ShowHiddenGeometry(This,ppHiddenGeometry)	\
    (This)->lpVtbl -> ShowHiddenGeometry(This,ppHiddenGeometry)

#define IRfMeshModifierSet_HideGeometry(This,pHiddenGeometry)	\
    (This)->lpVtbl -> HideGeometry(This,pHiddenGeometry)

#define IRfMeshModifierSet_SetGeometryIdentificationStreams(This,spUndoRedo)	\
    (This)->lpVtbl -> SetGeometryIdentificationStreams(This,spUndoRedo)

#define IRfMeshModifierSet_AddGeometryIdentificationStreams(This,spUndoRedo)	\
    (This)->lpVtbl -> AddGeometryIdentificationStreams(This,spUndoRedo)

#define IRfMeshModifierSet_RemoveGeometryIdentificationStreams(This,spUndoRedo)	\
    (This)->lpVtbl -> RemoveGeometryIdentificationStreams(This,spUndoRedo)

#define IRfMeshModifierSet_UpdateGeometryIdentification(This,spUndoRedo)	\
    (This)->lpVtbl -> UpdateGeometryIdentification(This,spUndoRedo)

#define IRfMeshModifierSet_GetModifiersPipelineFlags(This,pFirstNode,pFlags)	\
    (This)->lpVtbl -> GetModifiersPipelineFlags(This,pFirstNode,pFlags)

#define IRfMeshModifierSet_GetHighlightMesh(This,pMatrix,pSelection,pMesh,ppMesh)	\
    (This)->lpVtbl -> GetHighlightMesh(This,pMatrix,pSelection,pMesh,ppMesh)

#define IRfMeshModifierSet_ReplaceFilterNode(This,gSourceNode,pFilterNode)	\
    (This)->lpVtbl -> ReplaceFilterNode(This,gSourceNode,pFilterNode)

#define IRfMeshModifierSet_GetConvertibleMeshes(This,pListIn,ppListOut)	\
    (This)->lpVtbl -> GetConvertibleMeshes(This,pListIn,ppListOut)

#define IRfMeshModifierSet_EnumMeshNodes(This,pVt,ppMeshList)	\
    (This)->lpVtbl -> EnumMeshNodes(This,pVt,ppMeshList)

#define IRfMeshModifierSet_GetEditableSubobjects(This,ppEditableMeshes)	\
    (This)->lpVtbl -> GetEditableSubobjects(This,ppEditableMeshes)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_Attach_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRfMeshModifierSet_Attach_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_Detach_Proxy( 
    IRfMeshModifierSet * This);


void __RPC_STUB IRfMeshModifierSet_Detach_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_GetEditableShapeNodeSafe_Proxy( 
    IRfMeshModifierSet * This,
    /* [retval][out] */ IRsNode **ppMeshModNode);


void __RPC_STUB IRfMeshModifierSet_GetEditableShapeNodeSafe_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_BackTraceFilterNode_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ const IID *iid,
    /* [retval][out] */ IRsNode **ppFoundNode);


void __RPC_STUB IRfMeshModifierSet_BackTraceFilterNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_InsertFilterNode_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsNode *pFilterNode);


void __RPC_STUB IRfMeshModifierSet_InsertFilterNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_RemoveFilterNode_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsNode *pFilterNode);


void __RPC_STUB IRfMeshModifierSet_RemoveFilterNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_ConvertToEditableMesh_Proxy( 
    IRfMeshModifierSet * This,
    /* [out] */ IRsNode **ppNode);


void __RPC_STUB IRfMeshModifierSet_ConvertToEditableMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_CheckMeshChainEditable_Proxy( 
    IRfMeshModifierSet * This);


void __RPC_STUB IRfMeshModifierSet_CheckMeshChainEditable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_CheckProceduralMesh_Proxy( 
    IRfMeshModifierSet * This);


void __RPC_STUB IRfMeshModifierSet_CheckProceduralMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_GetInputMeshSafe_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsNode **ppMeshModNode);


void __RPC_STUB IRfMeshModifierSet_GetInputMeshSafe_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_GetEditableShape_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsNode **ppMeshModNode);


void __RPC_STUB IRfMeshModifierSet_GetEditableShape_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_CheckTopologyModifiers_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsNode *pModifierNode);


void __RPC_STUB IRfMeshModifierSet_CheckTopologyModifiers_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_CollapseModifiersPipeline_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsNode *pModifierNode);


void __RPC_STUB IRfMeshModifierSet_CollapseModifiersPipeline_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_GetEditableMeshes_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsObjectList *pSelection,
    /* [in] */ IRsObjectList **ppEditableMeshes);


void __RPC_STUB IRfMeshModifierSet_GetEditableMeshes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_GetEditedSubObjects_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsObjectList **ppEditableMeshes);


void __RPC_STUB IRfMeshModifierSet_GetEditedSubObjects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_ActivateEditMode_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ RtBool bAddIdStreams,
    /* [in] */ IRcUndoRedoGroup *pUndoRedo);


void __RPC_STUB IRfMeshModifierSet_ActivateEditMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_DeactivateEditMode_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRcUndoRedoGroup *pUndoRedo);


void __RPC_STUB IRfMeshModifierSet_DeactivateEditMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_ShowHiddenGeometry_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRdMeshSelection **ppHiddenGeometry);


void __RPC_STUB IRfMeshModifierSet_ShowHiddenGeometry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_HideGeometry_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRdMeshSelection *pHiddenGeometry);


void __RPC_STUB IRfMeshModifierSet_HideGeometry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_SetGeometryIdentificationStreams_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRcUndoRedoGroup *spUndoRedo);


void __RPC_STUB IRfMeshModifierSet_SetGeometryIdentificationStreams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_AddGeometryIdentificationStreams_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRcUndoRedoGroup *spUndoRedo);


void __RPC_STUB IRfMeshModifierSet_AddGeometryIdentificationStreams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_RemoveGeometryIdentificationStreams_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRcUndoRedoGroup *spUndoRedo);


void __RPC_STUB IRfMeshModifierSet_RemoveGeometryIdentificationStreams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_UpdateGeometryIdentification_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRcUndoRedoGroup *spUndoRedo);


void __RPC_STUB IRfMeshModifierSet_UpdateGeometryIdentification_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_GetModifiersPipelineFlags_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsNode *pFirstNode,
    /* [in] */ enum RtMeshModifierFlags *pFlags);


void __RPC_STUB IRfMeshModifierSet_GetModifiersPipelineFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_GetHighlightMesh_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRdMatrixf *pMatrix,
    /* [in] */ IRdMeshSelection *pSelection,
    /* [in] */ IRdMesh *pMesh,
    /* [in] */ IRdMesh **ppMesh);


void __RPC_STUB IRfMeshModifierSet_GetHighlightMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_ReplaceFilterNode_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ GUID *gSourceNode,
    /* [in] */ IRsNode *pFilterNode);


void __RPC_STUB IRfMeshModifierSet_ReplaceFilterNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_GetConvertibleMeshes_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsObjectList *pListIn,
    /* [retval][out] */ IRsObjectList **ppListOut);


void __RPC_STUB IRfMeshModifierSet_GetConvertibleMeshes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_EnumMeshNodes_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ VARIANT *pVt,
    /* [retval][out] */ IRsObjectList **ppMeshList);


void __RPC_STUB IRfMeshModifierSet_EnumMeshNodes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfMeshModifierSet_GetEditableSubobjects_Proxy( 
    IRfMeshModifierSet * This,
    /* [in] */ IRsObjectList **ppEditableMeshes);


void __RPC_STUB IRfMeshModifierSet_GetEditableSubobjects_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfMeshModifierSet_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__MeshModifiers_2398 */
/* [local] */ 

struct RtTriangulatorSetEdge
    {
    RtUlong v1;
    RtUlong v2;
    RtUlong e;
    RtVector2f p1;
    RtVector2f p2;
    RtUlong i1;
    RtUlong i2;
    } ;
struct RtTriangulatorSetTriangle
    {
    RtUlong v[ 3 ];
    RtUlong i[ 3 ];
    RtUlong edges[ 3 ];
    RtVector2f p[ 3 ];
    } ;


extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2398_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2398_v0_0_s_ifspec;

#ifndef __IRfTriangulatorSet_INTERFACE_DEFINED__
#define __IRfTriangulatorSet_INTERFACE_DEFINED__

/* interface IRfTriangulatorSet */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfTriangulatorSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D5CF3CB0-079C-4b81-88FC-309F6A1C3FDC")
    IRfTriangulatorSet : public IRsObject
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddEdge( 
            /* [in] */ struct RtTriangulatorSetEdge *pEdge) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Triangulate( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetNumTriangles( 
            /* [in] */ RtDWORD *pdwNumTriangles) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetTriangle( 
            /* [in] */ RtDWORD dwIndex,
            /* [retval][out] */ struct RtTriangulatorSetTriangle *pTriangle) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfTriangulatorSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfTriangulatorSet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfTriangulatorSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfTriangulatorSet * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRfTriangulatorSet * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRfTriangulatorSet * This,
            /* [retval][out] */ BSTR *pVal);
        
        HRESULT ( STDMETHODCALLTYPE *AddEdge )( 
            IRfTriangulatorSet * This,
            /* [in] */ struct RtTriangulatorSetEdge *pEdge);
        
        HRESULT ( STDMETHODCALLTYPE *Triangulate )( 
            IRfTriangulatorSet * This);
        
        HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IRfTriangulatorSet * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumTriangles )( 
            IRfTriangulatorSet * This,
            /* [in] */ RtDWORD *pdwNumTriangles);
        
        HRESULT ( STDMETHODCALLTYPE *GetTriangle )( 
            IRfTriangulatorSet * This,
            /* [in] */ RtDWORD dwIndex,
            /* [retval][out] */ struct RtTriangulatorSetTriangle *pTriangle);
        
        END_INTERFACE
    } IRfTriangulatorSetVtbl;

    interface IRfTriangulatorSet
    {
        CONST_VTBL struct IRfTriangulatorSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfTriangulatorSet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfTriangulatorSet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfTriangulatorSet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfTriangulatorSet_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRfTriangulatorSet_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRfTriangulatorSet_AddEdge(This,pEdge)	\
    (This)->lpVtbl -> AddEdge(This,pEdge)

#define IRfTriangulatorSet_Triangulate(This)	\
    (This)->lpVtbl -> Triangulate(This)

#define IRfTriangulatorSet_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IRfTriangulatorSet_GetNumTriangles(This,pdwNumTriangles)	\
    (This)->lpVtbl -> GetNumTriangles(This,pdwNumTriangles)

#define IRfTriangulatorSet_GetTriangle(This,dwIndex,pTriangle)	\
    (This)->lpVtbl -> GetTriangle(This,dwIndex,pTriangle)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRfTriangulatorSet_AddEdge_Proxy( 
    IRfTriangulatorSet * This,
    /* [in] */ struct RtTriangulatorSetEdge *pEdge);


void __RPC_STUB IRfTriangulatorSet_AddEdge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRfTriangulatorSet_Triangulate_Proxy( 
    IRfTriangulatorSet * This);


void __RPC_STUB IRfTriangulatorSet_Triangulate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRfTriangulatorSet_Clear_Proxy( 
    IRfTriangulatorSet * This);


void __RPC_STUB IRfTriangulatorSet_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRfTriangulatorSet_GetNumTriangles_Proxy( 
    IRfTriangulatorSet * This,
    /* [in] */ RtDWORD *pdwNumTriangles);


void __RPC_STUB IRfTriangulatorSet_GetNumTriangles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRfTriangulatorSet_GetTriangle_Proxy( 
    IRfTriangulatorSet * This,
    /* [in] */ RtDWORD dwIndex,
    /* [retval][out] */ struct RtTriangulatorSetTriangle *pTriangle);


void __RPC_STUB IRfTriangulatorSet_GetTriangle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfTriangulatorSet_INTERFACE_DEFINED__ */


#ifndef __IRfBooleansSet_INTERFACE_DEFINED__
#define __IRfBooleansSet_INTERFACE_DEFINED__

/* interface IRfBooleansSet */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRfBooleansSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F1AE7556-92CD-49af-ADD5-239D275AC6D5")
    IRfBooleansSet : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddMesh( 
            /* [in] */ IRdMesh *spMesh,
            /* [in] */ RtMatrixf *spMatrix,
            /* [in] */ RtUlong dwIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPolygonId( 
            /* [in] */ RtUlong dwTri,
            /* [in] */ RtUlong dwNewId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateDefaultTopologyGrouping( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNumPolygons( 
            /* [in] */ RtUlong *pdwNumPolygons) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetTrianglePolygon( 
            /* [in] */ RtUlong dwTriangle,
            /* [in] */ RtUlong *pdwPolygon) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvertGeometry( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Intersect( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateComponents( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePolygons( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CleanupRemovedGeometry( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNumComponents( 
            /* [in] */ RtUlong *pdwNumComponents) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetComponentTriangleCount( 
            /* [in] */ RtUlong dwComponentId,
            /* [in] */ RtUlong *pdwNumTriangles) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RemoveComponent( 
            /* [in] */ RtUlong dwComponentIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMesh( 
            /* [in] */ IRdMesh **ppMesh) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateGeometryGroup( 
            /* [in] */ RtUlong *pGroupId) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddMeshWithMaterialInfo( 
            /* [in] */ IRdMesh *pMesh,
            /* [in] */ RtMatrixf *matrix,
            /* [in] */ RtUlong ulIndex,
            /* [in] */ struct RtMaterialIndexTranslation *pLookupTable,
            /* [in] */ RtUlong dwLookupCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CenterAndScaleGeometry( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CenterAndScaleGeometryBack( void) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetQuadMode( 
            /* [in] */ RtBool bQuadMode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetPrecision( 
            /* [in] */ RtFloat fPrecision) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetKeepMaterials( 
            /* [in] */ RtBool bKeepMaterials) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BooleanMeshes( 
            /* [in] */ BSTR bszOperation) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRfBooleansSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRfBooleansSet * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRfBooleansSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRfBooleansSet * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRfBooleansSet * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRfBooleansSet * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddMesh )( 
            IRfBooleansSet * This,
            /* [in] */ IRdMesh *spMesh,
            /* [in] */ RtMatrixf *spMatrix,
            /* [in] */ RtUlong dwIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPolygonId )( 
            IRfBooleansSet * This,
            /* [in] */ RtUlong dwTri,
            /* [in] */ RtUlong dwNewId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateDefaultTopologyGrouping )( 
            IRfBooleansSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNumPolygons )( 
            IRfBooleansSet * This,
            /* [in] */ RtUlong *pdwNumPolygons);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetTrianglePolygon )( 
            IRfBooleansSet * This,
            /* [in] */ RtUlong dwTriangle,
            /* [in] */ RtUlong *pdwPolygon);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *InvertGeometry )( 
            IRfBooleansSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Intersect )( 
            IRfBooleansSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateComponents )( 
            IRfBooleansSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreatePolygons )( 
            IRfBooleansSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CleanupRemovedGeometry )( 
            IRfBooleansSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNumComponents )( 
            IRfBooleansSet * This,
            /* [in] */ RtUlong *pdwNumComponents);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetComponentTriangleCount )( 
            IRfBooleansSet * This,
            /* [in] */ RtUlong dwComponentId,
            /* [in] */ RtUlong *pdwNumTriangles);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RemoveComponent )( 
            IRfBooleansSet * This,
            /* [in] */ RtUlong dwComponentIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMesh )( 
            IRfBooleansSet * This,
            /* [in] */ IRdMesh **ppMesh);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateGeometryGroup )( 
            IRfBooleansSet * This,
            /* [in] */ RtUlong *pGroupId);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddMeshWithMaterialInfo )( 
            IRfBooleansSet * This,
            /* [in] */ IRdMesh *pMesh,
            /* [in] */ RtMatrixf *matrix,
            /* [in] */ RtUlong ulIndex,
            /* [in] */ struct RtMaterialIndexTranslation *pLookupTable,
            /* [in] */ RtUlong dwLookupCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CenterAndScaleGeometry )( 
            IRfBooleansSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CenterAndScaleGeometryBack )( 
            IRfBooleansSet * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetQuadMode )( 
            IRfBooleansSet * This,
            /* [in] */ RtBool bQuadMode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetPrecision )( 
            IRfBooleansSet * This,
            /* [in] */ RtFloat fPrecision);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetKeepMaterials )( 
            IRfBooleansSet * This,
            /* [in] */ RtBool bKeepMaterials);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *BooleanMeshes )( 
            IRfBooleansSet * This,
            /* [in] */ BSTR bszOperation);
        
        END_INTERFACE
    } IRfBooleansSetVtbl;

    interface IRfBooleansSet
    {
        CONST_VTBL struct IRfBooleansSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRfBooleansSet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRfBooleansSet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRfBooleansSet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRfBooleansSet_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRfBooleansSet_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRfBooleansSet_AddMesh(This,spMesh,spMatrix,dwIndex)	\
    (This)->lpVtbl -> AddMesh(This,spMesh,spMatrix,dwIndex)

#define IRfBooleansSet_SetPolygonId(This,dwTri,dwNewId)	\
    (This)->lpVtbl -> SetPolygonId(This,dwTri,dwNewId)

#define IRfBooleansSet_CreateDefaultTopologyGrouping(This)	\
    (This)->lpVtbl -> CreateDefaultTopologyGrouping(This)

#define IRfBooleansSet_GetNumPolygons(This,pdwNumPolygons)	\
    (This)->lpVtbl -> GetNumPolygons(This,pdwNumPolygons)

#define IRfBooleansSet_GetTrianglePolygon(This,dwTriangle,pdwPolygon)	\
    (This)->lpVtbl -> GetTrianglePolygon(This,dwTriangle,pdwPolygon)

#define IRfBooleansSet_InvertGeometry(This)	\
    (This)->lpVtbl -> InvertGeometry(This)

#define IRfBooleansSet_Intersect(This)	\
    (This)->lpVtbl -> Intersect(This)

#define IRfBooleansSet_CreateComponents(This)	\
    (This)->lpVtbl -> CreateComponents(This)

#define IRfBooleansSet_CreatePolygons(This)	\
    (This)->lpVtbl -> CreatePolygons(This)

#define IRfBooleansSet_CleanupRemovedGeometry(This)	\
    (This)->lpVtbl -> CleanupRemovedGeometry(This)

#define IRfBooleansSet_GetNumComponents(This,pdwNumComponents)	\
    (This)->lpVtbl -> GetNumComponents(This,pdwNumComponents)

#define IRfBooleansSet_GetComponentTriangleCount(This,dwComponentId,pdwNumTriangles)	\
    (This)->lpVtbl -> GetComponentTriangleCount(This,dwComponentId,pdwNumTriangles)

#define IRfBooleansSet_RemoveComponent(This,dwComponentIndex)	\
    (This)->lpVtbl -> RemoveComponent(This,dwComponentIndex)

#define IRfBooleansSet_GetMesh(This,ppMesh)	\
    (This)->lpVtbl -> GetMesh(This,ppMesh)

#define IRfBooleansSet_CreateGeometryGroup(This,pGroupId)	\
    (This)->lpVtbl -> CreateGeometryGroup(This,pGroupId)

#define IRfBooleansSet_AddMeshWithMaterialInfo(This,pMesh,matrix,ulIndex,pLookupTable,dwLookupCount)	\
    (This)->lpVtbl -> AddMeshWithMaterialInfo(This,pMesh,matrix,ulIndex,pLookupTable,dwLookupCount)

#define IRfBooleansSet_CenterAndScaleGeometry(This)	\
    (This)->lpVtbl -> CenterAndScaleGeometry(This)

#define IRfBooleansSet_CenterAndScaleGeometryBack(This)	\
    (This)->lpVtbl -> CenterAndScaleGeometryBack(This)

#define IRfBooleansSet_SetQuadMode(This,bQuadMode)	\
    (This)->lpVtbl -> SetQuadMode(This,bQuadMode)

#define IRfBooleansSet_SetPrecision(This,fPrecision)	\
    (This)->lpVtbl -> SetPrecision(This,fPrecision)

#define IRfBooleansSet_SetKeepMaterials(This,bKeepMaterials)	\
    (This)->lpVtbl -> SetKeepMaterials(This,bKeepMaterials)

#define IRfBooleansSet_BooleanMeshes(This,bszOperation)	\
    (This)->lpVtbl -> BooleanMeshes(This,bszOperation)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_AddMesh_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ IRdMesh *spMesh,
    /* [in] */ RtMatrixf *spMatrix,
    /* [in] */ RtUlong dwIndex);


void __RPC_STUB IRfBooleansSet_AddMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_SetPolygonId_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ RtUlong dwTri,
    /* [in] */ RtUlong dwNewId);


void __RPC_STUB IRfBooleansSet_SetPolygonId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_CreateDefaultTopologyGrouping_Proxy( 
    IRfBooleansSet * This);


void __RPC_STUB IRfBooleansSet_CreateDefaultTopologyGrouping_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_GetNumPolygons_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ RtUlong *pdwNumPolygons);


void __RPC_STUB IRfBooleansSet_GetNumPolygons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_GetTrianglePolygon_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ RtUlong dwTriangle,
    /* [in] */ RtUlong *pdwPolygon);


void __RPC_STUB IRfBooleansSet_GetTrianglePolygon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_InvertGeometry_Proxy( 
    IRfBooleansSet * This);


void __RPC_STUB IRfBooleansSet_InvertGeometry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_Intersect_Proxy( 
    IRfBooleansSet * This);


void __RPC_STUB IRfBooleansSet_Intersect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_CreateComponents_Proxy( 
    IRfBooleansSet * This);


void __RPC_STUB IRfBooleansSet_CreateComponents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_CreatePolygons_Proxy( 
    IRfBooleansSet * This);


void __RPC_STUB IRfBooleansSet_CreatePolygons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_CleanupRemovedGeometry_Proxy( 
    IRfBooleansSet * This);


void __RPC_STUB IRfBooleansSet_CleanupRemovedGeometry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_GetNumComponents_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ RtUlong *pdwNumComponents);


void __RPC_STUB IRfBooleansSet_GetNumComponents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_GetComponentTriangleCount_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ RtUlong dwComponentId,
    /* [in] */ RtUlong *pdwNumTriangles);


void __RPC_STUB IRfBooleansSet_GetComponentTriangleCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_RemoveComponent_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ RtUlong dwComponentIndex);


void __RPC_STUB IRfBooleansSet_RemoveComponent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_GetMesh_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ IRdMesh **ppMesh);


void __RPC_STUB IRfBooleansSet_GetMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_CreateGeometryGroup_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ RtUlong *pGroupId);


void __RPC_STUB IRfBooleansSet_CreateGeometryGroup_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_AddMeshWithMaterialInfo_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ IRdMesh *pMesh,
    /* [in] */ RtMatrixf *matrix,
    /* [in] */ RtUlong ulIndex,
    /* [in] */ struct RtMaterialIndexTranslation *pLookupTable,
    /* [in] */ RtUlong dwLookupCount);


void __RPC_STUB IRfBooleansSet_AddMeshWithMaterialInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_CenterAndScaleGeometry_Proxy( 
    IRfBooleansSet * This);


void __RPC_STUB IRfBooleansSet_CenterAndScaleGeometry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_CenterAndScaleGeometryBack_Proxy( 
    IRfBooleansSet * This);


void __RPC_STUB IRfBooleansSet_CenterAndScaleGeometryBack_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_SetQuadMode_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ RtBool bQuadMode);


void __RPC_STUB IRfBooleansSet_SetQuadMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_SetPrecision_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ RtFloat fPrecision);


void __RPC_STUB IRfBooleansSet_SetPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_SetKeepMaterials_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ RtBool bKeepMaterials);


void __RPC_STUB IRfBooleansSet_SetKeepMaterials_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRfBooleansSet_BooleanMeshes_Proxy( 
    IRfBooleansSet * This,
    /* [in] */ BSTR bszOperation);


void __RPC_STUB IRfBooleansSet_BooleanMeshes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRfBooleansSet_INTERFACE_DEFINED__ */


#ifndef __IRsUnknownBrushProvider_INTERFACE_DEFINED__
#define __IRsUnknownBrushProvider_INTERFACE_DEFINED__

/* interface IRsUnknownBrushProvider */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsUnknownBrushProvider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D641F3F8-CDA0-48fd-9348-834E4EBCC22D")
    IRsUnknownBrushProvider : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetValue( 
            /* [in] */ RtFloat u,
            /* [in] */ RtFloat v,
            /* [retval][out] */ RtFloat *pValue) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GeneratePreview( 
            /* [retval][out] */ IRdBitmap **ppPreview) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GenerateShapeTexture( 
            /* [retval][out] */ IRdBitmap **ppShapeTexture) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsUnknownBrushProviderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsUnknownBrushProvider * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsUnknownBrushProvider * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsUnknownBrushProvider * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetValue )( 
            IRsUnknownBrushProvider * This,
            /* [in] */ RtFloat u,
            /* [in] */ RtFloat v,
            /* [retval][out] */ RtFloat *pValue);
        
        HRESULT ( STDMETHODCALLTYPE *GeneratePreview )( 
            IRsUnknownBrushProvider * This,
            /* [retval][out] */ IRdBitmap **ppPreview);
        
        HRESULT ( STDMETHODCALLTYPE *GenerateShapeTexture )( 
            IRsUnknownBrushProvider * This,
            /* [retval][out] */ IRdBitmap **ppShapeTexture);
        
        END_INTERFACE
    } IRsUnknownBrushProviderVtbl;

    interface IRsUnknownBrushProvider
    {
        CONST_VTBL struct IRsUnknownBrushProviderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsUnknownBrushProvider_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsUnknownBrushProvider_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsUnknownBrushProvider_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsUnknownBrushProvider_GetValue(This,u,v,pValue)	\
    (This)->lpVtbl -> GetValue(This,u,v,pValue)

#define IRsUnknownBrushProvider_GeneratePreview(This,ppPreview)	\
    (This)->lpVtbl -> GeneratePreview(This,ppPreview)

#define IRsUnknownBrushProvider_GenerateShapeTexture(This,ppShapeTexture)	\
    (This)->lpVtbl -> GenerateShapeTexture(This,ppShapeTexture)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsUnknownBrushProvider_GetValue_Proxy( 
    IRsUnknownBrushProvider * This,
    /* [in] */ RtFloat u,
    /* [in] */ RtFloat v,
    /* [retval][out] */ RtFloat *pValue);


void __RPC_STUB IRsUnknownBrushProvider_GetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsUnknownBrushProvider_GeneratePreview_Proxy( 
    IRsUnknownBrushProvider * This,
    /* [retval][out] */ IRdBitmap **ppPreview);


void __RPC_STUB IRsUnknownBrushProvider_GeneratePreview_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsUnknownBrushProvider_GenerateShapeTexture_Proxy( 
    IRsUnknownBrushProvider * This,
    /* [retval][out] */ IRdBitmap **ppShapeTexture);


void __RPC_STUB IRsUnknownBrushProvider_GenerateShapeTexture_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsUnknownBrushProvider_INTERFACE_DEFINED__ */


#ifndef __IRsMeshEditorUiPanelsHandler_INTERFACE_DEFINED__
#define __IRsMeshEditorUiPanelsHandler_INTERFACE_DEFINED__

/* interface IRsMeshEditorUiPanelsHandler */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsMeshEditorUiPanelsHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0F5B539A-C9C5-49b1-962B-0BE229781E8E")
    IRsMeshEditorUiPanelsHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OpenMeshEditorPanel( 
            /* [in] */ BSTR szPanel,
            /* [in] */ RtUlong dwGroupId,
            /* [in] */ RtUlong dwAspect,
            /* [in] */ RtUlong dwAllowAspects) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CloseAllPanels( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsMeshEditorUiPanelsHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsMeshEditorUiPanelsHandler * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsMeshEditorUiPanelsHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsMeshEditorUiPanelsHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *OpenMeshEditorPanel )( 
            IRsMeshEditorUiPanelsHandler * This,
            /* [in] */ BSTR szPanel,
            /* [in] */ RtUlong dwGroupId,
            /* [in] */ RtUlong dwAspect,
            /* [in] */ RtUlong dwAllowAspects);
        
        HRESULT ( STDMETHODCALLTYPE *CloseAllPanels )( 
            IRsMeshEditorUiPanelsHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *Refresh )( 
            IRsMeshEditorUiPanelsHandler * This);
        
        END_INTERFACE
    } IRsMeshEditorUiPanelsHandlerVtbl;

    interface IRsMeshEditorUiPanelsHandler
    {
        CONST_VTBL struct IRsMeshEditorUiPanelsHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsMeshEditorUiPanelsHandler_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsMeshEditorUiPanelsHandler_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsMeshEditorUiPanelsHandler_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsMeshEditorUiPanelsHandler_OpenMeshEditorPanel(This,szPanel,dwGroupId,dwAspect,dwAllowAspects)	\
    (This)->lpVtbl -> OpenMeshEditorPanel(This,szPanel,dwGroupId,dwAspect,dwAllowAspects)

#define IRsMeshEditorUiPanelsHandler_CloseAllPanels(This)	\
    (This)->lpVtbl -> CloseAllPanels(This)

#define IRsMeshEditorUiPanelsHandler_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsMeshEditorUiPanelsHandler_OpenMeshEditorPanel_Proxy( 
    IRsMeshEditorUiPanelsHandler * This,
    /* [in] */ BSTR szPanel,
    /* [in] */ RtUlong dwGroupId,
    /* [in] */ RtUlong dwAspect,
    /* [in] */ RtUlong dwAllowAspects);


void __RPC_STUB IRsMeshEditorUiPanelsHandler_OpenMeshEditorPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsMeshEditorUiPanelsHandler_CloseAllPanels_Proxy( 
    IRsMeshEditorUiPanelsHandler * This);


void __RPC_STUB IRsMeshEditorUiPanelsHandler_CloseAllPanels_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsMeshEditorUiPanelsHandler_Refresh_Proxy( 
    IRsMeshEditorUiPanelsHandler * This);


void __RPC_STUB IRsMeshEditorUiPanelsHandler_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsMeshEditorUiPanelsHandler_INTERFACE_DEFINED__ */


#ifndef __IRpMeshModifiers_INTERFACE_DEFINED__
#define __IRpMeshModifiers_INTERFACE_DEFINED__

/* interface IRpMeshModifiers */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRpMeshModifiers;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CC4E1F3D-2714-4B97-82CA-A72342882711")
    IRpMeshModifiers : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RegisterSysMessageReceiver( 
            /* [in] */ MSGID msg,
            /* [in] */ IRsSysMessageReceiver *pRecv) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UnregisterSysMessageReceiver( 
            /* [in] */ MSGID msg,
            /* [in] */ IRsSysMessageReceiver *pRecv) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPointEditUiAgent( 
            /* [in] */ IRsPointEditUiAgent **ppUiAgent) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateMeshModifierSet( 
            /* [in] */ IRfMeshModifierSet **ppSet) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateTriangulatorFnSet( 
            /* [in] */ IRfTriangulatorSet **ppSet) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBrush( 
            /* [in] */ GUID id,
            /* [in] */ IRsUnknownBrushProvider **ppBrush) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateBooleansFnSet( 
            /* [in] */ IRfBooleansSet **ppSet) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMeshEditorUiPanelsHandler( 
            /* [in] */ IRsMeshEditorUiPanelsHandler **ppPanelsHandler) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRpMeshModifiersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRpMeshModifiers * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRpMeshModifiers * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRpMeshModifiers * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *RegisterSysMessageReceiver )( 
            IRpMeshModifiers * This,
            /* [in] */ MSGID msg,
            /* [in] */ IRsSysMessageReceiver *pRecv);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *UnregisterSysMessageReceiver )( 
            IRpMeshModifiers * This,
            /* [in] */ MSGID msg,
            /* [in] */ IRsSysMessageReceiver *pRecv);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetPointEditUiAgent )( 
            IRpMeshModifiers * This,
            /* [in] */ IRsPointEditUiAgent **ppUiAgent);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateMeshModifierSet )( 
            IRpMeshModifiers * This,
            /* [in] */ IRfMeshModifierSet **ppSet);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateTriangulatorFnSet )( 
            IRpMeshModifiers * This,
            /* [in] */ IRfTriangulatorSet **ppSet);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBrush )( 
            IRpMeshModifiers * This,
            /* [in] */ GUID id,
            /* [in] */ IRsUnknownBrushProvider **ppBrush);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateBooleansFnSet )( 
            IRpMeshModifiers * This,
            /* [in] */ IRfBooleansSet **ppSet);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMeshEditorUiPanelsHandler )( 
            IRpMeshModifiers * This,
            /* [in] */ IRsMeshEditorUiPanelsHandler **ppPanelsHandler);
        
        END_INTERFACE
    } IRpMeshModifiersVtbl;

    interface IRpMeshModifiers
    {
        CONST_VTBL struct IRpMeshModifiersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRpMeshModifiers_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRpMeshModifiers_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRpMeshModifiers_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRpMeshModifiers_RegisterSysMessageReceiver(This,msg,pRecv)	\
    (This)->lpVtbl -> RegisterSysMessageReceiver(This,msg,pRecv)

#define IRpMeshModifiers_UnregisterSysMessageReceiver(This,msg,pRecv)	\
    (This)->lpVtbl -> UnregisterSysMessageReceiver(This,msg,pRecv)

#define IRpMeshModifiers_GetPointEditUiAgent(This,ppUiAgent)	\
    (This)->lpVtbl -> GetPointEditUiAgent(This,ppUiAgent)

#define IRpMeshModifiers_CreateMeshModifierSet(This,ppSet)	\
    (This)->lpVtbl -> CreateMeshModifierSet(This,ppSet)

#define IRpMeshModifiers_CreateTriangulatorFnSet(This,ppSet)	\
    (This)->lpVtbl -> CreateTriangulatorFnSet(This,ppSet)

#define IRpMeshModifiers_CreateBrush(This,id,ppBrush)	\
    (This)->lpVtbl -> CreateBrush(This,id,ppBrush)

#define IRpMeshModifiers_CreateBooleansFnSet(This,ppSet)	\
    (This)->lpVtbl -> CreateBooleansFnSet(This,ppSet)

#define IRpMeshModifiers_GetMeshEditorUiPanelsHandler(This,ppPanelsHandler)	\
    (This)->lpVtbl -> GetMeshEditorUiPanelsHandler(This,ppPanelsHandler)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpMeshModifiers_RegisterSysMessageReceiver_Proxy( 
    IRpMeshModifiers * This,
    /* [in] */ MSGID msg,
    /* [in] */ IRsSysMessageReceiver *pRecv);


void __RPC_STUB IRpMeshModifiers_RegisterSysMessageReceiver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpMeshModifiers_UnregisterSysMessageReceiver_Proxy( 
    IRpMeshModifiers * This,
    /* [in] */ MSGID msg,
    /* [in] */ IRsSysMessageReceiver *pRecv);


void __RPC_STUB IRpMeshModifiers_UnregisterSysMessageReceiver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpMeshModifiers_GetPointEditUiAgent_Proxy( 
    IRpMeshModifiers * This,
    /* [in] */ IRsPointEditUiAgent **ppUiAgent);


void __RPC_STUB IRpMeshModifiers_GetPointEditUiAgent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpMeshModifiers_CreateMeshModifierSet_Proxy( 
    IRpMeshModifiers * This,
    /* [in] */ IRfMeshModifierSet **ppSet);


void __RPC_STUB IRpMeshModifiers_CreateMeshModifierSet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpMeshModifiers_CreateTriangulatorFnSet_Proxy( 
    IRpMeshModifiers * This,
    /* [in] */ IRfTriangulatorSet **ppSet);


void __RPC_STUB IRpMeshModifiers_CreateTriangulatorFnSet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpMeshModifiers_CreateBrush_Proxy( 
    IRpMeshModifiers * This,
    /* [in] */ GUID id,
    /* [in] */ IRsUnknownBrushProvider **ppBrush);


void __RPC_STUB IRpMeshModifiers_CreateBrush_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpMeshModifiers_CreateBooleansFnSet_Proxy( 
    IRpMeshModifiers * This,
    /* [in] */ IRfBooleansSet **ppSet);


void __RPC_STUB IRpMeshModifiers_CreateBooleansFnSet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRpMeshModifiers_GetMeshEditorUiPanelsHandler_Proxy( 
    IRpMeshModifiers * This,
    /* [in] */ IRsMeshEditorUiPanelsHandler **ppPanelsHandler);


void __RPC_STUB IRpMeshModifiers_GetMeshEditorUiPanelsHandler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRpMeshModifiers_INTERFACE_DEFINED__ */


#ifndef __IRcWeldEdges_INTERFACE_DEFINED__
#define __IRcWeldEdges_INTERFACE_DEFINED__

/* interface IRcWeldEdges */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcWeldEdges;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EF56671A-6FB6-4b29-AE1A-45414516E52C")
    IRcWeldEdges : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcWeldEdgesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcWeldEdges * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcWeldEdges * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcWeldEdges * This);
        
        END_INTERFACE
    } IRcWeldEdgesVtbl;

    interface IRcWeldEdges
    {
        CONST_VTBL struct IRcWeldEdgesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcWeldEdges_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcWeldEdges_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcWeldEdges_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcWeldEdges_INTERFACE_DEFINED__ */


#ifndef __IRcWeldTool_INTERFACE_DEFINED__
#define __IRcWeldTool_INTERFACE_DEFINED__

/* interface IRcWeldTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcWeldTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("87B113FD-B879-4b63-9C9A-28A38AED253B")
    IRcWeldTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcWeldToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcWeldTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcWeldTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcWeldTool * This);
        
        END_INTERFACE
    } IRcWeldToolVtbl;

    interface IRcWeldTool
    {
        CONST_VTBL struct IRcWeldToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcWeldTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcWeldTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcWeldTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcWeldTool_INTERFACE_DEFINED__ */


#ifndef __IRcFlipFaces_INTERFACE_DEFINED__
#define __IRcFlipFaces_INTERFACE_DEFINED__

/* interface IRcFlipFaces */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcFlipFaces;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("68033903-E584-4aaa-BB81-5C181931CEAE")
    IRcFlipFaces : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcFlipFacesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcFlipFaces * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcFlipFaces * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcFlipFaces * This);
        
        END_INTERFACE
    } IRcFlipFacesVtbl;

    interface IRcFlipFaces
    {
        CONST_VTBL struct IRcFlipFacesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcFlipFaces_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcFlipFaces_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcFlipFaces_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcFlipFaces_INTERFACE_DEFINED__ */


#ifndef __IRcMergePolygons_INTERFACE_DEFINED__
#define __IRcMergePolygons_INTERFACE_DEFINED__

/* interface IRcMergePolygons */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcMergePolygons;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3E45513F-2866-457f-82EA-EE9FAC8BD84E")
    IRcMergePolygons : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcMergePolygonsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcMergePolygons * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcMergePolygons * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcMergePolygons * This);
        
        END_INTERFACE
    } IRcMergePolygonsVtbl;

    interface IRcMergePolygons
    {
        CONST_VTBL struct IRcMergePolygonsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcMergePolygons_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcMergePolygons_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcMergePolygons_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcMergePolygons_INTERFACE_DEFINED__ */


#ifndef __IRcSplitPolygons_INTERFACE_DEFINED__
#define __IRcSplitPolygons_INTERFACE_DEFINED__

/* interface IRcSplitPolygons */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSplitPolygons;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0A28658A-C334-4199-9C30-EB833B77A908")
    IRcSplitPolygons : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSplitPolygonsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSplitPolygons * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSplitPolygons * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSplitPolygons * This);
        
        END_INTERFACE
    } IRcSplitPolygonsVtbl;

    interface IRcSplitPolygons
    {
        CONST_VTBL struct IRcSplitPolygonsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSplitPolygons_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSplitPolygons_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSplitPolygons_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSplitPolygons_INTERFACE_DEFINED__ */


#ifndef __IRcMemSweep_INTERFACE_DEFINED__
#define __IRcMemSweep_INTERFACE_DEFINED__

/* interface IRcMemSweep */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcMemSweep;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CC135667-4A05-45f3-9536-950DD7BF6E9C")
    IRcMemSweep : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcMemSweepVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcMemSweep * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcMemSweep * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcMemSweep * This);
        
        END_INTERFACE
    } IRcMemSweepVtbl;

    interface IRcMemSweep
    {
        CONST_VTBL struct IRcMemSweepVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcMemSweep_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcMemSweep_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcMemSweep_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcMemSweep_INTERFACE_DEFINED__ */


#ifndef __IRcDuplicateSelection_INTERFACE_DEFINED__
#define __IRcDuplicateSelection_INTERFACE_DEFINED__

/* interface IRcDuplicateSelection */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDuplicateSelection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FFF551DB-D7E7-4ea7-B14A-682C633BBEE0")
    IRcDuplicateSelection : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcDuplicateSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDuplicateSelection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDuplicateSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDuplicateSelection * This);
        
        END_INTERFACE
    } IRcDuplicateSelectionVtbl;

    interface IRcDuplicateSelection
    {
        CONST_VTBL struct IRcDuplicateSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcDuplicateSelection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcDuplicateSelection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcDuplicateSelection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDuplicateSelection_INTERFACE_DEFINED__ */


#ifndef __IRcMirrorSelection_INTERFACE_DEFINED__
#define __IRcMirrorSelection_INTERFACE_DEFINED__

/* interface IRcMirrorSelection */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcMirrorSelection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A5F573F3-9687-4aa0-81E5-63EACFA8C64A")
    IRcMirrorSelection : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcMirrorSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcMirrorSelection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcMirrorSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcMirrorSelection * This);
        
        END_INTERFACE
    } IRcMirrorSelectionVtbl;

    interface IRcMirrorSelection
    {
        CONST_VTBL struct IRcMirrorSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcMirrorSelection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcMirrorSelection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcMirrorSelection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcMirrorSelection_INTERFACE_DEFINED__ */


#ifndef __IRcUpdateMirrorNormal_INTERFACE_DEFINED__
#define __IRcUpdateMirrorNormal_INTERFACE_DEFINED__

/* interface IRcUpdateMirrorNormal */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcUpdateMirrorNormal;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ADBA9A35-4454-48c1-BC5F-617447A26A73")
    IRcUpdateMirrorNormal : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcUpdateMirrorNormalVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcUpdateMirrorNormal * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcUpdateMirrorNormal * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcUpdateMirrorNormal * This);
        
        END_INTERFACE
    } IRcUpdateMirrorNormalVtbl;

    interface IRcUpdateMirrorNormal
    {
        CONST_VTBL struct IRcUpdateMirrorNormalVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcUpdateMirrorNormal_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcUpdateMirrorNormal_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcUpdateMirrorNormal_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcUpdateMirrorNormal_INTERFACE_DEFINED__ */


#ifndef __IRcUpdateMirrorPosition_INTERFACE_DEFINED__
#define __IRcUpdateMirrorPosition_INTERFACE_DEFINED__

/* interface IRcUpdateMirrorPosition */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcUpdateMirrorPosition;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1110D96B-3510-4519-A803-8D4A7D44B38A")
    IRcUpdateMirrorPosition : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcUpdateMirrorPositionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcUpdateMirrorPosition * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcUpdateMirrorPosition * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcUpdateMirrorPosition * This);
        
        END_INTERFACE
    } IRcUpdateMirrorPositionVtbl;

    interface IRcUpdateMirrorPosition
    {
        CONST_VTBL struct IRcUpdateMirrorPositionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcUpdateMirrorPosition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcUpdateMirrorPosition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcUpdateMirrorPosition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcUpdateMirrorPosition_INTERFACE_DEFINED__ */


#ifndef __IRcBridgeSelectionUndoRedo_INTERFACE_DEFINED__
#define __IRcBridgeSelectionUndoRedo_INTERFACE_DEFINED__

/* interface IRcBridgeSelectionUndoRedo */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcBridgeSelectionUndoRedo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1272CF7E-8837-421f-8A0E-A34487D04604")
    IRcBridgeSelectionUndoRedo : public IUnknown
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveUndoTransformation( 
            /* [in] */ IRsBaseNode *pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveRedoTransformation( 
            /* [in] */ IRsBaseNode *pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RecordUndoState( 
            /* [in] */ IRdWidgetParameters *pParams,
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RecordRedoState( 
            /* [in] */ IRdWidgetParameters *pParams,
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBridgeTool( 
            /* [in] */ IRsBaseNode *pTool) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcBridgeSelectionUndoRedoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcBridgeSelectionUndoRedo * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcBridgeSelectionUndoRedo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcBridgeSelectionUndoRedo * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveUndoTransformation )( 
            IRcBridgeSelectionUndoRedo * This,
            /* [in] */ IRsBaseNode *pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveRedoTransformation )( 
            IRcBridgeSelectionUndoRedo * This,
            /* [in] */ IRsBaseNode *pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RecordUndoState )( 
            IRcBridgeSelectionUndoRedo * This,
            /* [in] */ IRdWidgetParameters *pParams,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RecordRedoState )( 
            IRcBridgeSelectionUndoRedo * This,
            /* [in] */ IRdWidgetParameters *pParams,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBridgeTool )( 
            IRcBridgeSelectionUndoRedo * This,
            /* [in] */ IRsBaseNode *pTool);
        
        END_INTERFACE
    } IRcBridgeSelectionUndoRedoVtbl;

    interface IRcBridgeSelectionUndoRedo
    {
        CONST_VTBL struct IRcBridgeSelectionUndoRedoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcBridgeSelectionUndoRedo_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcBridgeSelectionUndoRedo_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcBridgeSelectionUndoRedo_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcBridgeSelectionUndoRedo_SaveUndoTransformation(This,pNode)	\
    (This)->lpVtbl -> SaveUndoTransformation(This,pNode)

#define IRcBridgeSelectionUndoRedo_SaveRedoTransformation(This,pNode)	\
    (This)->lpVtbl -> SaveRedoTransformation(This,pNode)

#define IRcBridgeSelectionUndoRedo_RecordUndoState(This,pParams,pNode)	\
    (This)->lpVtbl -> RecordUndoState(This,pParams,pNode)

#define IRcBridgeSelectionUndoRedo_RecordRedoState(This,pParams,pNode)	\
    (This)->lpVtbl -> RecordRedoState(This,pParams,pNode)

#define IRcBridgeSelectionUndoRedo_SetBridgeTool(This,pTool)	\
    (This)->lpVtbl -> SetBridgeTool(This,pTool)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcBridgeSelectionUndoRedo_SaveUndoTransformation_Proxy( 
    IRcBridgeSelectionUndoRedo * This,
    /* [in] */ IRsBaseNode *pNode);


void __RPC_STUB IRcBridgeSelectionUndoRedo_SaveUndoTransformation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcBridgeSelectionUndoRedo_SaveRedoTransformation_Proxy( 
    IRcBridgeSelectionUndoRedo * This,
    /* [in] */ IRsBaseNode *pNode);


void __RPC_STUB IRcBridgeSelectionUndoRedo_SaveRedoTransformation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcBridgeSelectionUndoRedo_RecordUndoState_Proxy( 
    IRcBridgeSelectionUndoRedo * This,
    /* [in] */ IRdWidgetParameters *pParams,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRcBridgeSelectionUndoRedo_RecordUndoState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcBridgeSelectionUndoRedo_RecordRedoState_Proxy( 
    IRcBridgeSelectionUndoRedo * This,
    /* [in] */ IRdWidgetParameters *pParams,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRcBridgeSelectionUndoRedo_RecordRedoState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcBridgeSelectionUndoRedo_SetBridgeTool_Proxy( 
    IRcBridgeSelectionUndoRedo * This,
    /* [in] */ IRsBaseNode *pTool);


void __RPC_STUB IRcBridgeSelectionUndoRedo_SetBridgeTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcBridgeSelectionUndoRedo_INTERFACE_DEFINED__ */


#ifndef __IRnBridgeTool_INTERFACE_DEFINED__
#define __IRnBridgeTool_INTERFACE_DEFINED__

/* interface IRnBridgeTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnBridgeTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4F7012AD-EE8F-4326-8BE3-E981CAB6F28B")
    IRnBridgeTool : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE UndoRedoSelectionChanged( 
            /* [in] */ IRsNode *pMeshNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnBridgeToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnBridgeTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnBridgeTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnBridgeTool * This);
        
        HRESULT ( STDMETHODCALLTYPE *UndoRedoSelectionChanged )( 
            IRnBridgeTool * This,
            /* [in] */ IRsNode *pMeshNode);
        
        END_INTERFACE
    } IRnBridgeToolVtbl;

    interface IRnBridgeTool
    {
        CONST_VTBL struct IRnBridgeToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnBridgeTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnBridgeTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnBridgeTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnBridgeTool_UndoRedoSelectionChanged(This,pMeshNode)	\
    (This)->lpVtbl -> UndoRedoSelectionChanged(This,pMeshNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRnBridgeTool_UndoRedoSelectionChanged_Proxy( 
    IRnBridgeTool * This,
    /* [in] */ IRsNode *pMeshNode);


void __RPC_STUB IRnBridgeTool_UndoRedoSelectionChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnBridgeTool_INTERFACE_DEFINED__ */


#ifndef __IRcMeshModifierUndoRedo_INTERFACE_DEFINED__
#define __IRcMeshModifierUndoRedo_INTERFACE_DEFINED__

/* interface IRcMeshModifierUndoRedo */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcMeshModifierUndoRedo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6C1FBB09-67BE-46E2-BE9A-20553FAFFA85")
    IRcMeshModifierUndoRedo : public IUnknown
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveUndo( 
            /* [in] */ IRsBaseNode *pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveRedo( 
            /* [in] */ IRsBaseNode *pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RecordUndoState( 
            /* [in] */ IRdWidgetParameters *pParams) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RecordRedoState( 
            /* [in] */ IRdWidgetParameters *pParams) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcMeshModifierUndoRedoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcMeshModifierUndoRedo * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcMeshModifierUndoRedo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcMeshModifierUndoRedo * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveUndo )( 
            IRcMeshModifierUndoRedo * This,
            /* [in] */ IRsBaseNode *pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveRedo )( 
            IRcMeshModifierUndoRedo * This,
            /* [in] */ IRsBaseNode *pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RecordUndoState )( 
            IRcMeshModifierUndoRedo * This,
            /* [in] */ IRdWidgetParameters *pParams);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RecordRedoState )( 
            IRcMeshModifierUndoRedo * This,
            /* [in] */ IRdWidgetParameters *pParams);
        
        END_INTERFACE
    } IRcMeshModifierUndoRedoVtbl;

    interface IRcMeshModifierUndoRedo
    {
        CONST_VTBL struct IRcMeshModifierUndoRedoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcMeshModifierUndoRedo_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcMeshModifierUndoRedo_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcMeshModifierUndoRedo_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcMeshModifierUndoRedo_SaveUndo(This,pNode)	\
    (This)->lpVtbl -> SaveUndo(This,pNode)

#define IRcMeshModifierUndoRedo_SaveRedo(This,pNode)	\
    (This)->lpVtbl -> SaveRedo(This,pNode)

#define IRcMeshModifierUndoRedo_RecordUndoState(This,pParams)	\
    (This)->lpVtbl -> RecordUndoState(This,pParams)

#define IRcMeshModifierUndoRedo_RecordRedoState(This,pParams)	\
    (This)->lpVtbl -> RecordRedoState(This,pParams)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcMeshModifierUndoRedo_SaveUndo_Proxy( 
    IRcMeshModifierUndoRedo * This,
    /* [in] */ IRsBaseNode *pNode);


void __RPC_STUB IRcMeshModifierUndoRedo_SaveUndo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcMeshModifierUndoRedo_SaveRedo_Proxy( 
    IRcMeshModifierUndoRedo * This,
    /* [in] */ IRsBaseNode *pNode);


void __RPC_STUB IRcMeshModifierUndoRedo_SaveRedo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcMeshModifierUndoRedo_RecordUndoState_Proxy( 
    IRcMeshModifierUndoRedo * This,
    /* [in] */ IRdWidgetParameters *pParams);


void __RPC_STUB IRcMeshModifierUndoRedo_RecordUndoState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcMeshModifierUndoRedo_RecordRedoState_Proxy( 
    IRcMeshModifierUndoRedo * This,
    /* [in] */ IRdWidgetParameters *pParams);


void __RPC_STUB IRcMeshModifierUndoRedo_RecordRedoState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcMeshModifierUndoRedo_INTERFACE_DEFINED__ */


#ifndef __IRnAddLoop_INTERFACE_DEFINED__
#define __IRnAddLoop_INTERFACE_DEFINED__

/* interface IRnAddLoop */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnAddLoop;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("66658A96-ABF3-4827-8219-4466503B308A")
    IRnAddLoop : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnAddLoopVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnAddLoop * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnAddLoop * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnAddLoop * This);
        
        END_INTERFACE
    } IRnAddLoopVtbl;

    interface IRnAddLoop
    {
        CONST_VTBL struct IRnAddLoopVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnAddLoop_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnAddLoop_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnAddLoop_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnAddLoop_INTERFACE_DEFINED__ */


#ifndef __IRcSubdivFaces_INTERFACE_DEFINED__
#define __IRcSubdivFaces_INTERFACE_DEFINED__

/* interface IRcSubdivFaces */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSubdivFaces;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BDDB8D7C-D94C-4276-A411-96C7B2F08E7E")
    IRcSubdivFaces : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSubdivFacesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSubdivFaces * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSubdivFaces * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSubdivFaces * This);
        
        END_INTERFACE
    } IRcSubdivFacesVtbl;

    interface IRcSubdivFaces
    {
        CONST_VTBL struct IRcSubdivFacesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSubdivFaces_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSubdivFaces_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSubdivFaces_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSubdivFaces_INTERFACE_DEFINED__ */


#ifndef __IRcSmoothdivFaces_INTERFACE_DEFINED__
#define __IRcSmoothdivFaces_INTERFACE_DEFINED__

/* interface IRcSmoothdivFaces */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSmoothdivFaces;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1B2DB65A-2295-46da-8E96-627778DAA210")
    IRcSmoothdivFaces : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSmoothdivFacesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSmoothdivFaces * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSmoothdivFaces * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSmoothdivFaces * This);
        
        END_INTERFACE
    } IRcSmoothdivFacesVtbl;

    interface IRcSmoothdivFaces
    {
        CONST_VTBL struct IRcSmoothdivFacesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSmoothdivFaces_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSmoothdivFaces_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSmoothdivFaces_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSmoothdivFaces_INTERFACE_DEFINED__ */


#ifndef __IRcAddFace_INTERFACE_DEFINED__
#define __IRcAddFace_INTERFACE_DEFINED__

/* interface IRcAddFace */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAddFace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7032EC04-4E22-4e94-8E88-1F0143DCEE33")
    IRcAddFace : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAddFaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAddFace * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAddFace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAddFace * This);
        
        END_INTERFACE
    } IRcAddFaceVtbl;

    interface IRcAddFace
    {
        CONST_VTBL struct IRcAddFaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcAddFace_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcAddFace_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcAddFace_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAddFace_INTERFACE_DEFINED__ */


#ifndef __IRcInvert_INTERFACE_DEFINED__
#define __IRcInvert_INTERFACE_DEFINED__

/* interface IRcInvert */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcInvert;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("66A0EBE6-9666-4a0d-829E-443417B50474")
    IRcInvert : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcInvertVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcInvert * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcInvert * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcInvert * This);
        
        END_INTERFACE
    } IRcInvertVtbl;

    interface IRcInvert
    {
        CONST_VTBL struct IRcInvertVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcInvert_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcInvert_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcInvert_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcInvert_INTERFACE_DEFINED__ */


#ifndef __IRcSelectConnected_INTERFACE_DEFINED__
#define __IRcSelectConnected_INTERFACE_DEFINED__

/* interface IRcSelectConnected */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSelectConnected;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0502CC2A-7F8C-4d29-BBB4-9F1F2ECDC84C")
    IRcSelectConnected : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSelectConnectedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSelectConnected * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSelectConnected * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSelectConnected * This);
        
        END_INTERFACE
    } IRcSelectConnectedVtbl;

    interface IRcSelectConnected
    {
        CONST_VTBL struct IRcSelectConnectedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSelectConnected_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSelectConnected_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSelectConnected_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSelectConnected_INTERFACE_DEFINED__ */


#ifndef __IRcInvertConnected_INTERFACE_DEFINED__
#define __IRcInvertConnected_INTERFACE_DEFINED__

/* interface IRcInvertConnected */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcInvertConnected;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EBD249DC-9F32-41ac-8507-AB9A3BF6E53C")
    IRcInvertConnected : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcInvertConnectedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcInvertConnected * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcInvertConnected * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcInvertConnected * This);
        
        END_INTERFACE
    } IRcInvertConnectedVtbl;

    interface IRcInvertConnected
    {
        CONST_VTBL struct IRcInvertConnectedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcInvertConnected_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcInvertConnected_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcInvertConnected_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcInvertConnected_INTERFACE_DEFINED__ */


#ifndef __IRcGrowPointEditSelection_INTERFACE_DEFINED__
#define __IRcGrowPointEditSelection_INTERFACE_DEFINED__

/* interface IRcGrowPointEditSelection */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcGrowPointEditSelection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BF966A8E-1802-4454-8946-451353485105")
    IRcGrowPointEditSelection : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcGrowPointEditSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcGrowPointEditSelection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcGrowPointEditSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcGrowPointEditSelection * This);
        
        END_INTERFACE
    } IRcGrowPointEditSelectionVtbl;

    interface IRcGrowPointEditSelection
    {
        CONST_VTBL struct IRcGrowPointEditSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcGrowPointEditSelection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcGrowPointEditSelection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcGrowPointEditSelection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcGrowPointEditSelection_INTERFACE_DEFINED__ */


#ifndef __IRcShrinkPointEditSelection_INTERFACE_DEFINED__
#define __IRcShrinkPointEditSelection_INTERFACE_DEFINED__

/* interface IRcShrinkPointEditSelection */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcShrinkPointEditSelection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("84713D5A-9A93-48eb-A80C-64CA8587C36B")
    IRcShrinkPointEditSelection : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcShrinkPointEditSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcShrinkPointEditSelection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcShrinkPointEditSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcShrinkPointEditSelection * This);
        
        END_INTERFACE
    } IRcShrinkPointEditSelectionVtbl;

    interface IRcShrinkPointEditSelection
    {
        CONST_VTBL struct IRcShrinkPointEditSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcShrinkPointEditSelection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcShrinkPointEditSelection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcShrinkPointEditSelection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcShrinkPointEditSelection_INTERFACE_DEFINED__ */


#ifndef __IRcSmoothPointEditSelection_INTERFACE_DEFINED__
#define __IRcSmoothPointEditSelection_INTERFACE_DEFINED__

/* interface IRcSmoothPointEditSelection */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSmoothPointEditSelection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DB518BED-5BE9-4547-81BB-5B9D38DC856F")
    IRcSmoothPointEditSelection : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSmoothPointEditSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSmoothPointEditSelection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSmoothPointEditSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSmoothPointEditSelection * This);
        
        END_INTERFACE
    } IRcSmoothPointEditSelectionVtbl;

    interface IRcSmoothPointEditSelection
    {
        CONST_VTBL struct IRcSmoothPointEditSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSmoothPointEditSelection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSmoothPointEditSelection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSmoothPointEditSelection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSmoothPointEditSelection_INTERFACE_DEFINED__ */


#ifndef __IRcOutlinePointEditSelection_INTERFACE_DEFINED__
#define __IRcOutlinePointEditSelection_INTERFACE_DEFINED__

/* interface IRcOutlinePointEditSelection */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcOutlinePointEditSelection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6943CAFB-6314-40ca-BA25-C3FEB4D19053")
    IRcOutlinePointEditSelection : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcOutlinePointEditSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcOutlinePointEditSelection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcOutlinePointEditSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcOutlinePointEditSelection * This);
        
        END_INTERFACE
    } IRcOutlinePointEditSelectionVtbl;

    interface IRcOutlinePointEditSelection
    {
        CONST_VTBL struct IRcOutlinePointEditSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcOutlinePointEditSelection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcOutlinePointEditSelection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcOutlinePointEditSelection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcOutlinePointEditSelection_INTERFACE_DEFINED__ */


#ifndef __IRcTransformSelection_INTERFACE_DEFINED__
#define __IRcTransformSelection_INTERFACE_DEFINED__

/* interface IRcTransformSelection */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcTransformSelection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("19BF8157-2883-45ab-8B4D-0F4660E979CB")
    IRcTransformSelection : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcTransformSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcTransformSelection * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcTransformSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcTransformSelection * This);
        
        END_INTERFACE
    } IRcTransformSelectionVtbl;

    interface IRcTransformSelection
    {
        CONST_VTBL struct IRcTransformSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcTransformSelection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcTransformSelection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcTransformSelection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcTransformSelection_INTERFACE_DEFINED__ */


#ifndef __IRnCopyPolygon_INTERFACE_DEFINED__
#define __IRnCopyPolygon_INTERFACE_DEFINED__

/* interface IRnCopyPolygon */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnCopyPolygon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("54C35F93-2841-43f1-B316-47A874F9C97B")
    IRnCopyPolygon : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnCopyPolygonVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnCopyPolygon * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnCopyPolygon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnCopyPolygon * This);
        
        END_INTERFACE
    } IRnCopyPolygonVtbl;

    interface IRnCopyPolygon
    {
        CONST_VTBL struct IRnCopyPolygonVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnCopyPolygon_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnCopyPolygon_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnCopyPolygon_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnCopyPolygon_INTERFACE_DEFINED__ */


#ifndef __IRcScissors_INTERFACE_DEFINED__
#define __IRcScissors_INTERFACE_DEFINED__

/* interface IRcScissors */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcScissors;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F8ABCB96-FB4A-4d32-ACC8-B8EDC105166B")
    IRcScissors : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcScissorsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcScissors * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcScissors * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcScissors * This);
        
        END_INTERFACE
    } IRcScissorsVtbl;

    interface IRcScissors
    {
        CONST_VTBL struct IRcScissorsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcScissors_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcScissors_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcScissors_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcScissors_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__MeshModifiers_2430 */
/* [local] */ 

struct RtPolydrawVertex
    {
    RtUlong triangle_index;
    RtVector3f barycentric;
    RtUlong output_index;
    RtVector3f output_barycentric;
    RtPoint output_position;
    } ;


extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2430_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2430_v0_0_s_ifspec;

#ifndef __IRdPolydrawState_INTERFACE_DEFINED__
#define __IRdPolydrawState_INTERFACE_DEFINED__

/* interface IRdPolydrawState */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdPolydrawState;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("75571B72-84C7-4CA2-8BFA-6DC1A2AB828C")
    IRdPolydrawState : public IRsObject
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetNumberOfVertices( 
            /* [in] */ RtUlong *pdwVertices) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVertexIndex( 
            /* [in] */ struct RtPolydrawVertex *pVertex,
            /* [in] */ RtUlong *pdwIndex) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetVertex( 
            /* [in] */ RtUlong index,
            /* [in] */ struct RtPolydrawVertex *pVertex) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetVertex( 
            /* [in] */ RtUlong index,
            /* [in] */ struct RtPolydrawVertex *pVertex) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddVertex( 
            /* [in] */ struct RtPolydrawVertex *pVertex) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertVertex( 
            /* [in] */ RtUlong index,
            /* [in] */ struct RtPolydrawVertex *pVertex) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DeleteVertex( 
            /* [in] */ RtUlong idx) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetActiveNode( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetActiveNode( 
            /* [in] */ IRsNode **ppNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetValid( 
            /* [in] */ RtBool b) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetValid( 
            /* [in] */ RtBool *pB) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetClosed( 
            /* [in] */ RtBool b) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetClosed( 
            /* [in] */ RtBool *pB) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetFinalized( 
            /* [in] */ RtBool b) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetFinalized( 
            /* [in] */ RtBool *pB) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CheckVertexPresent( 
            /* [in] */ struct RtPolydrawVertex *pVertex) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetReferenceCurve( 
            /* [in] */ IRdMesh *pMesh) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetReferenceCurve( 
            /* [in] */ IRdMesh **pMesh) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetReferenceMesh( 
            /* [in] */ IRdMesh *pMesh) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetReferenceMesh( 
            /* [in] */ IRdMesh **pMesh) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetReferenceSource( 
            /* [in] */ IRdMesh *pMesh) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetReferenceSource( 
            /* [in] */ IRdMesh **pMesh) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdPolydrawStateVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdPolydrawState * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdPolydrawState * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdPolydrawState * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdPolydrawState * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdPolydrawState * This,
            /* [retval][out] */ BSTR *pVal);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumberOfVertices )( 
            IRdPolydrawState * This,
            /* [in] */ RtUlong *pdwVertices);
        
        HRESULT ( STDMETHODCALLTYPE *GetVertexIndex )( 
            IRdPolydrawState * This,
            /* [in] */ struct RtPolydrawVertex *pVertex,
            /* [in] */ RtUlong *pdwIndex);
        
        HRESULT ( STDMETHODCALLTYPE *GetVertex )( 
            IRdPolydrawState * This,
            /* [in] */ RtUlong index,
            /* [in] */ struct RtPolydrawVertex *pVertex);
        
        HRESULT ( STDMETHODCALLTYPE *SetVertex )( 
            IRdPolydrawState * This,
            /* [in] */ RtUlong index,
            /* [in] */ struct RtPolydrawVertex *pVertex);
        
        HRESULT ( STDMETHODCALLTYPE *AddVertex )( 
            IRdPolydrawState * This,
            /* [in] */ struct RtPolydrawVertex *pVertex);
        
        HRESULT ( STDMETHODCALLTYPE *InsertVertex )( 
            IRdPolydrawState * This,
            /* [in] */ RtUlong index,
            /* [in] */ struct RtPolydrawVertex *pVertex);
        
        HRESULT ( STDMETHODCALLTYPE *DeleteVertex )( 
            IRdPolydrawState * This,
            /* [in] */ RtUlong idx);
        
        HRESULT ( STDMETHODCALLTYPE *SetActiveNode )( 
            IRdPolydrawState * This,
            /* [in] */ IRsNode *pNode);
        
        HRESULT ( STDMETHODCALLTYPE *GetActiveNode )( 
            IRdPolydrawState * This,
            /* [in] */ IRsNode **ppNode);
        
        HRESULT ( STDMETHODCALLTYPE *SetValid )( 
            IRdPolydrawState * This,
            /* [in] */ RtBool b);
        
        HRESULT ( STDMETHODCALLTYPE *GetValid )( 
            IRdPolydrawState * This,
            /* [in] */ RtBool *pB);
        
        HRESULT ( STDMETHODCALLTYPE *SetClosed )( 
            IRdPolydrawState * This,
            /* [in] */ RtBool b);
        
        HRESULT ( STDMETHODCALLTYPE *GetClosed )( 
            IRdPolydrawState * This,
            /* [in] */ RtBool *pB);
        
        HRESULT ( STDMETHODCALLTYPE *SetFinalized )( 
            IRdPolydrawState * This,
            /* [in] */ RtBool b);
        
        HRESULT ( STDMETHODCALLTYPE *GetFinalized )( 
            IRdPolydrawState * This,
            /* [in] */ RtBool *pB);
        
        HRESULT ( STDMETHODCALLTYPE *CheckVertexPresent )( 
            IRdPolydrawState * This,
            /* [in] */ struct RtPolydrawVertex *pVertex);
        
        HRESULT ( STDMETHODCALLTYPE *SetReferenceCurve )( 
            IRdPolydrawState * This,
            /* [in] */ IRdMesh *pMesh);
        
        HRESULT ( STDMETHODCALLTYPE *GetReferenceCurve )( 
            IRdPolydrawState * This,
            /* [in] */ IRdMesh **pMesh);
        
        HRESULT ( STDMETHODCALLTYPE *SetReferenceMesh )( 
            IRdPolydrawState * This,
            /* [in] */ IRdMesh *pMesh);
        
        HRESULT ( STDMETHODCALLTYPE *GetReferenceMesh )( 
            IRdPolydrawState * This,
            /* [in] */ IRdMesh **pMesh);
        
        HRESULT ( STDMETHODCALLTYPE *SetReferenceSource )( 
            IRdPolydrawState * This,
            /* [in] */ IRdMesh *pMesh);
        
        HRESULT ( STDMETHODCALLTYPE *GetReferenceSource )( 
            IRdPolydrawState * This,
            /* [in] */ IRdMesh **pMesh);
        
        HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IRdPolydrawState * This);
        
        END_INTERFACE
    } IRdPolydrawStateVtbl;

    interface IRdPolydrawState
    {
        CONST_VTBL struct IRdPolydrawStateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdPolydrawState_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdPolydrawState_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdPolydrawState_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdPolydrawState_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdPolydrawState_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdPolydrawState_GetNumberOfVertices(This,pdwVertices)	\
    (This)->lpVtbl -> GetNumberOfVertices(This,pdwVertices)

#define IRdPolydrawState_GetVertexIndex(This,pVertex,pdwIndex)	\
    (This)->lpVtbl -> GetVertexIndex(This,pVertex,pdwIndex)

#define IRdPolydrawState_GetVertex(This,index,pVertex)	\
    (This)->lpVtbl -> GetVertex(This,index,pVertex)

#define IRdPolydrawState_SetVertex(This,index,pVertex)	\
    (This)->lpVtbl -> SetVertex(This,index,pVertex)

#define IRdPolydrawState_AddVertex(This,pVertex)	\
    (This)->lpVtbl -> AddVertex(This,pVertex)

#define IRdPolydrawState_InsertVertex(This,index,pVertex)	\
    (This)->lpVtbl -> InsertVertex(This,index,pVertex)

#define IRdPolydrawState_DeleteVertex(This,idx)	\
    (This)->lpVtbl -> DeleteVertex(This,idx)

#define IRdPolydrawState_SetActiveNode(This,pNode)	\
    (This)->lpVtbl -> SetActiveNode(This,pNode)

#define IRdPolydrawState_GetActiveNode(This,ppNode)	\
    (This)->lpVtbl -> GetActiveNode(This,ppNode)

#define IRdPolydrawState_SetValid(This,b)	\
    (This)->lpVtbl -> SetValid(This,b)

#define IRdPolydrawState_GetValid(This,pB)	\
    (This)->lpVtbl -> GetValid(This,pB)

#define IRdPolydrawState_SetClosed(This,b)	\
    (This)->lpVtbl -> SetClosed(This,b)

#define IRdPolydrawState_GetClosed(This,pB)	\
    (This)->lpVtbl -> GetClosed(This,pB)

#define IRdPolydrawState_SetFinalized(This,b)	\
    (This)->lpVtbl -> SetFinalized(This,b)

#define IRdPolydrawState_GetFinalized(This,pB)	\
    (This)->lpVtbl -> GetFinalized(This,pB)

#define IRdPolydrawState_CheckVertexPresent(This,pVertex)	\
    (This)->lpVtbl -> CheckVertexPresent(This,pVertex)

#define IRdPolydrawState_SetReferenceCurve(This,pMesh)	\
    (This)->lpVtbl -> SetReferenceCurve(This,pMesh)

#define IRdPolydrawState_GetReferenceCurve(This,pMesh)	\
    (This)->lpVtbl -> GetReferenceCurve(This,pMesh)

#define IRdPolydrawState_SetReferenceMesh(This,pMesh)	\
    (This)->lpVtbl -> SetReferenceMesh(This,pMesh)

#define IRdPolydrawState_GetReferenceMesh(This,pMesh)	\
    (This)->lpVtbl -> GetReferenceMesh(This,pMesh)

#define IRdPolydrawState_SetReferenceSource(This,pMesh)	\
    (This)->lpVtbl -> SetReferenceSource(This,pMesh)

#define IRdPolydrawState_GetReferenceSource(This,pMesh)	\
    (This)->lpVtbl -> GetReferenceSource(This,pMesh)

#define IRdPolydrawState_Reset(This)	\
    (This)->lpVtbl -> Reset(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRdPolydrawState_GetNumberOfVertices_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ RtUlong *pdwVertices);


void __RPC_STUB IRdPolydrawState_GetNumberOfVertices_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_GetVertexIndex_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ struct RtPolydrawVertex *pVertex,
    /* [in] */ RtUlong *pdwIndex);


void __RPC_STUB IRdPolydrawState_GetVertexIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_GetVertex_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ RtUlong index,
    /* [in] */ struct RtPolydrawVertex *pVertex);


void __RPC_STUB IRdPolydrawState_GetVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_SetVertex_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ RtUlong index,
    /* [in] */ struct RtPolydrawVertex *pVertex);


void __RPC_STUB IRdPolydrawState_SetVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_AddVertex_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ struct RtPolydrawVertex *pVertex);


void __RPC_STUB IRdPolydrawState_AddVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_InsertVertex_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ RtUlong index,
    /* [in] */ struct RtPolydrawVertex *pVertex);


void __RPC_STUB IRdPolydrawState_InsertVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_DeleteVertex_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ RtUlong idx);


void __RPC_STUB IRdPolydrawState_DeleteVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_SetActiveNode_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRdPolydrawState_SetActiveNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_GetActiveNode_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ IRsNode **ppNode);


void __RPC_STUB IRdPolydrawState_GetActiveNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_SetValid_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ RtBool b);


void __RPC_STUB IRdPolydrawState_SetValid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_GetValid_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ RtBool *pB);


void __RPC_STUB IRdPolydrawState_GetValid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_SetClosed_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ RtBool b);


void __RPC_STUB IRdPolydrawState_SetClosed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_GetClosed_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ RtBool *pB);


void __RPC_STUB IRdPolydrawState_GetClosed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_SetFinalized_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ RtBool b);


void __RPC_STUB IRdPolydrawState_SetFinalized_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_GetFinalized_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ RtBool *pB);


void __RPC_STUB IRdPolydrawState_GetFinalized_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_CheckVertexPresent_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ struct RtPolydrawVertex *pVertex);


void __RPC_STUB IRdPolydrawState_CheckVertexPresent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_SetReferenceCurve_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ IRdMesh *pMesh);


void __RPC_STUB IRdPolydrawState_SetReferenceCurve_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_GetReferenceCurve_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ IRdMesh **pMesh);


void __RPC_STUB IRdPolydrawState_GetReferenceCurve_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_SetReferenceMesh_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ IRdMesh *pMesh);


void __RPC_STUB IRdPolydrawState_SetReferenceMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_GetReferenceMesh_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ IRdMesh **pMesh);


void __RPC_STUB IRdPolydrawState_GetReferenceMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_SetReferenceSource_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ IRdMesh *pMesh);


void __RPC_STUB IRdPolydrawState_SetReferenceSource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_GetReferenceSource_Proxy( 
    IRdPolydrawState * This,
    /* [in] */ IRdMesh **pMesh);


void __RPC_STUB IRdPolydrawState_GetReferenceSource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdPolydrawState_Reset_Proxy( 
    IRdPolydrawState * This);


void __RPC_STUB IRdPolydrawState_Reset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdPolydrawState_INTERFACE_DEFINED__ */


#ifndef __IRnPolydraw_INTERFACE_DEFINED__
#define __IRnPolydraw_INTERFACE_DEFINED__

/* interface IRnPolydraw */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnPolydraw;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3C604BE8-9232-4502-B989-DFA52B79591C")
    IRnPolydraw : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnPolydrawVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnPolydraw * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnPolydraw * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnPolydraw * This);
        
        END_INTERFACE
    } IRnPolydrawVtbl;

    interface IRnPolydraw
    {
        CONST_VTBL struct IRnPolydrawVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnPolydraw_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnPolydraw_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnPolydraw_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnPolydraw_INTERFACE_DEFINED__ */


#ifndef __IRcNormalSweep_INTERFACE_DEFINED__
#define __IRcNormalSweep_INTERFACE_DEFINED__

/* interface IRcNormalSweep */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcNormalSweep;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5042E6D4-1302-4d5b-BA3C-D9D216C65228")
    IRcNormalSweep : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcNormalSweepVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcNormalSweep * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcNormalSweep * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcNormalSweep * This);
        
        END_INTERFACE
    } IRcNormalSweepVtbl;

    interface IRcNormalSweep
    {
        CONST_VTBL struct IRcNormalSweepVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcNormalSweep_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcNormalSweep_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcNormalSweep_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcNormalSweep_INTERFACE_DEFINED__ */


#ifndef __IRnSweep_INTERFACE_DEFINED__
#define __IRnSweep_INTERFACE_DEFINED__

/* interface IRnSweep */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnSweep;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8F3A1193-73EA-4e8a-9C4B-764235760D1E")
    IRnSweep : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnSweepVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnSweep * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnSweep * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnSweep * This);
        
        END_INTERFACE
    } IRnSweepVtbl;

    interface IRnSweep
    {
        CONST_VTBL struct IRnSweepVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnSweep_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnSweep_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnSweep_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnSweep_INTERFACE_DEFINED__ */


#ifndef __IRcBevelTool_INTERFACE_DEFINED__
#define __IRcBevelTool_INTERFACE_DEFINED__

/* interface IRcBevelTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcBevelTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3E352F97-3794-42f1-91F4-6636D0495149")
    IRcBevelTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcBevelToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcBevelTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcBevelTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcBevelTool * This);
        
        END_INTERFACE
    } IRcBevelToolVtbl;

    interface IRcBevelTool
    {
        CONST_VTBL struct IRcBevelToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcBevelTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcBevelTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcBevelTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcBevelTool_INTERFACE_DEFINED__ */


#ifndef __IRnBevelTool_INTERFACE_DEFINED__
#define __IRnBevelTool_INTERFACE_DEFINED__

/* interface IRnBevelTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnBevelTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C33CF822-6701-45e4-A7C5-AA004A9F6E3A")
    IRnBevelTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnBevelToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnBevelTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnBevelTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnBevelTool * This);
        
        END_INTERFACE
    } IRnBevelToolVtbl;

    interface IRnBevelTool
    {
        CONST_VTBL struct IRnBevelToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnBevelTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnBevelTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnBevelTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnBevelTool_INTERFACE_DEFINED__ */


#ifndef __IRcPeDeselect_INTERFACE_DEFINED__
#define __IRcPeDeselect_INTERFACE_DEFINED__

/* interface IRcPeDeselect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcPeDeselect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BBB2D3D6-1612-4dbd-9AF5-FEFDD9E5A223")
    IRcPeDeselect : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcPeDeselectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcPeDeselect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcPeDeselect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcPeDeselect * This);
        
        END_INTERFACE
    } IRcPeDeselectVtbl;

    interface IRcPeDeselect
    {
        CONST_VTBL struct IRcPeDeselectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcPeDeselect_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcPeDeselect_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcPeDeselect_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcPeDeselect_INTERFACE_DEFINED__ */


#ifndef __IRcAddMirrorModeler_INTERFACE_DEFINED__
#define __IRcAddMirrorModeler_INTERFACE_DEFINED__

/* interface IRcAddMirrorModeler */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAddMirrorModeler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8EB5B9F4-0FF5-473b-8686-93EFEA401D24")
    IRcAddMirrorModeler : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAddMirrorModelerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAddMirrorModeler * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAddMirrorModeler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAddMirrorModeler * This);
        
        END_INTERFACE
    } IRcAddMirrorModelerVtbl;

    interface IRcAddMirrorModeler
    {
        CONST_VTBL struct IRcAddMirrorModelerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcAddMirrorModeler_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcAddMirrorModeler_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcAddMirrorModeler_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAddMirrorModeler_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__MeshModifiers_2438 */
/* [local] */ 

struct RtMirrorPlane
    {
    RtVector3f m_normal;
    RtFloat m_offset;
    RtFloat m_weld_distance;
    RtBool m_remove_mirror_plane;
    RtBool m_weld_topology;
    wchar_t m_szName[ 16 ];
    } ;


extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2438_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2438_v0_0_s_ifspec;

#ifndef __IRdMirrorModeler_INTERFACE_DEFINED__
#define __IRdMirrorModeler_INTERFACE_DEFINED__

/* interface IRdMirrorModeler */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMirrorModeler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("55FE152F-7BC3-4280-9DD4-B12C186A4599")
    IRdMirrorModeler : public IRsObject
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetNumMirrorPlanes( 
            /* [in] */ RtUlong *dwCnt) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetMirrorPlane( 
            /* [in] */ RtUlong dwIdx,
            /* [in] */ struct RtMirrorPlane *pPlane) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetMirrorPlane( 
            /* [in] */ RtUlong dwIdx,
            /* [in] */ struct RtMirrorPlane *pPlane) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddMirrorPlane( 
            /* [in] */ struct RtMirrorPlane *pPlane) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetUnusedPlaneName( 
            /* [in] */ BSTR *pName) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveMirrorPlane( 
            /* [in] */ BSTR szName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdMirrorModelerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMirrorModeler * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMirrorModeler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMirrorModeler * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdMirrorModeler * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdMirrorModeler * This,
            /* [retval][out] */ BSTR *pVal);
        
        HRESULT ( STDMETHODCALLTYPE *GetNumMirrorPlanes )( 
            IRdMirrorModeler * This,
            /* [in] */ RtUlong *dwCnt);
        
        HRESULT ( STDMETHODCALLTYPE *GetMirrorPlane )( 
            IRdMirrorModeler * This,
            /* [in] */ RtUlong dwIdx,
            /* [in] */ struct RtMirrorPlane *pPlane);
        
        HRESULT ( STDMETHODCALLTYPE *SetMirrorPlane )( 
            IRdMirrorModeler * This,
            /* [in] */ RtUlong dwIdx,
            /* [in] */ struct RtMirrorPlane *pPlane);
        
        HRESULT ( STDMETHODCALLTYPE *AddMirrorPlane )( 
            IRdMirrorModeler * This,
            /* [in] */ struct RtMirrorPlane *pPlane);
        
        HRESULT ( STDMETHODCALLTYPE *GetUnusedPlaneName )( 
            IRdMirrorModeler * This,
            /* [in] */ BSTR *pName);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveMirrorPlane )( 
            IRdMirrorModeler * This,
            /* [in] */ BSTR szName);
        
        END_INTERFACE
    } IRdMirrorModelerVtbl;

    interface IRdMirrorModeler
    {
        CONST_VTBL struct IRdMirrorModelerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMirrorModeler_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMirrorModeler_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMirrorModeler_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMirrorModeler_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdMirrorModeler_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdMirrorModeler_GetNumMirrorPlanes(This,dwCnt)	\
    (This)->lpVtbl -> GetNumMirrorPlanes(This,dwCnt)

#define IRdMirrorModeler_GetMirrorPlane(This,dwIdx,pPlane)	\
    (This)->lpVtbl -> GetMirrorPlane(This,dwIdx,pPlane)

#define IRdMirrorModeler_SetMirrorPlane(This,dwIdx,pPlane)	\
    (This)->lpVtbl -> SetMirrorPlane(This,dwIdx,pPlane)

#define IRdMirrorModeler_AddMirrorPlane(This,pPlane)	\
    (This)->lpVtbl -> AddMirrorPlane(This,pPlane)

#define IRdMirrorModeler_GetUnusedPlaneName(This,pName)	\
    (This)->lpVtbl -> GetUnusedPlaneName(This,pName)

#define IRdMirrorModeler_RemoveMirrorPlane(This,szName)	\
    (This)->lpVtbl -> RemoveMirrorPlane(This,szName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRdMirrorModeler_GetNumMirrorPlanes_Proxy( 
    IRdMirrorModeler * This,
    /* [in] */ RtUlong *dwCnt);


void __RPC_STUB IRdMirrorModeler_GetNumMirrorPlanes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdMirrorModeler_GetMirrorPlane_Proxy( 
    IRdMirrorModeler * This,
    /* [in] */ RtUlong dwIdx,
    /* [in] */ struct RtMirrorPlane *pPlane);


void __RPC_STUB IRdMirrorModeler_GetMirrorPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdMirrorModeler_SetMirrorPlane_Proxy( 
    IRdMirrorModeler * This,
    /* [in] */ RtUlong dwIdx,
    /* [in] */ struct RtMirrorPlane *pPlane);


void __RPC_STUB IRdMirrorModeler_SetMirrorPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdMirrorModeler_AddMirrorPlane_Proxy( 
    IRdMirrorModeler * This,
    /* [in] */ struct RtMirrorPlane *pPlane);


void __RPC_STUB IRdMirrorModeler_AddMirrorPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdMirrorModeler_GetUnusedPlaneName_Proxy( 
    IRdMirrorModeler * This,
    /* [in] */ BSTR *pName);


void __RPC_STUB IRdMirrorModeler_GetUnusedPlaneName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRdMirrorModeler_RemoveMirrorPlane_Proxy( 
    IRdMirrorModeler * This,
    /* [in] */ BSTR szName);


void __RPC_STUB IRdMirrorModeler_RemoveMirrorPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdMirrorModeler_INTERFACE_DEFINED__ */


#ifndef __IRnMirrorModeler_INTERFACE_DEFINED__
#define __IRnMirrorModeler_INTERFACE_DEFINED__

/* interface IRnMirrorModeler */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMirrorModeler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E683FDEF-01F5-4c62-A693-62785F60AA8D")
    IRnMirrorModeler : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMirrorModelerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMirrorModeler * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMirrorModeler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMirrorModeler * This);
        
        END_INTERFACE
    } IRnMirrorModelerVtbl;

    interface IRnMirrorModeler
    {
        CONST_VTBL struct IRnMirrorModelerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMirrorModeler_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMirrorModeler_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMirrorModeler_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMirrorModeler_INTERFACE_DEFINED__ */


#ifndef __IRcShowMmSettings_INTERFACE_DEFINED__
#define __IRcShowMmSettings_INTERFACE_DEFINED__

/* interface IRcShowMmSettings */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcShowMmSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("649FDAD4-CD3C-4214-8393-B63791BC92DF")
    IRcShowMmSettings : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcShowMmSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcShowMmSettings * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcShowMmSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcShowMmSettings * This);
        
        END_INTERFACE
    } IRcShowMmSettingsVtbl;

    interface IRcShowMmSettings
    {
        CONST_VTBL struct IRcShowMmSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcShowMmSettings_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcShowMmSettings_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcShowMmSettings_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcShowMmSettings_INTERFACE_DEFINED__ */


#ifndef __IRcRemoveMirrorPlane_INTERFACE_DEFINED__
#define __IRcRemoveMirrorPlane_INTERFACE_DEFINED__

/* interface IRcRemoveMirrorPlane */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRemoveMirrorPlane;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("304974B2-ADF2-4ce6-9D28-59C14921B7BA")
    IRcRemoveMirrorPlane : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcRemoveMirrorPlaneVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcRemoveMirrorPlane * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcRemoveMirrorPlane * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcRemoveMirrorPlane * This);
        
        END_INTERFACE
    } IRcRemoveMirrorPlaneVtbl;

    interface IRcRemoveMirrorPlane
    {
        CONST_VTBL struct IRcRemoveMirrorPlaneVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcRemoveMirrorPlane_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcRemoveMirrorPlane_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcRemoveMirrorPlane_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcRemoveMirrorPlane_INTERFACE_DEFINED__ */


#ifndef __IRcUpdateMmPlane_INTERFACE_DEFINED__
#define __IRcUpdateMmPlane_INTERFACE_DEFINED__

/* interface IRcUpdateMmPlane */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcUpdateMmPlane;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5600A357-C0AF-45a4-8801-3A08ADA7FF91")
    IRcUpdateMmPlane : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcUpdateMmPlaneVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcUpdateMmPlane * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcUpdateMmPlane * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcUpdateMmPlane * This);
        
        END_INTERFACE
    } IRcUpdateMmPlaneVtbl;

    interface IRcUpdateMmPlane
    {
        CONST_VTBL struct IRcUpdateMmPlaneVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcUpdateMmPlane_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcUpdateMmPlane_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcUpdateMmPlane_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcUpdateMmPlane_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__MeshModifiers_2443 */
/* [local] */ 

struct RtSoftBrushSettings
    {
    wchar_t m_name[ 16 ];
    RtFloat m_sharpness;
    RtFloat m_flow;
    RtFloat m_modulation;
    RtFloat m_value1;
    RtUlong m_mode;
    } ;


extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2443_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2443_v0_0_s_ifspec;

#ifndef __IRdSoftbrushSettings_INTERFACE_DEFINED__
#define __IRdSoftbrushSettings_INTERFACE_DEFINED__

/* interface IRdSoftbrushSettings */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdSoftbrushSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0DAC0B0B-F72B-4b19-9EF9-15FC7EE11D32")
    IRdSoftbrushSettings : public IUnknown
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSettings( 
            /* [in] */ BSTR szName,
            /* [retval][out] */ struct RtSoftBrushSettings *pSettings) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetSettings( 
            /* [in] */ struct RtSoftBrushSettings *pSettings) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdSoftbrushSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdSoftbrushSettings * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdSoftbrushSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdSoftbrushSettings * This);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetSettings )( 
            IRdSoftbrushSettings * This,
            /* [in] */ BSTR szName,
            /* [retval][out] */ struct RtSoftBrushSettings *pSettings);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetSettings )( 
            IRdSoftbrushSettings * This,
            /* [in] */ struct RtSoftBrushSettings *pSettings);
        
        END_INTERFACE
    } IRdSoftbrushSettingsVtbl;

    interface IRdSoftbrushSettings
    {
        CONST_VTBL struct IRdSoftbrushSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdSoftbrushSettings_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdSoftbrushSettings_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdSoftbrushSettings_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdSoftbrushSettings_GetSettings(This,szName,pSettings)	\
    (This)->lpVtbl -> GetSettings(This,szName,pSettings)

#define IRdSoftbrushSettings_SetSettings(This,pSettings)	\
    (This)->lpVtbl -> SetSettings(This,pSettings)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSoftbrushSettings_GetSettings_Proxy( 
    IRdSoftbrushSettings * This,
    /* [in] */ BSTR szName,
    /* [retval][out] */ struct RtSoftBrushSettings *pSettings);


void __RPC_STUB IRdSoftbrushSettings_GetSettings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdSoftbrushSettings_SetSettings_Proxy( 
    IRdSoftbrushSettings * This,
    /* [in] */ struct RtSoftBrushSettings *pSettings);


void __RPC_STUB IRdSoftbrushSettings_SetSettings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdSoftbrushSettings_INTERFACE_DEFINED__ */


#ifndef __IRnSoftPaint_INTERFACE_DEFINED__
#define __IRnSoftPaint_INTERFACE_DEFINED__

/* interface IRnSoftPaint */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnSoftPaint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D1B2609E-0959-494d-B982-4C5EAC9CC9C7")
    IRnSoftPaint : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnSoftPaintVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnSoftPaint * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnSoftPaint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnSoftPaint * This);
        
        END_INTERFACE
    } IRnSoftPaintVtbl;

    interface IRnSoftPaint
    {
        CONST_VTBL struct IRnSoftPaintVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnSoftPaint_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnSoftPaint_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnSoftPaint_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnSoftPaint_INTERFACE_DEFINED__ */


#ifndef __IRsBitmapBrushProvider_INTERFACE_DEFINED__
#define __IRsBitmapBrushProvider_INTERFACE_DEFINED__

/* interface IRsBitmapBrushProvider */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBitmapBrushProvider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30B481DA-79DF-4a84-84FD-B7D45A10D380")
    IRsBitmapBrushProvider : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetBitmap( 
            /* [in] */ IRdBitmap *pBitmap) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE LockBuffer( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UnlockBuffer( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBitmapBrushProviderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBitmapBrushProvider * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBitmapBrushProvider * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBitmapBrushProvider * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetBitmap )( 
            IRsBitmapBrushProvider * This,
            /* [in] */ IRdBitmap *pBitmap);
        
        HRESULT ( STDMETHODCALLTYPE *LockBuffer )( 
            IRsBitmapBrushProvider * This);
        
        HRESULT ( STDMETHODCALLTYPE *UnlockBuffer )( 
            IRsBitmapBrushProvider * This);
        
        END_INTERFACE
    } IRsBitmapBrushProviderVtbl;

    interface IRsBitmapBrushProvider
    {
        CONST_VTBL struct IRsBitmapBrushProviderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBitmapBrushProvider_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBitmapBrushProvider_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBitmapBrushProvider_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBitmapBrushProvider_SetBitmap(This,pBitmap)	\
    (This)->lpVtbl -> SetBitmap(This,pBitmap)

#define IRsBitmapBrushProvider_LockBuffer(This)	\
    (This)->lpVtbl -> LockBuffer(This)

#define IRsBitmapBrushProvider_UnlockBuffer(This)	\
    (This)->lpVtbl -> UnlockBuffer(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsBitmapBrushProvider_SetBitmap_Proxy( 
    IRsBitmapBrushProvider * This,
    /* [in] */ IRdBitmap *pBitmap);


void __RPC_STUB IRsBitmapBrushProvider_SetBitmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsBitmapBrushProvider_LockBuffer_Proxy( 
    IRsBitmapBrushProvider * This);


void __RPC_STUB IRsBitmapBrushProvider_LockBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsBitmapBrushProvider_UnlockBuffer_Proxy( 
    IRsBitmapBrushProvider * This);


void __RPC_STUB IRsBitmapBrushProvider_UnlockBuffer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBitmapBrushProvider_INTERFACE_DEFINED__ */


#ifndef __IRsGaussianBrushProvider_INTERFACE_DEFINED__
#define __IRsGaussianBrushProvider_INTERFACE_DEFINED__

/* interface IRsGaussianBrushProvider */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsGaussianBrushProvider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A1B3FCC9-70EA-4ccd-8F37-DA882535CC5C")
    IRsGaussianBrushProvider : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetParams( 
            /* [in] */ RtFloat magnitude,
            /* [in] */ RtFloat sharpness) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsGaussianBrushProviderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsGaussianBrushProvider * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsGaussianBrushProvider * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsGaussianBrushProvider * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetParams )( 
            IRsGaussianBrushProvider * This,
            /* [in] */ RtFloat magnitude,
            /* [in] */ RtFloat sharpness);
        
        END_INTERFACE
    } IRsGaussianBrushProviderVtbl;

    interface IRsGaussianBrushProvider
    {
        CONST_VTBL struct IRsGaussianBrushProviderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsGaussianBrushProvider_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsGaussianBrushProvider_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsGaussianBrushProvider_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsGaussianBrushProvider_SetParams(This,magnitude,sharpness)	\
    (This)->lpVtbl -> SetParams(This,magnitude,sharpness)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsGaussianBrushProvider_SetParams_Proxy( 
    IRsGaussianBrushProvider * This,
    /* [in] */ RtFloat magnitude,
    /* [in] */ RtFloat sharpness);


void __RPC_STUB IRsGaussianBrushProvider_SetParams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsGaussianBrushProvider_INTERFACE_DEFINED__ */


#ifndef __IRsBidirGaussianBrushProvider_INTERFACE_DEFINED__
#define __IRsBidirGaussianBrushProvider_INTERFACE_DEFINED__

/* interface IRsBidirGaussianBrushProvider */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBidirGaussianBrushProvider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("23E72E42-D51B-4b99-9D7D-40A5D1635E8E")
    IRsBidirGaussianBrushProvider : public IRsGaussianBrushProvider
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsBidirGaussianBrushProviderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBidirGaussianBrushProvider * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBidirGaussianBrushProvider * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBidirGaussianBrushProvider * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetParams )( 
            IRsBidirGaussianBrushProvider * This,
            /* [in] */ RtFloat magnitude,
            /* [in] */ RtFloat sharpness);
        
        END_INTERFACE
    } IRsBidirGaussianBrushProviderVtbl;

    interface IRsBidirGaussianBrushProvider
    {
        CONST_VTBL struct IRsBidirGaussianBrushProviderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBidirGaussianBrushProvider_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBidirGaussianBrushProvider_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBidirGaussianBrushProvider_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBidirGaussianBrushProvider_SetParams(This,magnitude,sharpness)	\
    (This)->lpVtbl -> SetParams(This,magnitude,sharpness)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsBidirGaussianBrushProvider_INTERFACE_DEFINED__ */


#ifndef __IRsSkinningCache_INTERFACE_DEFINED__
#define __IRsSkinningCache_INTERFACE_DEFINED__

/* interface IRsSkinningCache */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsSkinningCache;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D646D4E1-DC70-42a7-8133-829721AB329D")
    IRsSkinningCache : public IRsObject
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ RtUlong dwNum,
            /* [in] */ RtFloat *pfData,
            /* [in] */ RtFloat *pfNormalization) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetData( 
            /* [in] */ RtUlong *dwNum,
            /* [in] */ RtFloat **ppfData,
            /* [in] */ RtFloat **ppfNormalization) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Update( 
            /* [in] */ RtFloat *pfData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsSkinningCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsSkinningCache * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsSkinningCache * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsSkinningCache * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRsSkinningCache * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRsSkinningCache * This,
            /* [retval][out] */ BSTR *pVal);
        
        HRESULT ( STDMETHODCALLTYPE *SetData )( 
            IRsSkinningCache * This,
            /* [in] */ RtUlong dwNum,
            /* [in] */ RtFloat *pfData,
            /* [in] */ RtFloat *pfNormalization);
        
        HRESULT ( STDMETHODCALLTYPE *GetData )( 
            IRsSkinningCache * This,
            /* [in] */ RtUlong *dwNum,
            /* [in] */ RtFloat **ppfData,
            /* [in] */ RtFloat **ppfNormalization);
        
        HRESULT ( STDMETHODCALLTYPE *Update )( 
            IRsSkinningCache * This,
            /* [in] */ RtFloat *pfData);
        
        END_INTERFACE
    } IRsSkinningCacheVtbl;

    interface IRsSkinningCache
    {
        CONST_VTBL struct IRsSkinningCacheVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsSkinningCache_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsSkinningCache_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsSkinningCache_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsSkinningCache_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRsSkinningCache_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRsSkinningCache_SetData(This,dwNum,pfData,pfNormalization)	\
    (This)->lpVtbl -> SetData(This,dwNum,pfData,pfNormalization)

#define IRsSkinningCache_GetData(This,dwNum,ppfData,ppfNormalization)	\
    (This)->lpVtbl -> GetData(This,dwNum,ppfData,ppfNormalization)

#define IRsSkinningCache_Update(This,pfData)	\
    (This)->lpVtbl -> Update(This,pfData)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsSkinningCache_SetData_Proxy( 
    IRsSkinningCache * This,
    /* [in] */ RtUlong dwNum,
    /* [in] */ RtFloat *pfData,
    /* [in] */ RtFloat *pfNormalization);


void __RPC_STUB IRsSkinningCache_SetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsSkinningCache_GetData_Proxy( 
    IRsSkinningCache * This,
    /* [in] */ RtUlong *dwNum,
    /* [in] */ RtFloat **ppfData,
    /* [in] */ RtFloat **ppfNormalization);


void __RPC_STUB IRsSkinningCache_GetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsSkinningCache_Update_Proxy( 
    IRsSkinningCache * This,
    /* [in] */ RtFloat *pfData);


void __RPC_STUB IRsSkinningCache_Update_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsSkinningCache_INTERFACE_DEFINED__ */


#ifndef __IRnSkinning_INTERFACE_DEFINED__
#define __IRnSkinning_INTERFACE_DEFINED__

/* interface IRnSkinning */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnSkinning;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5AB3E5AE-8AFF-4186-824D-1B3557660AF2")
    IRnSkinning : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetCacheForBone( 
            /* [in] */ IRsNode *spBoneNode,
            /* [in] */ IRsSkinningCache **ppCache) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSkinWeights( 
            /* [in] */ IRsNode *spBoneNode,
            /* [in] */ IRsSkinningCache **ppCache) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetPreviewMesh( 
            /* [in] */ IRdMesh *spMesh) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ApplySkinning( 
            /* [in] */ IRdMesh *pSrcMesh,
            /* [in] */ IRdMesh **ppSkinnedMesh) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnSkinningVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnSkinning * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnSkinning * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnSkinning * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetCacheForBone )( 
            IRnSkinning * This,
            /* [in] */ IRsNode *spBoneNode,
            /* [in] */ IRsSkinningCache **ppCache);
        
        HRESULT ( STDMETHODCALLTYPE *GetSkinWeights )( 
            IRnSkinning * This,
            /* [in] */ IRsNode *spBoneNode,
            /* [in] */ IRsSkinningCache **ppCache);
        
        HRESULT ( STDMETHODCALLTYPE *SetPreviewMesh )( 
            IRnSkinning * This,
            /* [in] */ IRdMesh *spMesh);
        
        HRESULT ( STDMETHODCALLTYPE *ApplySkinning )( 
            IRnSkinning * This,
            /* [in] */ IRdMesh *pSrcMesh,
            /* [in] */ IRdMesh **ppSkinnedMesh);
        
        END_INTERFACE
    } IRnSkinningVtbl;

    interface IRnSkinning
    {
        CONST_VTBL struct IRnSkinningVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnSkinning_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnSkinning_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnSkinning_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnSkinning_GetCacheForBone(This,spBoneNode,ppCache)	\
    (This)->lpVtbl -> GetCacheForBone(This,spBoneNode,ppCache)

#define IRnSkinning_GetSkinWeights(This,spBoneNode,ppCache)	\
    (This)->lpVtbl -> GetSkinWeights(This,spBoneNode,ppCache)

#define IRnSkinning_SetPreviewMesh(This,spMesh)	\
    (This)->lpVtbl -> SetPreviewMesh(This,spMesh)

#define IRnSkinning_ApplySkinning(This,pSrcMesh,ppSkinnedMesh)	\
    (This)->lpVtbl -> ApplySkinning(This,pSrcMesh,ppSkinnedMesh)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRnSkinning_GetCacheForBone_Proxy( 
    IRnSkinning * This,
    /* [in] */ IRsNode *spBoneNode,
    /* [in] */ IRsSkinningCache **ppCache);


void __RPC_STUB IRnSkinning_GetCacheForBone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnSkinning_GetSkinWeights_Proxy( 
    IRnSkinning * This,
    /* [in] */ IRsNode *spBoneNode,
    /* [in] */ IRsSkinningCache **ppCache);


void __RPC_STUB IRnSkinning_GetSkinWeights_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnSkinning_SetPreviewMesh_Proxy( 
    IRnSkinning * This,
    /* [in] */ IRdMesh *spMesh);


void __RPC_STUB IRnSkinning_SetPreviewMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnSkinning_ApplySkinning_Proxy( 
    IRnSkinning * This,
    /* [in] */ IRdMesh *pSrcMesh,
    /* [in] */ IRdMesh **ppSkinnedMesh);


void __RPC_STUB IRnSkinning_ApplySkinning_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnSkinning_INTERFACE_DEFINED__ */


#ifndef __IRcHealTool_INTERFACE_DEFINED__
#define __IRcHealTool_INTERFACE_DEFINED__

/* interface IRcHealTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcHealTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7A440142-5317-43c5-B5EE-4D53F65E373C")
    IRcHealTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcHealToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcHealTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcHealTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcHealTool * This);
        
        END_INTERFACE
    } IRcHealToolVtbl;

    interface IRcHealTool
    {
        CONST_VTBL struct IRcHealToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcHealTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcHealTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcHealTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcHealTool_INTERFACE_DEFINED__ */


#ifndef __IRcMeshGenerateNormals_INTERFACE_DEFINED__
#define __IRcMeshGenerateNormals_INTERFACE_DEFINED__

/* interface IRcMeshGenerateNormals */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcMeshGenerateNormals;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("936C995D-65FD-4DDE-8D99-19E69E38C056")
    IRcMeshGenerateNormals : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcMeshGenerateNormalsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcMeshGenerateNormals * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcMeshGenerateNormals * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcMeshGenerateNormals * This);
        
        END_INTERFACE
    } IRcMeshGenerateNormalsVtbl;

    interface IRcMeshGenerateNormals
    {
        CONST_VTBL struct IRcMeshGenerateNormalsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcMeshGenerateNormals_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcMeshGenerateNormals_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcMeshGenerateNormals_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcMeshGenerateNormals_INTERFACE_DEFINED__ */


#ifndef __IRcSelectMaterial_INTERFACE_DEFINED__
#define __IRcSelectMaterial_INTERFACE_DEFINED__

/* interface IRcSelectMaterial */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSelectMaterial;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7BFCBE4C-E2C4-46d6-9A2D-4498053527EC")
    IRcSelectMaterial : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSelectMaterialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSelectMaterial * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSelectMaterial * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSelectMaterial * This);
        
        END_INTERFACE
    } IRcSelectMaterialVtbl;

    interface IRcSelectMaterial
    {
        CONST_VTBL struct IRcSelectMaterialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSelectMaterial_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSelectMaterial_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSelectMaterial_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSelectMaterial_INTERFACE_DEFINED__ */


#ifndef __IRcApplyCommandTool_INTERFACE_DEFINED__
#define __IRcApplyCommandTool_INTERFACE_DEFINED__

/* interface IRcApplyCommandTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcApplyCommandTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("038122BD-C8EC-403f-B020-9C80218C1E98")
    IRcApplyCommandTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcApplyCommandToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcApplyCommandTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcApplyCommandTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcApplyCommandTool * This);
        
        END_INTERFACE
    } IRcApplyCommandToolVtbl;

    interface IRcApplyCommandTool
    {
        CONST_VTBL struct IRcApplyCommandToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcApplyCommandTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcApplyCommandTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcApplyCommandTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcApplyCommandTool_INTERFACE_DEFINED__ */


#ifndef __IRcMeshSelectionUndoRedo_INTERFACE_DEFINED__
#define __IRcMeshSelectionUndoRedo_INTERFACE_DEFINED__

/* interface IRcMeshSelectionUndoRedo */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcMeshSelectionUndoRedo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4BEC02E5-BC7D-4856-86C6-73C5175A79A1")
    IRcMeshSelectionUndoRedo : public IUnknown
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveUndoTransformation( 
            /* [in] */ IRsBaseNode *pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveRedoTransformation( 
            /* [in] */ IRsBaseNode *pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RecordUndoState( 
            /* [in] */ IRdWidgetParameters *pParams) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RecordRedoState( 
            /* [in] */ IRdWidgetParameters *pParams) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcMeshSelectionUndoRedoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcMeshSelectionUndoRedo * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcMeshSelectionUndoRedo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcMeshSelectionUndoRedo * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveUndoTransformation )( 
            IRcMeshSelectionUndoRedo * This,
            /* [in] */ IRsBaseNode *pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveRedoTransformation )( 
            IRcMeshSelectionUndoRedo * This,
            /* [in] */ IRsBaseNode *pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RecordUndoState )( 
            IRcMeshSelectionUndoRedo * This,
            /* [in] */ IRdWidgetParameters *pParams);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RecordRedoState )( 
            IRcMeshSelectionUndoRedo * This,
            /* [in] */ IRdWidgetParameters *pParams);
        
        END_INTERFACE
    } IRcMeshSelectionUndoRedoVtbl;

    interface IRcMeshSelectionUndoRedo
    {
        CONST_VTBL struct IRcMeshSelectionUndoRedoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcMeshSelectionUndoRedo_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcMeshSelectionUndoRedo_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcMeshSelectionUndoRedo_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcMeshSelectionUndoRedo_SaveUndoTransformation(This,pNode)	\
    (This)->lpVtbl -> SaveUndoTransformation(This,pNode)

#define IRcMeshSelectionUndoRedo_SaveRedoTransformation(This,pNode)	\
    (This)->lpVtbl -> SaveRedoTransformation(This,pNode)

#define IRcMeshSelectionUndoRedo_RecordUndoState(This,pParams)	\
    (This)->lpVtbl -> RecordUndoState(This,pParams)

#define IRcMeshSelectionUndoRedo_RecordRedoState(This,pParams)	\
    (This)->lpVtbl -> RecordRedoState(This,pParams)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcMeshSelectionUndoRedo_SaveUndoTransformation_Proxy( 
    IRcMeshSelectionUndoRedo * This,
    /* [in] */ IRsBaseNode *pNode);


void __RPC_STUB IRcMeshSelectionUndoRedo_SaveUndoTransformation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcMeshSelectionUndoRedo_SaveRedoTransformation_Proxy( 
    IRcMeshSelectionUndoRedo * This,
    /* [in] */ IRsBaseNode *pNode);


void __RPC_STUB IRcMeshSelectionUndoRedo_SaveRedoTransformation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcMeshSelectionUndoRedo_RecordUndoState_Proxy( 
    IRcMeshSelectionUndoRedo * This,
    /* [in] */ IRdWidgetParameters *pParams);


void __RPC_STUB IRcMeshSelectionUndoRedo_RecordUndoState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcMeshSelectionUndoRedo_RecordRedoState_Proxy( 
    IRcMeshSelectionUndoRedo * This,
    /* [in] */ IRdWidgetParameters *pParams);


void __RPC_STUB IRcMeshSelectionUndoRedo_RecordRedoState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcMeshSelectionUndoRedo_INTERFACE_DEFINED__ */


#ifndef __IRnBasicSelect_INTERFACE_DEFINED__
#define __IRnBasicSelect_INTERFACE_DEFINED__

/* interface IRnBasicSelect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnBasicSelect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AE95745C-4543-493d-99F3-26050D131855")
    IRnBasicSelect : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnBasicSelectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnBasicSelect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnBasicSelect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnBasicSelect * This);
        
        END_INTERFACE
    } IRnBasicSelectVtbl;

    interface IRnBasicSelect
    {
        CONST_VTBL struct IRnBasicSelectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnBasicSelect_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnBasicSelect_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnBasicSelect_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnBasicSelect_INTERFACE_DEFINED__ */


#ifndef __IRnMESettings_INTERFACE_DEFINED__
#define __IRnMESettings_INTERFACE_DEFINED__

/* interface IRnMESettings */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMESettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F9D4661E-121B-4e38-B93A-6711FEFC6E18")
    IRnMESettings : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMESettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMESettings * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMESettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMESettings * This);
        
        END_INTERFACE
    } IRnMESettingsVtbl;

    interface IRnMESettings
    {
        CONST_VTBL struct IRnMESettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMESettings_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMESettings_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMESettings_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMESettings_INTERFACE_DEFINED__ */


#ifndef __IRnLassoSelect_INTERFACE_DEFINED__
#define __IRnLassoSelect_INTERFACE_DEFINED__

/* interface IRnLassoSelect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnLassoSelect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5C893331-C602-41a8-BA94-1C8445E5466E")
    IRnLassoSelect : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnLassoSelectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnLassoSelect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnLassoSelect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnLassoSelect * This);
        
        END_INTERFACE
    } IRnLassoSelectVtbl;

    interface IRnLassoSelect
    {
        CONST_VTBL struct IRnLassoSelectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnLassoSelect_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnLassoSelect_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnLassoSelect_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnLassoSelect_INTERFACE_DEFINED__ */


#ifndef __IRnRectSelect_INTERFACE_DEFINED__
#define __IRnRectSelect_INTERFACE_DEFINED__

/* interface IRnRectSelect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnRectSelect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4ADACDDB-A42B-48D7-8784-6D5D2F1845D4")
    IRnRectSelect : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnRectSelectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnRectSelect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnRectSelect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnRectSelect * This);
        
        END_INTERFACE
    } IRnRectSelectVtbl;

    interface IRnRectSelect
    {
        CONST_VTBL struct IRnRectSelectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnRectSelect_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnRectSelect_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnRectSelect_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnRectSelect_INTERFACE_DEFINED__ */


#ifndef __IRnSoftSelect_INTERFACE_DEFINED__
#define __IRnSoftSelect_INTERFACE_DEFINED__

/* interface IRnSoftSelect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnSoftSelect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B5406E8E-6A40-4cf7-B915-C8A8CC29C01F")
    IRnSoftSelect : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnSoftSelectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnSoftSelect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnSoftSelect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnSoftSelect * This);
        
        END_INTERFACE
    } IRnSoftSelectVtbl;

    interface IRnSoftSelect
    {
        CONST_VTBL struct IRnSoftSelectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnSoftSelect_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnSoftSelect_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnSoftSelect_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnSoftSelect_INTERFACE_DEFINED__ */


#ifndef __IRcFlipEdge_INTERFACE_DEFINED__
#define __IRcFlipEdge_INTERFACE_DEFINED__

/* interface IRcFlipEdge */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcFlipEdge;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("09B80301-7C86-4100-824A-C4148A696F1B")
    IRcFlipEdge : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcFlipEdgeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcFlipEdge * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcFlipEdge * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcFlipEdge * This);
        
        END_INTERFACE
    } IRcFlipEdgeVtbl;

    interface IRcFlipEdge
    {
        CONST_VTBL struct IRcFlipEdgeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcFlipEdge_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcFlipEdge_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcFlipEdge_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcFlipEdge_INTERFACE_DEFINED__ */


#ifndef __IRcOptimizeTriangulation_INTERFACE_DEFINED__
#define __IRcOptimizeTriangulation_INTERFACE_DEFINED__

/* interface IRcOptimizeTriangulation */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcOptimizeTriangulation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4CE2A708-7EF1-4690-ACB5-7BC0493EFB28")
    IRcOptimizeTriangulation : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcOptimizeTriangulationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcOptimizeTriangulation * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcOptimizeTriangulation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcOptimizeTriangulation * This);
        
        END_INTERFACE
    } IRcOptimizeTriangulationVtbl;

    interface IRcOptimizeTriangulation
    {
        CONST_VTBL struct IRcOptimizeTriangulationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcOptimizeTriangulation_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcOptimizeTriangulation_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcOptimizeTriangulation_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcOptimizeTriangulation_INTERFACE_DEFINED__ */


#ifndef __IRcSeparateSelected_INTERFACE_DEFINED__
#define __IRcSeparateSelected_INTERFACE_DEFINED__

/* interface IRcSeparateSelected */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSeparateSelected;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6D90C46D-A984-47fa-8C14-C7ADF45DD882")
    IRcSeparateSelected : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSeparateSelectedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSeparateSelected * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSeparateSelected * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSeparateSelected * This);
        
        END_INTERFACE
    } IRcSeparateSelectedVtbl;

    interface IRcSeparateSelected
    {
        CONST_VTBL struct IRcSeparateSelectedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSeparateSelected_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSeparateSelected_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSeparateSelected_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSeparateSelected_INTERFACE_DEFINED__ */


#ifndef __IRcSelectPath_INTERFACE_DEFINED__
#define __IRcSelectPath_INTERFACE_DEFINED__

/* interface IRcSelectPath */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSelectPath;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7DBD4078-6AC7-48f4-A52D-C4A65CAB0C51")
    IRcSelectPath : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSelectPathVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSelectPath * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSelectPath * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSelectPath * This);
        
        END_INTERFACE
    } IRcSelectPathVtbl;

    interface IRcSelectPath
    {
        CONST_VTBL struct IRcSelectPathVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSelectPath_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSelectPath_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSelectPath_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSelectPath_INTERFACE_DEFINED__ */


#ifndef __IRcCollapseLoop_INTERFACE_DEFINED__
#define __IRcCollapseLoop_INTERFACE_DEFINED__

/* interface IRcCollapseLoop */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCollapseLoop;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E80D376F-7073-4186-88D1-3DA687A13E79")
    IRcCollapseLoop : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCollapseLoopVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCollapseLoop * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCollapseLoop * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCollapseLoop * This);
        
        END_INTERFACE
    } IRcCollapseLoopVtbl;

    interface IRcCollapseLoop
    {
        CONST_VTBL struct IRcCollapseLoopVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcCollapseLoop_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcCollapseLoop_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCollapseLoop_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCollapseLoop_INTERFACE_DEFINED__ */


#ifndef __IRcHideSelected_INTERFACE_DEFINED__
#define __IRcHideSelected_INTERFACE_DEFINED__

/* interface IRcHideSelected */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcHideSelected;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("908A59AA-0921-4e53-82EA-0F427904F48E")
    IRcHideSelected : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcHideSelectedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcHideSelected * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcHideSelected * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcHideSelected * This);
        
        END_INTERFACE
    } IRcHideSelectedVtbl;

    interface IRcHideSelected
    {
        CONST_VTBL struct IRcHideSelectedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcHideSelected_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcHideSelected_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcHideSelected_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcHideSelected_INTERFACE_DEFINED__ */


#ifndef __IRcShowHiddenAll_INTERFACE_DEFINED__
#define __IRcShowHiddenAll_INTERFACE_DEFINED__

/* interface IRcShowHiddenAll */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcShowHiddenAll;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F0D017F0-AE90-43ed-B028-DAE7FE8F641A")
    IRcShowHiddenAll : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcShowHiddenAllVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcShowHiddenAll * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcShowHiddenAll * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcShowHiddenAll * This);
        
        END_INTERFACE
    } IRcShowHiddenAllVtbl;

    interface IRcShowHiddenAll
    {
        CONST_VTBL struct IRcShowHiddenAllVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcShowHiddenAll_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcShowHiddenAll_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcShowHiddenAll_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcShowHiddenAll_INTERFACE_DEFINED__ */


#ifndef __IRcHideUnSelected_INTERFACE_DEFINED__
#define __IRcHideUnSelected_INTERFACE_DEFINED__

/* interface IRcHideUnSelected */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcHideUnSelected;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("70902786-9BA6-4233-975B-342BA6A274E7")
    IRcHideUnSelected : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcHideUnSelectedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcHideUnSelected * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcHideUnSelected * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcHideUnSelected * This);
        
        END_INTERFACE
    } IRcHideUnSelectedVtbl;

    interface IRcHideUnSelected
    {
        CONST_VTBL struct IRcHideUnSelectedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcHideUnSelected_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcHideUnSelected_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcHideUnSelected_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcHideUnSelected_INTERFACE_DEFINED__ */


#ifndef __IRcAddSsLevel_INTERFACE_DEFINED__
#define __IRcAddSsLevel_INTERFACE_DEFINED__

/* interface IRcAddSsLevel */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAddSsLevel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C234E7D7-747F-4DFF-BF3C-9E7E78174C3C")
    IRcAddSsLevel : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAddSsLevelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAddSsLevel * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAddSsLevel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAddSsLevel * This);
        
        END_INTERFACE
    } IRcAddSsLevelVtbl;

    interface IRcAddSsLevel
    {
        CONST_VTBL struct IRcAddSsLevelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcAddSsLevel_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcAddSsLevel_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcAddSsLevel_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAddSsLevel_INTERFACE_DEFINED__ */


#ifndef __IRnRCCSDS_INTERFACE_DEFINED__
#define __IRnRCCSDS_INTERFACE_DEFINED__

/* interface IRnRCCSDS */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnRCCSDS;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CD0B981B-B668-46B1-808A-CAADC9112D4D")
    IRnRCCSDS : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnRCCSDSVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnRCCSDS * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnRCCSDS * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnRCCSDS * This);
        
        END_INTERFACE
    } IRnRCCSDSVtbl;

    interface IRnRCCSDS
    {
        CONST_VTBL struct IRnRCCSDSVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnRCCSDS_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnRCCSDS_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnRCCSDS_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnRCCSDS_INTERFACE_DEFINED__ */


#ifndef __IRcAddSdsEdgeWeight_INTERFACE_DEFINED__
#define __IRcAddSdsEdgeWeight_INTERFACE_DEFINED__

/* interface IRcAddSdsEdgeWeight */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAddSdsEdgeWeight;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5868EF7B-B5E7-4dd3-A164-24EC7E24F579")
    IRcAddSdsEdgeWeight : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAddSdsEdgeWeightVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAddSdsEdgeWeight * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAddSdsEdgeWeight * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAddSdsEdgeWeight * This);
        
        END_INTERFACE
    } IRcAddSdsEdgeWeightVtbl;

    interface IRcAddSdsEdgeWeight
    {
        CONST_VTBL struct IRcAddSdsEdgeWeightVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcAddSdsEdgeWeight_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcAddSdsEdgeWeight_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcAddSdsEdgeWeight_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAddSdsEdgeWeight_INTERFACE_DEFINED__ */


#ifndef __IRnSdsCrease_INTERFACE_DEFINED__
#define __IRnSdsCrease_INTERFACE_DEFINED__

/* interface IRnSdsCrease */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnSdsCrease;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("24B88B0D-FAE9-4147-88E9-3806D09B407D")
    IRnSdsCrease : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnSdsCreaseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnSdsCrease * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnSdsCrease * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnSdsCrease * This);
        
        END_INTERFACE
    } IRnSdsCreaseVtbl;

    interface IRnSdsCrease
    {
        CONST_VTBL struct IRnSdsCreaseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnSdsCrease_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnSdsCrease_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnSdsCrease_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnSdsCrease_INTERFACE_DEFINED__ */


#ifndef __IRcAddSdsVertexWeight_INTERFACE_DEFINED__
#define __IRcAddSdsVertexWeight_INTERFACE_DEFINED__

/* interface IRcAddSdsVertexWeight */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcAddSdsVertexWeight;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9AF41721-4600-412C-A9CD-0DFAE0C60EE3")
    IRcAddSdsVertexWeight : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcAddSdsVertexWeightVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcAddSdsVertexWeight * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcAddSdsVertexWeight * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcAddSdsVertexWeight * This);
        
        END_INTERFACE
    } IRcAddSdsVertexWeightVtbl;

    interface IRcAddSdsVertexWeight
    {
        CONST_VTBL struct IRcAddSdsVertexWeightVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcAddSdsVertexWeight_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcAddSdsVertexWeight_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcAddSdsVertexWeight_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcAddSdsVertexWeight_INTERFACE_DEFINED__ */


#ifndef __IRnSdsVertexWeight_INTERFACE_DEFINED__
#define __IRnSdsVertexWeight_INTERFACE_DEFINED__

/* interface IRnSdsVertexWeight */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnSdsVertexWeight;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4ADAE043-7B41-4f2d-97BD-AFC1FDC98096")
    IRnSdsVertexWeight : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnSdsVertexWeightVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnSdsVertexWeight * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnSdsVertexWeight * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnSdsVertexWeight * This);
        
        END_INTERFACE
    } IRnSdsVertexWeightVtbl;

    interface IRnSdsVertexWeight
    {
        CONST_VTBL struct IRnSdsVertexWeightVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnSdsVertexWeight_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnSdsVertexWeight_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnSdsVertexWeight_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnSdsVertexWeight_INTERFACE_DEFINED__ */


#ifndef __IRcResetSds_INTERFACE_DEFINED__
#define __IRcResetSds_INTERFACE_DEFINED__

/* interface IRcResetSds */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcResetSds;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A38FF6BA-3FCA-4cef-8C89-273D0EFA04A4")
    IRcResetSds : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcResetSdsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcResetSds * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcResetSds * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcResetSds * This);
        
        END_INTERFACE
    } IRcResetSdsVtbl;

    interface IRcResetSds
    {
        CONST_VTBL struct IRcResetSdsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcResetSds_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcResetSds_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcResetSds_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcResetSds_INTERFACE_DEFINED__ */


#ifndef __IRcPeBooleans_INTERFACE_DEFINED__
#define __IRcPeBooleans_INTERFACE_DEFINED__

/* interface IRcPeBooleans */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcPeBooleans;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CF91005F-4C5B-463f-9763-4AE3601D9CE4")
    IRcPeBooleans : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcPeBooleansVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcPeBooleans * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcPeBooleans * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcPeBooleans * This);
        
        END_INTERFACE
    } IRcPeBooleansVtbl;

    interface IRcPeBooleans
    {
        CONST_VTBL struct IRcPeBooleansVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcPeBooleans_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcPeBooleans_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcPeBooleans_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcPeBooleans_INTERFACE_DEFINED__ */


#ifndef __IRnBooleansTool_INTERFACE_DEFINED__
#define __IRnBooleansTool_INTERFACE_DEFINED__

/* interface IRnBooleansTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnBooleansTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("77680124-D046-4e52-A739-D25DFD533148")
    IRnBooleansTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnBooleansToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnBooleansTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnBooleansTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnBooleansTool * This);
        
        END_INTERFACE
    } IRnBooleansToolVtbl;

    interface IRnBooleansTool
    {
        CONST_VTBL struct IRnBooleansToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnBooleansTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnBooleansTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnBooleansTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnBooleansTool_INTERFACE_DEFINED__ */


#ifndef __IRdMaterialLookupTable_INTERFACE_DEFINED__
#define __IRdMaterialLookupTable_INTERFACE_DEFINED__

/* interface IRdMaterialLookupTable */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdMaterialLookupTable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9E397F36-D408-456d-A0AC-C6619E05B12B")
    IRdMaterialLookupTable : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetNodeIndex( 
            /* [in] */ BSTR szNodeName,
            /* [retval][out] */ RtDWORD *pdwIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaterialLookupsCount( 
            /* [in] */ RtUlong dwIndex,
            /* [retval][out] */ RtDWORD *pdwCount) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetMaterialLookup( 
            /* [in] */ RtUlong dwIndex,
            /* [in] */ RtUlong dwLookup,
            /* [out] */ RtDWORD *pdwSrc,
            /* [out] */ RtDWORD *pdwDst) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddNode( 
            /* [in] */ BSTR szNodeName,
            /* [retval][out] */ RtDWORD *pdwIndex) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddMaterialLookup( 
            /* [in] */ RtUlong dwIndex,
            /* [in] */ RtDWORD dwSrc,
            /* [in] */ RtDWORD dwDst) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdMaterialLookupTableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdMaterialLookupTable * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdMaterialLookupTable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdMaterialLookupTable * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdMaterialLookupTable * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdMaterialLookupTable * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetNodeIndex )( 
            IRdMaterialLookupTable * This,
            /* [in] */ BSTR szNodeName,
            /* [retval][out] */ RtDWORD *pdwIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaterialLookupsCount )( 
            IRdMaterialLookupTable * This,
            /* [in] */ RtUlong dwIndex,
            /* [retval][out] */ RtDWORD *pdwCount);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetMaterialLookup )( 
            IRdMaterialLookupTable * This,
            /* [in] */ RtUlong dwIndex,
            /* [in] */ RtUlong dwLookup,
            /* [out] */ RtDWORD *pdwSrc,
            /* [out] */ RtDWORD *pdwDst);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddNode )( 
            IRdMaterialLookupTable * This,
            /* [in] */ BSTR szNodeName,
            /* [retval][out] */ RtDWORD *pdwIndex);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *AddMaterialLookup )( 
            IRdMaterialLookupTable * This,
            /* [in] */ RtUlong dwIndex,
            /* [in] */ RtDWORD dwSrc,
            /* [in] */ RtDWORD dwDst);
        
        END_INTERFACE
    } IRdMaterialLookupTableVtbl;

    interface IRdMaterialLookupTable
    {
        CONST_VTBL struct IRdMaterialLookupTableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdMaterialLookupTable_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdMaterialLookupTable_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdMaterialLookupTable_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdMaterialLookupTable_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdMaterialLookupTable_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdMaterialLookupTable_GetNodeIndex(This,szNodeName,pdwIndex)	\
    (This)->lpVtbl -> GetNodeIndex(This,szNodeName,pdwIndex)

#define IRdMaterialLookupTable_GetMaterialLookupsCount(This,dwIndex,pdwCount)	\
    (This)->lpVtbl -> GetMaterialLookupsCount(This,dwIndex,pdwCount)

#define IRdMaterialLookupTable_GetMaterialLookup(This,dwIndex,dwLookup,pdwSrc,pdwDst)	\
    (This)->lpVtbl -> GetMaterialLookup(This,dwIndex,dwLookup,pdwSrc,pdwDst)

#define IRdMaterialLookupTable_AddNode(This,szNodeName,pdwIndex)	\
    (This)->lpVtbl -> AddNode(This,szNodeName,pdwIndex)

#define IRdMaterialLookupTable_AddMaterialLookup(This,dwIndex,dwSrc,dwDst)	\
    (This)->lpVtbl -> AddMaterialLookup(This,dwIndex,dwSrc,dwDst)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMaterialLookupTable_GetNodeIndex_Proxy( 
    IRdMaterialLookupTable * This,
    /* [in] */ BSTR szNodeName,
    /* [retval][out] */ RtDWORD *pdwIndex);


void __RPC_STUB IRdMaterialLookupTable_GetNodeIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMaterialLookupTable_GetMaterialLookupsCount_Proxy( 
    IRdMaterialLookupTable * This,
    /* [in] */ RtUlong dwIndex,
    /* [retval][out] */ RtDWORD *pdwCount);


void __RPC_STUB IRdMaterialLookupTable_GetMaterialLookupsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMaterialLookupTable_GetMaterialLookup_Proxy( 
    IRdMaterialLookupTable * This,
    /* [in] */ RtUlong dwIndex,
    /* [in] */ RtUlong dwLookup,
    /* [out] */ RtDWORD *pdwSrc,
    /* [out] */ RtDWORD *pdwDst);


void __RPC_STUB IRdMaterialLookupTable_GetMaterialLookup_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMaterialLookupTable_AddNode_Proxy( 
    IRdMaterialLookupTable * This,
    /* [in] */ BSTR szNodeName,
    /* [retval][out] */ RtDWORD *pdwIndex);


void __RPC_STUB IRdMaterialLookupTable_AddNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdMaterialLookupTable_AddMaterialLookup_Proxy( 
    IRdMaterialLookupTable * This,
    /* [in] */ RtUlong dwIndex,
    /* [in] */ RtDWORD dwSrc,
    /* [in] */ RtDWORD dwDst);


void __RPC_STUB IRdMaterialLookupTable_AddMaterialLookup_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdMaterialLookupTable_INTERFACE_DEFINED__ */


#ifndef __IRnCsgOperation_INTERFACE_DEFINED__
#define __IRnCsgOperation_INTERFACE_DEFINED__

/* interface IRnCsgOperation */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnCsgOperation;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DF579C1E-00B2-4f14-8D6A-E28C2D60D3B8")
    IRnCsgOperation : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnCsgOperationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnCsgOperation * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnCsgOperation * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnCsgOperation * This);
        
        END_INTERFACE
    } IRnCsgOperationVtbl;

    interface IRnCsgOperation
    {
        CONST_VTBL struct IRnCsgOperationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnCsgOperation_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnCsgOperation_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnCsgOperation_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnCsgOperation_INTERFACE_DEFINED__ */


#ifndef __IRdVertexSnapping_INTERFACE_DEFINED__
#define __IRdVertexSnapping_INTERFACE_DEFINED__

/* interface IRdVertexSnapping */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdVertexSnapping;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("57ABF018-9634-4761-A44E-FB29C4FBC89A")
    IRdVertexSnapping : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetSnapperNode( 
            /* [in] */ IRsNode *pNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdVertexSnappingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdVertexSnapping * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdVertexSnapping * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdVertexSnapping * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetSnapperNode )( 
            IRdVertexSnapping * This,
            /* [in] */ IRsNode *pNode);
        
        END_INTERFACE
    } IRdVertexSnappingVtbl;

    interface IRdVertexSnapping
    {
        CONST_VTBL struct IRdVertexSnappingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdVertexSnapping_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdVertexSnapping_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdVertexSnapping_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdVertexSnapping_SetSnapperNode(This,pNode)	\
    (This)->lpVtbl -> SetSnapperNode(This,pNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRdVertexSnapping_SetSnapperNode_Proxy( 
    IRdVertexSnapping * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRdVertexSnapping_SetSnapperNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdVertexSnapping_INTERFACE_DEFINED__ */


#ifndef __IRcBoolControlMesh_INTERFACE_DEFINED__
#define __IRcBoolControlMesh_INTERFACE_DEFINED__

/* interface IRcBoolControlMesh */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcBoolControlMesh;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6F442C78-808A-4b87-B138-037F264364D7")
    IRcBoolControlMesh : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcBoolControlMeshVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcBoolControlMesh * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcBoolControlMesh * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcBoolControlMesh * This);
        
        END_INTERFACE
    } IRcBoolControlMeshVtbl;

    interface IRcBoolControlMesh
    {
        CONST_VTBL struct IRcBoolControlMeshVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcBoolControlMesh_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcBoolControlMesh_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcBoolControlMesh_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcBoolControlMesh_INTERFACE_DEFINED__ */


#ifndef __IRcBoolDirectly_INTERFACE_DEFINED__
#define __IRcBoolDirectly_INTERFACE_DEFINED__

/* interface IRcBoolDirectly */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcBoolDirectly;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("936C8B08-9102-4cdb-9F7D-AA5764C2A957")
    IRcBoolDirectly : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcBoolDirectlyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcBoolDirectly * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcBoolDirectly * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcBoolDirectly * This);
        
        END_INTERFACE
    } IRcBoolDirectlyVtbl;

    interface IRcBoolDirectly
    {
        CONST_VTBL struct IRcBoolDirectlyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcBoolDirectly_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcBoolDirectly_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcBoolDirectly_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcBoolDirectly_INTERFACE_DEFINED__ */


#ifndef __IRcBoolWithHistory_INTERFACE_DEFINED__
#define __IRcBoolWithHistory_INTERFACE_DEFINED__

/* interface IRcBoolWithHistory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcBoolWithHistory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5BA34C7E-6DD2-4b8d-9364-A5829EDD8BEE")
    IRcBoolWithHistory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcBoolWithHistoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcBoolWithHistory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcBoolWithHistory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcBoolWithHistory * This);
        
        END_INTERFACE
    } IRcBoolWithHistoryVtbl;

    interface IRcBoolWithHistory
    {
        CONST_VTBL struct IRcBoolWithHistoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcBoolWithHistory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcBoolWithHistory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcBoolWithHistory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcBoolWithHistory_INTERFACE_DEFINED__ */


#ifndef __IRnMeshMerge_INTERFACE_DEFINED__
#define __IRnMeshMerge_INTERFACE_DEFINED__

/* interface IRnMeshMerge */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMeshMerge;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FAE4265E-3756-49ec-B370-4D54154DF457")
    IRnMeshMerge : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMeshMergeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMeshMerge * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMeshMerge * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMeshMerge * This);
        
        END_INTERFACE
    } IRnMeshMergeVtbl;

    interface IRnMeshMerge
    {
        CONST_VTBL struct IRnMeshMergeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMeshMerge_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMeshMerge_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMeshMerge_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMeshMerge_INTERFACE_DEFINED__ */


#ifndef __IRcBooleanAddPrimitive_INTERFACE_DEFINED__
#define __IRcBooleanAddPrimitive_INTERFACE_DEFINED__

/* interface IRcBooleanAddPrimitive */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcBooleanAddPrimitive;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3A5B9929-046A-407c-A6F5-F7D023151020")
    IRcBooleanAddPrimitive : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Do( 
            /* [in] */ BSTR szTemplateName,
            /* [in] */ BSTR szOpName,
            /* [in] */ IRdMatrixf *pMatrix,
            /* [in] */ IRsNode **ppNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcBooleanAddPrimitiveVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcBooleanAddPrimitive * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcBooleanAddPrimitive * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcBooleanAddPrimitive * This);
        
        HRESULT ( STDMETHODCALLTYPE *Do )( 
            IRcBooleanAddPrimitive * This,
            /* [in] */ BSTR szTemplateName,
            /* [in] */ BSTR szOpName,
            /* [in] */ IRdMatrixf *pMatrix,
            /* [in] */ IRsNode **ppNode);
        
        END_INTERFACE
    } IRcBooleanAddPrimitiveVtbl;

    interface IRcBooleanAddPrimitive
    {
        CONST_VTBL struct IRcBooleanAddPrimitiveVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcBooleanAddPrimitive_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcBooleanAddPrimitive_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcBooleanAddPrimitive_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcBooleanAddPrimitive_Do(This,szTemplateName,szOpName,pMatrix,ppNode)	\
    (This)->lpVtbl -> Do(This,szTemplateName,szOpName,pMatrix,ppNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcBooleanAddPrimitive_Do_Proxy( 
    IRcBooleanAddPrimitive * This,
    /* [in] */ BSTR szTemplateName,
    /* [in] */ BSTR szOpName,
    /* [in] */ IRdMatrixf *pMatrix,
    /* [in] */ IRsNode **ppNode);


void __RPC_STUB IRcBooleanAddPrimitive_Do_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcBooleanAddPrimitive_INTERFACE_DEFINED__ */


#ifndef __IRcQuadrify_INTERFACE_DEFINED__
#define __IRcQuadrify_INTERFACE_DEFINED__

/* interface IRcQuadrify */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcQuadrify;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3C2CB50B-42E0-47ef-B9A8-A75E6CBCA9F0")
    IRcQuadrify : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcQuadrifyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcQuadrify * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcQuadrify * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcQuadrify * This);
        
        END_INTERFACE
    } IRcQuadrifyVtbl;

    interface IRcQuadrify
    {
        CONST_VTBL struct IRcQuadrifyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcQuadrify_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcQuadrify_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcQuadrify_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcQuadrify_INTERFACE_DEFINED__ */


#ifndef __IRcDeleteElements_INTERFACE_DEFINED__
#define __IRcDeleteElements_INTERFACE_DEFINED__

/* interface IRcDeleteElements */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDeleteElements;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8982C2F3-3070-40e5-9967-E44CFFD1763E")
    IRcDeleteElements : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcDeleteElementsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDeleteElements * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDeleteElements * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDeleteElements * This);
        
        END_INTERFACE
    } IRcDeleteElementsVtbl;

    interface IRcDeleteElements
    {
        CONST_VTBL struct IRcDeleteElementsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcDeleteElements_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcDeleteElements_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcDeleteElements_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDeleteElements_INTERFACE_DEFINED__ */


#ifndef __IRcFlattenAxes_INTERFACE_DEFINED__
#define __IRcFlattenAxes_INTERFACE_DEFINED__

/* interface IRcFlattenAxes */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcFlattenAxes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("879CB7A0-87D2-4ab7-8C12-79B91ED81C6C")
    IRcFlattenAxes : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcFlattenAxesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcFlattenAxes * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcFlattenAxes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcFlattenAxes * This);
        
        END_INTERFACE
    } IRcFlattenAxesVtbl;

    interface IRcFlattenAxes
    {
        CONST_VTBL struct IRcFlattenAxesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcFlattenAxes_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcFlattenAxes_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcFlattenAxes_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcFlattenAxes_INTERFACE_DEFINED__ */


#ifndef __IRcActivatePointEditWidget_INTERFACE_DEFINED__
#define __IRcActivatePointEditWidget_INTERFACE_DEFINED__

/* interface IRcActivatePointEditWidget */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcActivatePointEditWidget;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B32F2E4D-FD26-4E3D-90D7-5CAD4554667E")
    IRcActivatePointEditWidget : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcActivatePointEditWidgetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcActivatePointEditWidget * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcActivatePointEditWidget * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcActivatePointEditWidget * This);
        
        END_INTERFACE
    } IRcActivatePointEditWidgetVtbl;

    interface IRcActivatePointEditWidget
    {
        CONST_VTBL struct IRcActivatePointEditWidgetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcActivatePointEditWidget_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcActivatePointEditWidget_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcActivatePointEditWidget_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcActivatePointEditWidget_INTERFACE_DEFINED__ */


#ifndef __IRsPeBBoxCache_INTERFACE_DEFINED__
#define __IRsPeBBoxCache_INTERFACE_DEFINED__

/* interface IRsPeBBoxCache */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPeBBoxCache;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D1108DBF-C1CC-4093-B418-4A67BB8DA7FF")
    IRsPeBBoxCache : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetRootNode( 
            /* [in] */ IRsNode *pRootNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Validate( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Query( 
            /* [in] */ RtMatrixf *mTrans,
            /* [in] */ RtBoundingBox *bbox) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryTangent( 
            /* [in] */ RtMatrixf *mTrans,
            /* [in] */ RtBoundingBox *bbox) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryInset( 
            /* [in] */ RtMatrixf *mTrans,
            /* [in] */ RtBoundingBox *bbox) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsSelected( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPeBBoxCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPeBBoxCache * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPeBBoxCache * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPeBBoxCache * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetRootNode )( 
            IRsPeBBoxCache * This,
            /* [in] */ IRsNode *pRootNode);
        
        HRESULT ( STDMETHODCALLTYPE *Validate )( 
            IRsPeBBoxCache * This);
        
        HRESULT ( STDMETHODCALLTYPE *Query )( 
            IRsPeBBoxCache * This,
            /* [in] */ RtMatrixf *mTrans,
            /* [in] */ RtBoundingBox *bbox);
        
        HRESULT ( STDMETHODCALLTYPE *QueryTangent )( 
            IRsPeBBoxCache * This,
            /* [in] */ RtMatrixf *mTrans,
            /* [in] */ RtBoundingBox *bbox);
        
        HRESULT ( STDMETHODCALLTYPE *QueryInset )( 
            IRsPeBBoxCache * This,
            /* [in] */ RtMatrixf *mTrans,
            /* [in] */ RtBoundingBox *bbox);
        
        HRESULT ( STDMETHODCALLTYPE *IsSelected )( 
            IRsPeBBoxCache * This);
        
        END_INTERFACE
    } IRsPeBBoxCacheVtbl;

    interface IRsPeBBoxCache
    {
        CONST_VTBL struct IRsPeBBoxCacheVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPeBBoxCache_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPeBBoxCache_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPeBBoxCache_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPeBBoxCache_SetRootNode(This,pRootNode)	\
    (This)->lpVtbl -> SetRootNode(This,pRootNode)

#define IRsPeBBoxCache_Validate(This)	\
    (This)->lpVtbl -> Validate(This)

#define IRsPeBBoxCache_Query(This,mTrans,bbox)	\
    (This)->lpVtbl -> Query(This,mTrans,bbox)

#define IRsPeBBoxCache_QueryTangent(This,mTrans,bbox)	\
    (This)->lpVtbl -> QueryTangent(This,mTrans,bbox)

#define IRsPeBBoxCache_QueryInset(This,mTrans,bbox)	\
    (This)->lpVtbl -> QueryInset(This,mTrans,bbox)

#define IRsPeBBoxCache_IsSelected(This)	\
    (This)->lpVtbl -> IsSelected(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsPeBBoxCache_SetRootNode_Proxy( 
    IRsPeBBoxCache * This,
    /* [in] */ IRsNode *pRootNode);


void __RPC_STUB IRsPeBBoxCache_SetRootNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeBBoxCache_Validate_Proxy( 
    IRsPeBBoxCache * This);


void __RPC_STUB IRsPeBBoxCache_Validate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeBBoxCache_Query_Proxy( 
    IRsPeBBoxCache * This,
    /* [in] */ RtMatrixf *mTrans,
    /* [in] */ RtBoundingBox *bbox);


void __RPC_STUB IRsPeBBoxCache_Query_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeBBoxCache_QueryTangent_Proxy( 
    IRsPeBBoxCache * This,
    /* [in] */ RtMatrixf *mTrans,
    /* [in] */ RtBoundingBox *bbox);


void __RPC_STUB IRsPeBBoxCache_QueryTangent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeBBoxCache_QueryInset_Proxy( 
    IRsPeBBoxCache * This,
    /* [in] */ RtMatrixf *mTrans,
    /* [in] */ RtBoundingBox *bbox);


void __RPC_STUB IRsPeBBoxCache_QueryInset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeBBoxCache_IsSelected_Proxy( 
    IRsPeBBoxCache * This);


void __RPC_STUB IRsPeBBoxCache_IsSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPeBBoxCache_INTERFACE_DEFINED__ */


#ifndef __IRsPeCoordSysCache_INTERFACE_DEFINED__
#define __IRsPeCoordSysCache_INTERFACE_DEFINED__

/* interface IRsPeCoordSysCache */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPeCoordSysCache;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C9E6BFE2-714F-4159-A43A-7DEACAE9CC31")
    IRsPeCoordSysCache : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Validate( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryLocal( 
            /* [in] */ RtMatrixf *mTrans) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryTangent( 
            /* [in] */ RtMatrixf *mTrans) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryGlobal( 
            /* [in] */ RtMatrixf *mTrans) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryInset( 
            /* [in] */ RtMatrixf *mTrans) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPivotPosition( 
            /* [in] */ RtPoint *pPivotPosition) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetRootNode( 
            /* [in] */ IRsNode *pRootNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE IsSelected( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE UpdateTransform( 
            /* [in] */ RtUlong dwTransformTimestamp,
            /* [in] */ RtUlong dwMeshTimestamp,
            /* [in] */ RtMatrixf *pMatrix,
            /* [in] */ RtBool bUpdateTimestamps) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPeCoordSysCacheVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPeCoordSysCache * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPeCoordSysCache * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPeCoordSysCache * This);
        
        HRESULT ( STDMETHODCALLTYPE *Validate )( 
            IRsPeCoordSysCache * This);
        
        HRESULT ( STDMETHODCALLTYPE *QueryLocal )( 
            IRsPeCoordSysCache * This,
            /* [in] */ RtMatrixf *mTrans);
        
        HRESULT ( STDMETHODCALLTYPE *QueryTangent )( 
            IRsPeCoordSysCache * This,
            /* [in] */ RtMatrixf *mTrans);
        
        HRESULT ( STDMETHODCALLTYPE *QueryGlobal )( 
            IRsPeCoordSysCache * This,
            /* [in] */ RtMatrixf *mTrans);
        
        HRESULT ( STDMETHODCALLTYPE *QueryInset )( 
            IRsPeCoordSysCache * This,
            /* [in] */ RtMatrixf *mTrans);
        
        HRESULT ( STDMETHODCALLTYPE *GetPivotPosition )( 
            IRsPeCoordSysCache * This,
            /* [in] */ RtPoint *pPivotPosition);
        
        HRESULT ( STDMETHODCALLTYPE *SetRootNode )( 
            IRsPeCoordSysCache * This,
            /* [in] */ IRsNode *pRootNode);
        
        HRESULT ( STDMETHODCALLTYPE *IsSelected )( 
            IRsPeCoordSysCache * This);
        
        HRESULT ( STDMETHODCALLTYPE *UpdateTransform )( 
            IRsPeCoordSysCache * This,
            /* [in] */ RtUlong dwTransformTimestamp,
            /* [in] */ RtUlong dwMeshTimestamp,
            /* [in] */ RtMatrixf *pMatrix,
            /* [in] */ RtBool bUpdateTimestamps);
        
        END_INTERFACE
    } IRsPeCoordSysCacheVtbl;

    interface IRsPeCoordSysCache
    {
        CONST_VTBL struct IRsPeCoordSysCacheVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPeCoordSysCache_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPeCoordSysCache_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPeCoordSysCache_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPeCoordSysCache_Validate(This)	\
    (This)->lpVtbl -> Validate(This)

#define IRsPeCoordSysCache_QueryLocal(This,mTrans)	\
    (This)->lpVtbl -> QueryLocal(This,mTrans)

#define IRsPeCoordSysCache_QueryTangent(This,mTrans)	\
    (This)->lpVtbl -> QueryTangent(This,mTrans)

#define IRsPeCoordSysCache_QueryGlobal(This,mTrans)	\
    (This)->lpVtbl -> QueryGlobal(This,mTrans)

#define IRsPeCoordSysCache_QueryInset(This,mTrans)	\
    (This)->lpVtbl -> QueryInset(This,mTrans)

#define IRsPeCoordSysCache_GetPivotPosition(This,pPivotPosition)	\
    (This)->lpVtbl -> GetPivotPosition(This,pPivotPosition)

#define IRsPeCoordSysCache_SetRootNode(This,pRootNode)	\
    (This)->lpVtbl -> SetRootNode(This,pRootNode)

#define IRsPeCoordSysCache_IsSelected(This)	\
    (This)->lpVtbl -> IsSelected(This)

#define IRsPeCoordSysCache_UpdateTransform(This,dwTransformTimestamp,dwMeshTimestamp,pMatrix,bUpdateTimestamps)	\
    (This)->lpVtbl -> UpdateTransform(This,dwTransformTimestamp,dwMeshTimestamp,pMatrix,bUpdateTimestamps)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsPeCoordSysCache_Validate_Proxy( 
    IRsPeCoordSysCache * This);


void __RPC_STUB IRsPeCoordSysCache_Validate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeCoordSysCache_QueryLocal_Proxy( 
    IRsPeCoordSysCache * This,
    /* [in] */ RtMatrixf *mTrans);


void __RPC_STUB IRsPeCoordSysCache_QueryLocal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeCoordSysCache_QueryTangent_Proxy( 
    IRsPeCoordSysCache * This,
    /* [in] */ RtMatrixf *mTrans);


void __RPC_STUB IRsPeCoordSysCache_QueryTangent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeCoordSysCache_QueryGlobal_Proxy( 
    IRsPeCoordSysCache * This,
    /* [in] */ RtMatrixf *mTrans);


void __RPC_STUB IRsPeCoordSysCache_QueryGlobal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeCoordSysCache_QueryInset_Proxy( 
    IRsPeCoordSysCache * This,
    /* [in] */ RtMatrixf *mTrans);


void __RPC_STUB IRsPeCoordSysCache_QueryInset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeCoordSysCache_GetPivotPosition_Proxy( 
    IRsPeCoordSysCache * This,
    /* [in] */ RtPoint *pPivotPosition);


void __RPC_STUB IRsPeCoordSysCache_GetPivotPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeCoordSysCache_SetRootNode_Proxy( 
    IRsPeCoordSysCache * This,
    /* [in] */ IRsNode *pRootNode);


void __RPC_STUB IRsPeCoordSysCache_SetRootNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeCoordSysCache_IsSelected_Proxy( 
    IRsPeCoordSysCache * This);


void __RPC_STUB IRsPeCoordSysCache_IsSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsPeCoordSysCache_UpdateTransform_Proxy( 
    IRsPeCoordSysCache * This,
    /* [in] */ RtUlong dwTransformTimestamp,
    /* [in] */ RtUlong dwMeshTimestamp,
    /* [in] */ RtMatrixf *pMatrix,
    /* [in] */ RtBool bUpdateTimestamps);


void __RPC_STUB IRsPeCoordSysCache_UpdateTransform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPeCoordSysCache_INTERFACE_DEFINED__ */


#ifndef __IRsPeCoordinatesEvaluator_INTERFACE_DEFINED__
#define __IRsPeCoordinatesEvaluator_INTERFACE_DEFINED__

/* interface IRsPeCoordinatesEvaluator */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPeCoordinatesEvaluator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("093A4389-F683-4a8f-AF09-586D8D72CD88")
    IRsPeCoordinatesEvaluator : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE UpdateTransform( 
            /* [in] */ IRsNode *pNode,
            /* [in] */ RtUlong dwTransformTimestamp,
            /* [in] */ RtUlong dwMeshTimestamp,
            /* [in] */ RtMatrixf *pMatrix,
            /* [in] */ RtBool bUpdateTimestamps) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPeCoordinatesEvaluatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPeCoordinatesEvaluator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPeCoordinatesEvaluator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPeCoordinatesEvaluator * This);
        
        HRESULT ( STDMETHODCALLTYPE *UpdateTransform )( 
            IRsPeCoordinatesEvaluator * This,
            /* [in] */ IRsNode *pNode,
            /* [in] */ RtUlong dwTransformTimestamp,
            /* [in] */ RtUlong dwMeshTimestamp,
            /* [in] */ RtMatrixf *pMatrix,
            /* [in] */ RtBool bUpdateTimestamps);
        
        END_INTERFACE
    } IRsPeCoordinatesEvaluatorVtbl;

    interface IRsPeCoordinatesEvaluator
    {
        CONST_VTBL struct IRsPeCoordinatesEvaluatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPeCoordinatesEvaluator_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPeCoordinatesEvaluator_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPeCoordinatesEvaluator_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPeCoordinatesEvaluator_UpdateTransform(This,pNode,dwTransformTimestamp,dwMeshTimestamp,pMatrix,bUpdateTimestamps)	\
    (This)->lpVtbl -> UpdateTransform(This,pNode,dwTransformTimestamp,dwMeshTimestamp,pMatrix,bUpdateTimestamps)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsPeCoordinatesEvaluator_UpdateTransform_Proxy( 
    IRsPeCoordinatesEvaluator * This,
    /* [in] */ IRsNode *pNode,
    /* [in] */ RtUlong dwTransformTimestamp,
    /* [in] */ RtUlong dwMeshTimestamp,
    /* [in] */ RtMatrixf *pMatrix,
    /* [in] */ RtBool bUpdateTimestamps);


void __RPC_STUB IRsPeCoordinatesEvaluator_UpdateTransform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPeCoordinatesEvaluator_INTERFACE_DEFINED__ */


#ifndef __IRnMeshEditor_INTERFACE_DEFINED__
#define __IRnMeshEditor_INTERFACE_DEFINED__

/* interface IRnMeshEditor */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMeshEditor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F702849C-5C42-46B8-B6A8-3B934CA6B741")
    IRnMeshEditor : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Hook( 
            /* [in] */ BSTR szSelection) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Unhook( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnMeshEditorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMeshEditor * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMeshEditor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMeshEditor * This);
        
        HRESULT ( STDMETHODCALLTYPE *Hook )( 
            IRnMeshEditor * This,
            /* [in] */ BSTR szSelection);
        
        HRESULT ( STDMETHODCALLTYPE *Unhook )( 
            IRnMeshEditor * This);
        
        END_INTERFACE
    } IRnMeshEditorVtbl;

    interface IRnMeshEditor
    {
        CONST_VTBL struct IRnMeshEditorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMeshEditor_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMeshEditor_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMeshEditor_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnMeshEditor_Hook(This,szSelection)	\
    (This)->lpVtbl -> Hook(This,szSelection)

#define IRnMeshEditor_Unhook(This)	\
    (This)->lpVtbl -> Unhook(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRnMeshEditor_Hook_Proxy( 
    IRnMeshEditor * This,
    /* [in] */ BSTR szSelection);


void __RPC_STUB IRnMeshEditor_Hook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnMeshEditor_Unhook_Proxy( 
    IRnMeshEditor * This);


void __RPC_STUB IRnMeshEditor_Unhook_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnMeshEditor_INTERFACE_DEFINED__ */


#ifndef __IRcEnterMeshedit_INTERFACE_DEFINED__
#define __IRcEnterMeshedit_INTERFACE_DEFINED__

/* interface IRcEnterMeshedit */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcEnterMeshedit;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BAFEFEF3-85F1-4EEB-A482-66E7228791DA")
    IRcEnterMeshedit : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetSelection( 
            /* [in] */ BSTR szSelection) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetMeshEditor( 
            /* [in] */ IRnMeshEditor *pMe) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcEnterMesheditVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcEnterMeshedit * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcEnterMeshedit * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcEnterMeshedit * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
            IRcEnterMeshedit * This,
            /* [in] */ BSTR szSelection);
        
        HRESULT ( STDMETHODCALLTYPE *SetMeshEditor )( 
            IRcEnterMeshedit * This,
            /* [in] */ IRnMeshEditor *pMe);
        
        END_INTERFACE
    } IRcEnterMesheditVtbl;

    interface IRcEnterMeshedit
    {
        CONST_VTBL struct IRcEnterMesheditVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcEnterMeshedit_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcEnterMeshedit_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcEnterMeshedit_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcEnterMeshedit_SetSelection(This,szSelection)	\
    (This)->lpVtbl -> SetSelection(This,szSelection)

#define IRcEnterMeshedit_SetMeshEditor(This,pMe)	\
    (This)->lpVtbl -> SetMeshEditor(This,pMe)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcEnterMeshedit_SetSelection_Proxy( 
    IRcEnterMeshedit * This,
    /* [in] */ BSTR szSelection);


void __RPC_STUB IRcEnterMeshedit_SetSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcEnterMeshedit_SetMeshEditor_Proxy( 
    IRcEnterMeshedit * This,
    /* [in] */ IRnMeshEditor *pMe);


void __RPC_STUB IRcEnterMeshedit_SetMeshEditor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcEnterMeshedit_INTERFACE_DEFINED__ */


#ifndef __IRcLeaveMeshedit_INTERFACE_DEFINED__
#define __IRcLeaveMeshedit_INTERFACE_DEFINED__

/* interface IRcLeaveMeshedit */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcLeaveMeshedit;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F9913D46-6879-471F-ADB9-41F0940A4734")
    IRcLeaveMeshedit : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetSelection( 
            /* [in] */ BSTR szSelection) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetMeshEditor( 
            /* [in] */ IRnMeshEditor *pMe) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcLeaveMesheditVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcLeaveMeshedit * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcLeaveMeshedit * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcLeaveMeshedit * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
            IRcLeaveMeshedit * This,
            /* [in] */ BSTR szSelection);
        
        HRESULT ( STDMETHODCALLTYPE *SetMeshEditor )( 
            IRcLeaveMeshedit * This,
            /* [in] */ IRnMeshEditor *pMe);
        
        END_INTERFACE
    } IRcLeaveMesheditVtbl;

    interface IRcLeaveMeshedit
    {
        CONST_VTBL struct IRcLeaveMesheditVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcLeaveMeshedit_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcLeaveMeshedit_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcLeaveMeshedit_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcLeaveMeshedit_SetSelection(This,szSelection)	\
    (This)->lpVtbl -> SetSelection(This,szSelection)

#define IRcLeaveMeshedit_SetMeshEditor(This,pMe)	\
    (This)->lpVtbl -> SetMeshEditor(This,pMe)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcLeaveMeshedit_SetSelection_Proxy( 
    IRcLeaveMeshedit * This,
    /* [in] */ BSTR szSelection);


void __RPC_STUB IRcLeaveMeshedit_SetSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcLeaveMeshedit_SetMeshEditor_Proxy( 
    IRcLeaveMeshedit * This,
    /* [in] */ IRnMeshEditor *pMe);


void __RPC_STUB IRcLeaveMeshedit_SetMeshEditor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcLeaveMeshedit_INTERFACE_DEFINED__ */


#ifndef __IRcMEShowSettings_INTERFACE_DEFINED__
#define __IRcMEShowSettings_INTERFACE_DEFINED__

/* interface IRcMEShowSettings */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcMEShowSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("735C5B2B-D4F0-4999-956C-9293532CFB13")
    IRcMEShowSettings : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcMEShowSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcMEShowSettings * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcMEShowSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcMEShowSettings * This);
        
        END_INTERFACE
    } IRcMEShowSettingsVtbl;

    interface IRcMEShowSettings
    {
        CONST_VTBL struct IRcMEShowSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcMEShowSettings_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcMEShowSettings_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcMEShowSettings_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcMEShowSettings_INTERFACE_DEFINED__ */


#ifndef __IRsPeTransformManager_INTERFACE_DEFINED__
#define __IRsPeTransformManager_INTERFACE_DEFINED__

/* interface IRsPeTransformManager */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsPeTransformManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0B91E5E2-9A55-4d2e-A81D-370D4297538E")
    IRsPeTransformManager : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetCoordinatesEvaluator( 
            /* [in] */ IRsPeCoordinatesEvaluator *pEval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsPeTransformManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsPeTransformManager * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsPeTransformManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsPeTransformManager * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetCoordinatesEvaluator )( 
            IRsPeTransformManager * This,
            /* [in] */ IRsPeCoordinatesEvaluator *pEval);
        
        END_INTERFACE
    } IRsPeTransformManagerVtbl;

    interface IRsPeTransformManager
    {
        CONST_VTBL struct IRsPeTransformManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsPeTransformManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsPeTransformManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsPeTransformManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsPeTransformManager_SetCoordinatesEvaluator(This,pEval)	\
    (This)->lpVtbl -> SetCoordinatesEvaluator(This,pEval)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsPeTransformManager_SetCoordinatesEvaluator_Proxy( 
    IRsPeTransformManager * This,
    /* [in] */ IRsPeCoordinatesEvaluator *pEval);


void __RPC_STUB IRsPeTransformManager_SetCoordinatesEvaluator_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsPeTransformManager_INTERFACE_DEFINED__ */


#ifndef __IRcPeTransformUndoRedo_INTERFACE_DEFINED__
#define __IRcPeTransformUndoRedo_INTERFACE_DEFINED__

/* interface IRcPeTransformUndoRedo */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcPeTransformUndoRedo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4E3964E7-ACBA-4a9c-AA60-10F6C45C3200")
    IRcPeTransformUndoRedo : public IUnknown
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveUndoTransformation( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveRedoTransformation( 
            /* [in] */ IRsNode *pNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcPeTransformUndoRedoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcPeTransformUndoRedo * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcPeTransformUndoRedo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcPeTransformUndoRedo * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveUndoTransformation )( 
            IRcPeTransformUndoRedo * This,
            /* [in] */ IRsNode *pNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveRedoTransformation )( 
            IRcPeTransformUndoRedo * This,
            /* [in] */ IRsNode *pNode);
        
        END_INTERFACE
    } IRcPeTransformUndoRedoVtbl;

    interface IRcPeTransformUndoRedo
    {
        CONST_VTBL struct IRcPeTransformUndoRedoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcPeTransformUndoRedo_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcPeTransformUndoRedo_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcPeTransformUndoRedo_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcPeTransformUndoRedo_SaveUndoTransformation(This,pNode)	\
    (This)->lpVtbl -> SaveUndoTransformation(This,pNode)

#define IRcPeTransformUndoRedo_SaveRedoTransformation(This,pNode)	\
    (This)->lpVtbl -> SaveRedoTransformation(This,pNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcPeTransformUndoRedo_SaveUndoTransformation_Proxy( 
    IRcPeTransformUndoRedo * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRcPeTransformUndoRedo_SaveUndoTransformation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRcPeTransformUndoRedo_SaveRedoTransformation_Proxy( 
    IRcPeTransformUndoRedo * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRcPeTransformUndoRedo_SaveRedoTransformation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcPeTransformUndoRedo_INTERFACE_DEFINED__ */


#ifndef __IRnMeshSelectionCs_INTERFACE_DEFINED__
#define __IRnMeshSelectionCs_INTERFACE_DEFINED__

/* interface IRnMeshSelectionCs */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMeshSelectionCs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("61674824-D949-4006-9CFB-7571E4AF879C")
    IRnMeshSelectionCs : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMeshSelectionCsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMeshSelectionCs * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMeshSelectionCs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMeshSelectionCs * This);
        
        END_INTERFACE
    } IRnMeshSelectionCsVtbl;

    interface IRnMeshSelectionCs
    {
        CONST_VTBL struct IRnMeshSelectionCsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMeshSelectionCs_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMeshSelectionCs_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMeshSelectionCs_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMeshSelectionCs_INTERFACE_DEFINED__ */


#ifndef __IRcDebugMesh_INTERFACE_DEFINED__
#define __IRcDebugMesh_INTERFACE_DEFINED__

/* interface IRcDebugMesh */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDebugMesh;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C3A016D8-F1CB-46b2-8399-A286AB90C79A")
    IRcDebugMesh : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcDebugMeshVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDebugMesh * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDebugMesh * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDebugMesh * This);
        
        END_INTERFACE
    } IRcDebugMeshVtbl;

    interface IRcDebugMesh
    {
        CONST_VTBL struct IRcDebugMeshVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcDebugMesh_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcDebugMesh_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcDebugMesh_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcDebugMesh_INTERFACE_DEFINED__ */


#ifndef __IRcApplySelectiveMapping_INTERFACE_DEFINED__
#define __IRcApplySelectiveMapping_INTERFACE_DEFINED__

/* interface IRcApplySelectiveMapping */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcApplySelectiveMapping;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2F3E213B-5E7D-4acf-B476-D82FD97B4BBE")
    IRcApplySelectiveMapping : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetSelection( 
            /* [in] */ RtUlong cnt,
            /* [in] */ IRsNode **nodes) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcApplySelectiveMappingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcApplySelectiveMapping * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcApplySelectiveMapping * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcApplySelectiveMapping * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
            IRcApplySelectiveMapping * This,
            /* [in] */ RtUlong cnt,
            /* [in] */ IRsNode **nodes);
        
        END_INTERFACE
    } IRcApplySelectiveMappingVtbl;

    interface IRcApplySelectiveMapping
    {
        CONST_VTBL struct IRcApplySelectiveMappingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcApplySelectiveMapping_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcApplySelectiveMapping_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcApplySelectiveMapping_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcApplySelectiveMapping_SetSelection(This,cnt,nodes)	\
    (This)->lpVtbl -> SetSelection(This,cnt,nodes)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcApplySelectiveMapping_SetSelection_Proxy( 
    IRcApplySelectiveMapping * This,
    /* [in] */ RtUlong cnt,
    /* [in] */ IRsNode **nodes);


void __RPC_STUB IRcApplySelectiveMapping_SetSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcApplySelectiveMapping_INTERFACE_DEFINED__ */


#ifndef __IRnUVMapper_INTERFACE_DEFINED__
#define __IRnUVMapper_INTERFACE_DEFINED__

/* interface IRnUVMapper */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnUVMapper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("29E981D7-7067-4a74-9D83-000962B93144")
    IRnUVMapper : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetPEBehavior( 
            /* [in] */ RtBool peBehavior) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPEBehavior( 
            /* [in] */ RtBool *peBehavior) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ForceInitialTransform( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnUVMapperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnUVMapper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnUVMapper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnUVMapper * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetPEBehavior )( 
            IRnUVMapper * This,
            /* [in] */ RtBool peBehavior);
        
        HRESULT ( STDMETHODCALLTYPE *GetPEBehavior )( 
            IRnUVMapper * This,
            /* [in] */ RtBool *peBehavior);
        
        HRESULT ( STDMETHODCALLTYPE *ForceInitialTransform )( 
            IRnUVMapper * This);
        
        END_INTERFACE
    } IRnUVMapperVtbl;

    interface IRnUVMapper
    {
        CONST_VTBL struct IRnUVMapperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnUVMapper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnUVMapper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnUVMapper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnUVMapper_SetPEBehavior(This,peBehavior)	\
    (This)->lpVtbl -> SetPEBehavior(This,peBehavior)

#define IRnUVMapper_GetPEBehavior(This,peBehavior)	\
    (This)->lpVtbl -> GetPEBehavior(This,peBehavior)

#define IRnUVMapper_ForceInitialTransform(This)	\
    (This)->lpVtbl -> ForceInitialTransform(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRnUVMapper_SetPEBehavior_Proxy( 
    IRnUVMapper * This,
    /* [in] */ RtBool peBehavior);


void __RPC_STUB IRnUVMapper_SetPEBehavior_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnUVMapper_GetPEBehavior_Proxy( 
    IRnUVMapper * This,
    /* [in] */ RtBool *peBehavior);


void __RPC_STUB IRnUVMapper_GetPEBehavior_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnUVMapper_ForceInitialTransform_Proxy( 
    IRnUVMapper * This);


void __RPC_STUB IRnUVMapper_ForceInitialTransform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnUVMapper_INTERFACE_DEFINED__ */


#ifndef __IRcDisplacementMapping_INTERFACE_DEFINED__
#define __IRcDisplacementMapping_INTERFACE_DEFINED__

/* interface IRcDisplacementMapping */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDisplacementMapping;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3BB50684-2867-4d61-824E-75B651BFAFB6")
    IRcDisplacementMapping : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetLogUndo( 
            /* [in] */ RtBool log_undo) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcDisplacementMappingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDisplacementMapping * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDisplacementMapping * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDisplacementMapping * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetLogUndo )( 
            IRcDisplacementMapping * This,
            /* [in] */ RtBool log_undo);
        
        END_INTERFACE
    } IRcDisplacementMappingVtbl;

    interface IRcDisplacementMapping
    {
        CONST_VTBL struct IRcDisplacementMappingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcDisplacementMapping_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcDisplacementMapping_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcDisplacementMapping_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcDisplacementMapping_SetLogUndo(This,log_undo)	\
    (This)->lpVtbl -> SetLogUndo(This,log_undo)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcDisplacementMapping_SetLogUndo_Proxy( 
    IRcDisplacementMapping * This,
    /* [in] */ RtBool log_undo);


void __RPC_STUB IRcDisplacementMapping_SetLogUndo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcDisplacementMapping_INTERFACE_DEFINED__ */


#ifndef __IRnDisplacementMapper_INTERFACE_DEFINED__
#define __IRnDisplacementMapper_INTERFACE_DEFINED__

/* interface IRnDisplacementMapper */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnDisplacementMapper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DADFBC18-03AD-4cd1-91A8-8111FBEF499B")
    IRnDisplacementMapper : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetPEMode( 
            /* [in] */ RtBool pe_mode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetPEMode( 
            /* [out] */ RtBool *pe_mode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddSelection( 
            /* [in] */ IRdMeshSelection *pSelection) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetSelection( 
            /* [retval][out] */ IRdMeshSelection **ppSelection) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSelection( 
            /* [in] */ IRdMeshSelection *pSelection) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetTimestamps( 
            /* [in] */ const RtDWORD *timestamps,
            /* [in] */ RtDWORD count) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetOriginalIndex( 
            /* [in] */ RtDWORD index,
            /* [retval][out] */ RtDWORD *pOriginalIndex) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnDisplacementMapperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnDisplacementMapper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnDisplacementMapper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnDisplacementMapper * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetPEMode )( 
            IRnDisplacementMapper * This,
            /* [in] */ RtBool pe_mode);
        
        HRESULT ( STDMETHODCALLTYPE *GetPEMode )( 
            IRnDisplacementMapper * This,
            /* [out] */ RtBool *pe_mode);
        
        HRESULT ( STDMETHODCALLTYPE *AddSelection )( 
            IRnDisplacementMapper * This,
            /* [in] */ IRdMeshSelection *pSelection);
        
        HRESULT ( STDMETHODCALLTYPE *GetSelection )( 
            IRnDisplacementMapper * This,
            /* [retval][out] */ IRdMeshSelection **ppSelection);
        
        HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
            IRnDisplacementMapper * This,
            /* [in] */ IRdMeshSelection *pSelection);
        
        HRESULT ( STDMETHODCALLTYPE *SetTimestamps )( 
            IRnDisplacementMapper * This,
            /* [in] */ const RtDWORD *timestamps,
            /* [in] */ RtDWORD count);
        
        HRESULT ( STDMETHODCALLTYPE *GetOriginalIndex )( 
            IRnDisplacementMapper * This,
            /* [in] */ RtDWORD index,
            /* [retval][out] */ RtDWORD *pOriginalIndex);
        
        END_INTERFACE
    } IRnDisplacementMapperVtbl;

    interface IRnDisplacementMapper
    {
        CONST_VTBL struct IRnDisplacementMapperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnDisplacementMapper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnDisplacementMapper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnDisplacementMapper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnDisplacementMapper_SetPEMode(This,pe_mode)	\
    (This)->lpVtbl -> SetPEMode(This,pe_mode)

#define IRnDisplacementMapper_GetPEMode(This,pe_mode)	\
    (This)->lpVtbl -> GetPEMode(This,pe_mode)

#define IRnDisplacementMapper_AddSelection(This,pSelection)	\
    (This)->lpVtbl -> AddSelection(This,pSelection)

#define IRnDisplacementMapper_GetSelection(This,ppSelection)	\
    (This)->lpVtbl -> GetSelection(This,ppSelection)

#define IRnDisplacementMapper_SetSelection(This,pSelection)	\
    (This)->lpVtbl -> SetSelection(This,pSelection)

#define IRnDisplacementMapper_SetTimestamps(This,timestamps,count)	\
    (This)->lpVtbl -> SetTimestamps(This,timestamps,count)

#define IRnDisplacementMapper_GetOriginalIndex(This,index,pOriginalIndex)	\
    (This)->lpVtbl -> GetOriginalIndex(This,index,pOriginalIndex)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRnDisplacementMapper_SetPEMode_Proxy( 
    IRnDisplacementMapper * This,
    /* [in] */ RtBool pe_mode);


void __RPC_STUB IRnDisplacementMapper_SetPEMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnDisplacementMapper_GetPEMode_Proxy( 
    IRnDisplacementMapper * This,
    /* [out] */ RtBool *pe_mode);


void __RPC_STUB IRnDisplacementMapper_GetPEMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnDisplacementMapper_AddSelection_Proxy( 
    IRnDisplacementMapper * This,
    /* [in] */ IRdMeshSelection *pSelection);


void __RPC_STUB IRnDisplacementMapper_AddSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnDisplacementMapper_GetSelection_Proxy( 
    IRnDisplacementMapper * This,
    /* [retval][out] */ IRdMeshSelection **ppSelection);


void __RPC_STUB IRnDisplacementMapper_GetSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnDisplacementMapper_SetSelection_Proxy( 
    IRnDisplacementMapper * This,
    /* [in] */ IRdMeshSelection *pSelection);


void __RPC_STUB IRnDisplacementMapper_SetSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnDisplacementMapper_SetTimestamps_Proxy( 
    IRnDisplacementMapper * This,
    /* [in] */ const RtDWORD *timestamps,
    /* [in] */ RtDWORD count);


void __RPC_STUB IRnDisplacementMapper_SetTimestamps_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnDisplacementMapper_GetOriginalIndex_Proxy( 
    IRnDisplacementMapper * This,
    /* [in] */ RtDWORD index,
    /* [retval][out] */ RtDWORD *pOriginalIndex);


void __RPC_STUB IRnDisplacementMapper_GetOriginalIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnDisplacementMapper_INTERFACE_DEFINED__ */


#ifndef __IRcDMBrushStroke_INTERFACE_DEFINED__
#define __IRcDMBrushStroke_INTERFACE_DEFINED__

/* interface IRcDMBrushStroke */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcDMBrushStroke;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9935B819-7000-462C-8680-B3C6C4C57106")
    IRcDMBrushStroke : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddStrokePoint( 
            /* [in] */ RtDWORD triangle,
            /* [in] */ const RtVector3f *baryc,
            /* [in] */ RtFloat brush_size,
            /* [in] */ RtMatrixf *world_matrix,
            /* [in] */ RtMatrixf *brush_matrix) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetTargetObject( 
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetBrushProvider( 
            /* [in] */ IRsUnknownBrushProvider *pBrushProvider) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetMagnitudeMultiplier( 
            /* [in] */ RtFloat multiplier) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcDMBrushStrokeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcDMBrushStroke * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcDMBrushStroke * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcDMBrushStroke * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddStrokePoint )( 
            IRcDMBrushStroke * This,
            /* [in] */ RtDWORD triangle,
            /* [in] */ const RtVector3f *baryc,
            /* [in] */ RtFloat brush_size,
            /* [in] */ RtMatrixf *world_matrix,
            /* [in] */ RtMatrixf *brush_matrix);
        
        HRESULT ( STDMETHODCALLTYPE *SetTargetObject )( 
            IRcDMBrushStroke * This,
            /* [in] */ IRsNode *pNode);
        
        HRESULT ( STDMETHODCALLTYPE *SetBrushProvider )( 
            IRcDMBrushStroke * This,
            /* [in] */ IRsUnknownBrushProvider *pBrushProvider);
        
        HRESULT ( STDMETHODCALLTYPE *SetMagnitudeMultiplier )( 
            IRcDMBrushStroke * This,
            /* [in] */ RtFloat multiplier);
        
        END_INTERFACE
    } IRcDMBrushStrokeVtbl;

    interface IRcDMBrushStroke
    {
        CONST_VTBL struct IRcDMBrushStrokeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcDMBrushStroke_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcDMBrushStroke_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcDMBrushStroke_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcDMBrushStroke_AddStrokePoint(This,triangle,baryc,brush_size,world_matrix,brush_matrix)	\
    (This)->lpVtbl -> AddStrokePoint(This,triangle,baryc,brush_size,world_matrix,brush_matrix)

#define IRcDMBrushStroke_SetTargetObject(This,pNode)	\
    (This)->lpVtbl -> SetTargetObject(This,pNode)

#define IRcDMBrushStroke_SetBrushProvider(This,pBrushProvider)	\
    (This)->lpVtbl -> SetBrushProvider(This,pBrushProvider)

#define IRcDMBrushStroke_SetMagnitudeMultiplier(This,multiplier)	\
    (This)->lpVtbl -> SetMagnitudeMultiplier(This,multiplier)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcDMBrushStroke_AddStrokePoint_Proxy( 
    IRcDMBrushStroke * This,
    /* [in] */ RtDWORD triangle,
    /* [in] */ const RtVector3f *baryc,
    /* [in] */ RtFloat brush_size,
    /* [in] */ RtMatrixf *world_matrix,
    /* [in] */ RtMatrixf *brush_matrix);


void __RPC_STUB IRcDMBrushStroke_AddStrokePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcDMBrushStroke_SetTargetObject_Proxy( 
    IRcDMBrushStroke * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRcDMBrushStroke_SetTargetObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcDMBrushStroke_SetBrushProvider_Proxy( 
    IRcDMBrushStroke * This,
    /* [in] */ IRsUnknownBrushProvider *pBrushProvider);


void __RPC_STUB IRcDMBrushStroke_SetBrushProvider_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcDMBrushStroke_SetMagnitudeMultiplier_Proxy( 
    IRcDMBrushStroke * This,
    /* [in] */ RtFloat multiplier);


void __RPC_STUB IRcDMBrushStroke_SetMagnitudeMultiplier_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcDMBrushStroke_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__MeshModifiers_2505 */
/* [local] */ 

struct RtDMStrokeTriangle
    {
    RtDWORD triangle_index;
    RtUVcoord brush_uv1;
    RtUVcoord brush_uv2;
    RtUVcoord brush_uv3;
    } ;


extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2505_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2505_v0_0_s_ifspec;

#ifndef __IRcEnableDisplacementBrush_INTERFACE_DEFINED__
#define __IRcEnableDisplacementBrush_INTERFACE_DEFINED__

/* interface IRcEnableDisplacementBrush */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcEnableDisplacementBrush;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0CBF868F-1EB2-4755-A6DC-2AB3333B5E10")
    IRcEnableDisplacementBrush : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcEnableDisplacementBrushVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcEnableDisplacementBrush * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcEnableDisplacementBrush * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcEnableDisplacementBrush * This);
        
        END_INTERFACE
    } IRcEnableDisplacementBrushVtbl;

    interface IRcEnableDisplacementBrush
    {
        CONST_VTBL struct IRcEnableDisplacementBrushVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcEnableDisplacementBrush_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcEnableDisplacementBrush_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcEnableDisplacementBrush_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcEnableDisplacementBrush_INTERFACE_DEFINED__ */


#ifndef __IRnDisplacementMappingBrush_INTERFACE_DEFINED__
#define __IRnDisplacementMappingBrush_INTERFACE_DEFINED__

/* interface IRnDisplacementMappingBrush */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnDisplacementMappingBrush;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("68536A57-16F7-41CA-9659-87578120A84B")
    IRnDisplacementMappingBrush : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnDisplacementMappingBrushVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnDisplacementMappingBrush * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnDisplacementMappingBrush * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnDisplacementMappingBrush * This);
        
        END_INTERFACE
    } IRnDisplacementMappingBrushVtbl;

    interface IRnDisplacementMappingBrush
    {
        CONST_VTBL struct IRnDisplacementMappingBrushVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnDisplacementMappingBrush_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnDisplacementMappingBrush_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnDisplacementMappingBrush_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnDisplacementMappingBrush_INTERFACE_DEFINED__ */


#ifndef __IRcEndDisplacementMapping_INTERFACE_DEFINED__
#define __IRcEndDisplacementMapping_INTERFACE_DEFINED__

/* interface IRcEndDisplacementMapping */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcEndDisplacementMapping;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("424D71EF-0616-4245-AC14-1CE8F9A62A18")
    IRcEndDisplacementMapping : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcEndDisplacementMappingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcEndDisplacementMapping * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcEndDisplacementMapping * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcEndDisplacementMapping * This);
        
        END_INTERFACE
    } IRcEndDisplacementMappingVtbl;

    interface IRcEndDisplacementMapping
    {
        CONST_VTBL struct IRcEndDisplacementMappingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcEndDisplacementMapping_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcEndDisplacementMapping_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcEndDisplacementMapping_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcEndDisplacementMapping_INTERFACE_DEFINED__ */


#ifndef __IRcShrinkWrapMapping_INTERFACE_DEFINED__
#define __IRcShrinkWrapMapping_INTERFACE_DEFINED__

/* interface IRcShrinkWrapMapping */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcShrinkWrapMapping;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6E5CA367-0D9F-454f-9A32-39598618E19F")
    IRcShrinkWrapMapping : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE IsTerminated( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcShrinkWrapMappingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcShrinkWrapMapping * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcShrinkWrapMapping * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcShrinkWrapMapping * This);
        
        HRESULT ( STDMETHODCALLTYPE *IsTerminated )( 
            IRcShrinkWrapMapping * This);
        
        END_INTERFACE
    } IRcShrinkWrapMappingVtbl;

    interface IRcShrinkWrapMapping
    {
        CONST_VTBL struct IRcShrinkWrapMappingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcShrinkWrapMapping_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcShrinkWrapMapping_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcShrinkWrapMapping_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcShrinkWrapMapping_IsTerminated(This)	\
    (This)->lpVtbl -> IsTerminated(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcShrinkWrapMapping_IsTerminated_Proxy( 
    IRcShrinkWrapMapping * This);


void __RPC_STUB IRcShrinkWrapMapping_IsTerminated_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcShrinkWrapMapping_INTERFACE_DEFINED__ */


#ifndef __IRcShrinkWrapStep_INTERFACE_DEFINED__
#define __IRcShrinkWrapStep_INTERFACE_DEFINED__

/* interface IRcShrinkWrapStep */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcShrinkWrapStep;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9C385B0F-76F6-4ef8-9D75-39273C997839")
    IRcShrinkWrapStep : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE PassInternalData( 
            /* [in] */ IRcShrinkWrapStep *pTarget) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAlgInstance( 
            /* [in] */ BYTE *pAlgInstance) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetWrapperData( 
            /* [in] */ IRsNode *pWrapper,
            /* [in] */ IRsNode *pWrapperOwner) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetTargetNode( 
            /* [in] */ IRsNode *pTargetNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCallCommand( 
            /* [in] */ IRsNode *pCallCommand) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcShrinkWrapStepVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcShrinkWrapStep * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcShrinkWrapStep * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcShrinkWrapStep * This);
        
        HRESULT ( STDMETHODCALLTYPE *PassInternalData )( 
            IRcShrinkWrapStep * This,
            /* [in] */ IRcShrinkWrapStep *pTarget);
        
        HRESULT ( STDMETHODCALLTYPE *SetAlgInstance )( 
            IRcShrinkWrapStep * This,
            /* [in] */ BYTE *pAlgInstance);
        
        HRESULT ( STDMETHODCALLTYPE *SetWrapperData )( 
            IRcShrinkWrapStep * This,
            /* [in] */ IRsNode *pWrapper,
            /* [in] */ IRsNode *pWrapperOwner);
        
        HRESULT ( STDMETHODCALLTYPE *SetTargetNode )( 
            IRcShrinkWrapStep * This,
            /* [in] */ IRsNode *pTargetNode);
        
        HRESULT ( STDMETHODCALLTYPE *SetCallCommand )( 
            IRcShrinkWrapStep * This,
            /* [in] */ IRsNode *pCallCommand);
        
        END_INTERFACE
    } IRcShrinkWrapStepVtbl;

    interface IRcShrinkWrapStep
    {
        CONST_VTBL struct IRcShrinkWrapStepVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcShrinkWrapStep_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcShrinkWrapStep_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcShrinkWrapStep_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcShrinkWrapStep_PassInternalData(This,pTarget)	\
    (This)->lpVtbl -> PassInternalData(This,pTarget)

#define IRcShrinkWrapStep_SetAlgInstance(This,pAlgInstance)	\
    (This)->lpVtbl -> SetAlgInstance(This,pAlgInstance)

#define IRcShrinkWrapStep_SetWrapperData(This,pWrapper,pWrapperOwner)	\
    (This)->lpVtbl -> SetWrapperData(This,pWrapper,pWrapperOwner)

#define IRcShrinkWrapStep_SetTargetNode(This,pTargetNode)	\
    (This)->lpVtbl -> SetTargetNode(This,pTargetNode)

#define IRcShrinkWrapStep_SetCallCommand(This,pCallCommand)	\
    (This)->lpVtbl -> SetCallCommand(This,pCallCommand)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcShrinkWrapStep_PassInternalData_Proxy( 
    IRcShrinkWrapStep * This,
    /* [in] */ IRcShrinkWrapStep *pTarget);


void __RPC_STUB IRcShrinkWrapStep_PassInternalData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcShrinkWrapStep_SetAlgInstance_Proxy( 
    IRcShrinkWrapStep * This,
    /* [in] */ BYTE *pAlgInstance);


void __RPC_STUB IRcShrinkWrapStep_SetAlgInstance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcShrinkWrapStep_SetWrapperData_Proxy( 
    IRcShrinkWrapStep * This,
    /* [in] */ IRsNode *pWrapper,
    /* [in] */ IRsNode *pWrapperOwner);


void __RPC_STUB IRcShrinkWrapStep_SetWrapperData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcShrinkWrapStep_SetTargetNode_Proxy( 
    IRcShrinkWrapStep * This,
    /* [in] */ IRsNode *pTargetNode);


void __RPC_STUB IRcShrinkWrapStep_SetTargetNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcShrinkWrapStep_SetCallCommand_Proxy( 
    IRcShrinkWrapStep * This,
    /* [in] */ IRsNode *pCallCommand);


void __RPC_STUB IRcShrinkWrapStep_SetCallCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcShrinkWrapStep_INTERFACE_DEFINED__ */


#ifndef __IRcUVDiscardUVMapper_INTERFACE_DEFINED__
#define __IRcUVDiscardUVMapper_INTERFACE_DEFINED__

/* interface IRcUVDiscardUVMapper */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcUVDiscardUVMapper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("82BDE7DD-AE5A-4413-BE19-02E866316899")
    IRcUVDiscardUVMapper : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcUVDiscardUVMapperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcUVDiscardUVMapper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcUVDiscardUVMapper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcUVDiscardUVMapper * This);
        
        END_INTERFACE
    } IRcUVDiscardUVMapperVtbl;

    interface IRcUVDiscardUVMapper
    {
        CONST_VTBL struct IRcUVDiscardUVMapperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcUVDiscardUVMapper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcUVDiscardUVMapper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcUVDiscardUVMapper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcUVDiscardUVMapper_INTERFACE_DEFINED__ */


#ifndef __IRcUVMapping_INTERFACE_DEFINED__
#define __IRcUVMapping_INTERFACE_DEFINED__

/* interface IRcUVMapping */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcUVMapping;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4A1F1B51-1CEE-4e65-BF29-3D131874AB83")
    IRcUVMapping : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcUVMappingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcUVMapping * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcUVMapping * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcUVMapping * This);
        
        END_INTERFACE
    } IRcUVMappingVtbl;

    interface IRcUVMapping
    {
        CONST_VTBL struct IRcUVMappingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcUVMapping_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcUVMapping_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcUVMapping_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcUVMapping_INTERFACE_DEFINED__ */


#ifndef __IRnMappingController_INTERFACE_DEFINED__
#define __IRnMappingController_INTERFACE_DEFINED__

/* interface IRnMappingController */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMappingController;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DB50E52E-A418-4dcf-B272-D3109DDF8860")
    IRnMappingController : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMappingControllerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMappingController * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMappingController * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMappingController * This);
        
        END_INTERFACE
    } IRnMappingControllerVtbl;

    interface IRnMappingController
    {
        CONST_VTBL struct IRnMappingControllerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMappingController_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMappingController_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMappingController_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMappingController_INTERFACE_DEFINED__ */


#ifndef __IRnModelingPreferences_INTERFACE_DEFINED__
#define __IRnModelingPreferences_INTERFACE_DEFINED__

/* interface IRnModelingPreferences */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnModelingPreferences;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4342779E-7530-4DB1-87D5-CFEAFBFFFBF7")
    IRnModelingPreferences : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnModelingPreferencesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnModelingPreferences * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnModelingPreferences * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnModelingPreferences * This);
        
        END_INTERFACE
    } IRnModelingPreferencesVtbl;

    interface IRnModelingPreferences
    {
        CONST_VTBL struct IRnModelingPreferencesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnModelingPreferences_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnModelingPreferences_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnModelingPreferences_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnModelingPreferences_INTERFACE_DEFINED__ */


#ifndef __IRnModelingPreferencesCon_INTERFACE_DEFINED__
#define __IRnModelingPreferencesCon_INTERFACE_DEFINED__

/* interface IRnModelingPreferencesCon */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnModelingPreferencesCon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CB448F9D-8272-4A88-A9C6-781560FA30C3")
    IRnModelingPreferencesCon : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnModelingPreferencesConVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnModelingPreferencesCon * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnModelingPreferencesCon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnModelingPreferencesCon * This);
        
        END_INTERFACE
    } IRnModelingPreferencesConVtbl;

    interface IRnModelingPreferencesCon
    {
        CONST_VTBL struct IRnModelingPreferencesConVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnModelingPreferencesCon_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnModelingPreferencesCon_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnModelingPreferencesCon_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnModelingPreferencesCon_INTERFACE_DEFINED__ */


#ifndef __IRnPePreferencesCon_INTERFACE_DEFINED__
#define __IRnPePreferencesCon_INTERFACE_DEFINED__

/* interface IRnPePreferencesCon */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnPePreferencesCon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("14A0ED52-CF0A-4f42-A211-5B38D806CB95")
    IRnPePreferencesCon : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnPePreferencesConVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnPePreferencesCon * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnPePreferencesCon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnPePreferencesCon * This);
        
        END_INTERFACE
    } IRnPePreferencesConVtbl;

    interface IRnPePreferencesCon
    {
        CONST_VTBL struct IRnPePreferencesConVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnPePreferencesCon_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnPePreferencesCon_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnPePreferencesCon_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnPePreferencesCon_INTERFACE_DEFINED__ */


#ifndef __IRcCancelSelectionTool_INTERFACE_DEFINED__
#define __IRcCancelSelectionTool_INTERFACE_DEFINED__

/* interface IRcCancelSelectionTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCancelSelectionTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B9AFC5CD-568E-4242-8184-9E64D2E97935")
    IRcCancelSelectionTool : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCancelSelectionToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCancelSelectionTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCancelSelectionTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCancelSelectionTool * This);
        
        END_INTERFACE
    } IRcCancelSelectionToolVtbl;

    interface IRcCancelSelectionTool
    {
        CONST_VTBL struct IRcCancelSelectionToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcCancelSelectionTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcCancelSelectionTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCancelSelectionTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCancelSelectionTool_INTERFACE_DEFINED__ */


#ifndef __IRcFlattenNode_INTERFACE_DEFINED__
#define __IRcFlattenNode_INTERFACE_DEFINED__

/* interface IRcFlattenNode */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcFlattenNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D08476C9-35B1-48bb-93FA-5316F781CB65")
    IRcFlattenNode : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcFlattenNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcFlattenNode * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcFlattenNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcFlattenNode * This);
        
        END_INTERFACE
    } IRcFlattenNodeVtbl;

    interface IRcFlattenNode
    {
        CONST_VTBL struct IRcFlattenNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcFlattenNode_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcFlattenNode_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcFlattenNode_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcFlattenNode_INTERFACE_DEFINED__ */


#ifndef __IRnVertexSnapping_INTERFACE_DEFINED__
#define __IRnVertexSnapping_INTERFACE_DEFINED__

/* interface IRnVertexSnapping */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnVertexSnapping;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0592CD9E-C731-4c4f-95B8-152FCB774218")
    IRnVertexSnapping : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnVertexSnappingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnVertexSnapping * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnVertexSnapping * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnVertexSnapping * This);
        
        END_INTERFACE
    } IRnVertexSnappingVtbl;

    interface IRnVertexSnapping
    {
        CONST_VTBL struct IRnVertexSnappingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnVertexSnapping_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnVertexSnapping_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnVertexSnapping_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnVertexSnapping_INTERFACE_DEFINED__ */


#ifndef __IRdDistanceDisplay_INTERFACE_DEFINED__
#define __IRdDistanceDisplay_INTERFACE_DEFINED__

/* interface IRdDistanceDisplay */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdDistanceDisplay;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("39F2E37A-D06B-4eeb-AAB2-7A51B53F161C")
    IRdDistanceDisplay : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetNode( 
            /* [in] */ IRsNode *pNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdDistanceDisplayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdDistanceDisplay * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdDistanceDisplay * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdDistanceDisplay * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetNode )( 
            IRdDistanceDisplay * This,
            /* [in] */ IRsNode *pNode);
        
        END_INTERFACE
    } IRdDistanceDisplayVtbl;

    interface IRdDistanceDisplay
    {
        CONST_VTBL struct IRdDistanceDisplayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdDistanceDisplay_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdDistanceDisplay_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdDistanceDisplay_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdDistanceDisplay_SetNode(This,pNode)	\
    (This)->lpVtbl -> SetNode(This,pNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRdDistanceDisplay_SetNode_Proxy( 
    IRdDistanceDisplay * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRdDistanceDisplay_SetNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdDistanceDisplay_INTERFACE_DEFINED__ */


#ifndef __IRnDistanceDisplay_INTERFACE_DEFINED__
#define __IRnDistanceDisplay_INTERFACE_DEFINED__

/* interface IRnDistanceDisplay */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnDistanceDisplay;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F0F2CFC0-1FA0-498c-9016-06EC53B67915")
    IRnDistanceDisplay : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnDistanceDisplayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnDistanceDisplay * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnDistanceDisplay * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnDistanceDisplay * This);
        
        END_INTERFACE
    } IRnDistanceDisplayVtbl;

    interface IRnDistanceDisplay
    {
        CONST_VTBL struct IRnDistanceDisplayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnDistanceDisplay_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnDistanceDisplay_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnDistanceDisplay_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnDistanceDisplay_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__MeshModifiers_2521 */
/* [local] */ 

struct RtSelectionLockParams
    {
    RtUlong mode;
    RtPoint center;
    RtVector3f dir1;
    RtVector3f dir2;
    } ;


extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2521_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2521_v0_0_s_ifspec;

#ifndef __IRdSelectionLock_INTERFACE_DEFINED__
#define __IRdSelectionLock_INTERFACE_DEFINED__

/* interface IRdSelectionLock */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdSelectionLock;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("39E7B19D-F387-4d3f-9C8D-D5D9FB7085E7")
    IRdSelectionLock : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetParameters( 
            /* [in] */ struct RtSelectionLockParams *pParams) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdSelectionLockVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdSelectionLock * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdSelectionLock * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdSelectionLock * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetParameters )( 
            IRdSelectionLock * This,
            /* [in] */ struct RtSelectionLockParams *pParams);
        
        END_INTERFACE
    } IRdSelectionLockVtbl;

    interface IRdSelectionLock
    {
        CONST_VTBL struct IRdSelectionLockVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdSelectionLock_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdSelectionLock_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdSelectionLock_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdSelectionLock_SetParameters(This,pParams)	\
    (This)->lpVtbl -> SetParameters(This,pParams)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRdSelectionLock_SetParameters_Proxy( 
    IRdSelectionLock * This,
    /* [in] */ struct RtSelectionLockParams *pParams);


void __RPC_STUB IRdSelectionLock_SetParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdSelectionLock_INTERFACE_DEFINED__ */


#ifndef __IRnSelectionLock_INTERFACE_DEFINED__
#define __IRnSelectionLock_INTERFACE_DEFINED__

/* interface IRnSelectionLock */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnSelectionLock;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F98853AA-DB87-4036-9A4F-818B6B0CAA1F")
    IRnSelectionLock : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetParameters( 
            /* [in] */ struct RtSelectionLockParams *pParams) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetParameters( 
            /* [in] */ struct RtSelectionLockParams *pParams) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnSelectionLockVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnSelectionLock * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnSelectionLock * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnSelectionLock * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetParameters )( 
            IRnSelectionLock * This,
            /* [in] */ struct RtSelectionLockParams *pParams);
        
        HRESULT ( STDMETHODCALLTYPE *GetParameters )( 
            IRnSelectionLock * This,
            /* [in] */ struct RtSelectionLockParams *pParams);
        
        END_INTERFACE
    } IRnSelectionLockVtbl;

    interface IRnSelectionLock
    {
        CONST_VTBL struct IRnSelectionLockVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnSelectionLock_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnSelectionLock_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnSelectionLock_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnSelectionLock_SetParameters(This,pParams)	\
    (This)->lpVtbl -> SetParameters(This,pParams)

#define IRnSelectionLock_GetParameters(This,pParams)	\
    (This)->lpVtbl -> GetParameters(This,pParams)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRnSelectionLock_SetParameters_Proxy( 
    IRnSelectionLock * This,
    /* [in] */ struct RtSelectionLockParams *pParams);


void __RPC_STUB IRnSelectionLock_SetParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnSelectionLock_GetParameters_Proxy( 
    IRnSelectionLock * This,
    /* [in] */ struct RtSelectionLockParams *pParams);


void __RPC_STUB IRnSelectionLock_GetParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnSelectionLock_INTERFACE_DEFINED__ */


#ifndef __IRcSelectionLockResetParams_INTERFACE_DEFINED__
#define __IRcSelectionLockResetParams_INTERFACE_DEFINED__

/* interface IRcSelectionLockResetParams */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSelectionLockResetParams;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C3D4DDC2-D3E7-455f-B502-83E67EBC3FCD")
    IRcSelectionLockResetParams : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetNode( 
            /* [in] */ IRnSelectionLock *pNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcSelectionLockResetParamsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSelectionLockResetParams * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSelectionLockResetParams * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSelectionLockResetParams * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetNode )( 
            IRcSelectionLockResetParams * This,
            /* [in] */ IRnSelectionLock *pNode);
        
        END_INTERFACE
    } IRcSelectionLockResetParamsVtbl;

    interface IRcSelectionLockResetParams
    {
        CONST_VTBL struct IRcSelectionLockResetParamsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSelectionLockResetParams_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSelectionLockResetParams_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSelectionLockResetParams_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcSelectionLockResetParams_SetNode(This,pNode)	\
    (This)->lpVtbl -> SetNode(This,pNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcSelectionLockResetParams_SetNode_Proxy( 
    IRcSelectionLockResetParams * This,
    /* [in] */ IRnSelectionLock *pNode);


void __RPC_STUB IRcSelectionLockResetParams_SetNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcSelectionLockResetParams_INTERFACE_DEFINED__ */


#ifndef __IRcSelectionLockSetParams_INTERFACE_DEFINED__
#define __IRcSelectionLockSetParams_INTERFACE_DEFINED__

/* interface IRcSelectionLockSetParams */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSelectionLockSetParams;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DC2B2BD3-C2C5-467C-9058-7F1975BEA122")
    IRcSelectionLockSetParams : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetNode( 
            /* [in] */ IRnSelectionLock *pNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetSelection( 
            /* [in] */ BSTR szSelection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcSelectionLockSetParamsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSelectionLockSetParams * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSelectionLockSetParams * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSelectionLockSetParams * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetNode )( 
            IRcSelectionLockSetParams * This,
            /* [in] */ IRnSelectionLock *pNode);
        
        HRESULT ( STDMETHODCALLTYPE *SetSelection )( 
            IRcSelectionLockSetParams * This,
            /* [in] */ BSTR szSelection);
        
        END_INTERFACE
    } IRcSelectionLockSetParamsVtbl;

    interface IRcSelectionLockSetParams
    {
        CONST_VTBL struct IRcSelectionLockSetParamsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSelectionLockSetParams_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSelectionLockSetParams_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSelectionLockSetParams_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcSelectionLockSetParams_SetNode(This,pNode)	\
    (This)->lpVtbl -> SetNode(This,pNode)

#define IRcSelectionLockSetParams_SetSelection(This,szSelection)	\
    (This)->lpVtbl -> SetSelection(This,szSelection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcSelectionLockSetParams_SetNode_Proxy( 
    IRcSelectionLockSetParams * This,
    /* [in] */ IRnSelectionLock *pNode);


void __RPC_STUB IRcSelectionLockSetParams_SetNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcSelectionLockSetParams_SetSelection_Proxy( 
    IRcSelectionLockSetParams * This,
    /* [in] */ BSTR szSelection);


void __RPC_STUB IRcSelectionLockSetParams_SetSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcSelectionLockSetParams_INTERFACE_DEFINED__ */


#ifndef __IRdInferenceSnapping_INTERFACE_DEFINED__
#define __IRdInferenceSnapping_INTERFACE_DEFINED__

/* interface IRdInferenceSnapping */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdInferenceSnapping;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E38AE081-1967-461a-AF2E-A9993370B900")
    IRdInferenceSnapping : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetSnapperNode( 
            /* [in] */ IRsNode *pNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdInferenceSnappingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdInferenceSnapping * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdInferenceSnapping * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdInferenceSnapping * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetSnapperNode )( 
            IRdInferenceSnapping * This,
            /* [in] */ IRsNode *pNode);
        
        END_INTERFACE
    } IRdInferenceSnappingVtbl;

    interface IRdInferenceSnapping
    {
        CONST_VTBL struct IRdInferenceSnappingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdInferenceSnapping_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdInferenceSnapping_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdInferenceSnapping_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdInferenceSnapping_SetSnapperNode(This,pNode)	\
    (This)->lpVtbl -> SetSnapperNode(This,pNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRdInferenceSnapping_SetSnapperNode_Proxy( 
    IRdInferenceSnapping * This,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRdInferenceSnapping_SetSnapperNode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdInferenceSnapping_INTERFACE_DEFINED__ */


#ifndef __IRnInferenceSnapping_INTERFACE_DEFINED__
#define __IRnInferenceSnapping_INTERFACE_DEFINED__

/* interface IRnInferenceSnapping */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnInferenceSnapping;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("858B2AF3-D36A-4342-805D-5A73D5CCE1C9")
    IRnInferenceSnapping : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnInferenceSnappingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnInferenceSnapping * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnInferenceSnapping * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnInferenceSnapping * This);
        
        END_INTERFACE
    } IRnInferenceSnappingVtbl;

    interface IRnInferenceSnapping
    {
        CONST_VTBL struct IRnInferenceSnappingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnInferenceSnapping_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnInferenceSnapping_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnInferenceSnapping_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnInferenceSnapping_INTERFACE_DEFINED__ */


#ifndef __IRiMeshModifiers_INTERFACE_DEFINED__
#define __IRiMeshModifiers_INTERFACE_DEFINED__

/* interface IRiMeshModifiers */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IRiMeshModifiers;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F4D16A3E-0D89-4180-8358-5DD21E642232")
    IRiMeshModifiers : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BuildNormalmap( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SimplifyMesh( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ChangeSSLevel( 
            /* [in] */ int iDiff) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowMeshEditSettings( 
            /* [in] */ BSTR WinID) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TipSelection( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NormalSweepSelection( 
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vSegments,
            /* [in] */ VARIANT vRegions,
            /* [in] */ VARIANT vMode,
            /* [in] */ VARIANT vAvgNrm,
            /* [in] */ VARIANT vStep) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE WeldSelection( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeleteElements( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FlipFacesNormals( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SplitPolygons( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MergePolygons( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtrudeSelection( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DuplicateSelection( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MirrorSelection( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Subdivide( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Smoothdivide( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddFace( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE WeldPairs( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CancelSelectionBasedTool( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ActivateSelectionTool( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GrowPointEditSelection( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShrinkPointEditSelection( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SmoothPointEditSelection( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OutlinePointEditSelection( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectConnected( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InvertConnected( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE PeDeselect( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InvertSelection( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ConvertSelection( 
            /* [in] */ BSTR bszSelection,
            /* [in] */ BSTR bszSelectionType) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLockSelection( 
            /* [in] */ BSTR bszNode,
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ResetLockSelection( 
            /* [in] */ BSTR bszNode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShrinkWrap( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Scissors( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DisplacementMapping( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EndDisplacementMapping( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddSdsVertexWeight( 
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vWeight) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddSdsEdgeWeight( 
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vWeight) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ActivatePointEditWidget( 
            /* [in] */ BSTR szGroup,
            /* [in] */ BSTR szWidget,
            /* [in] */ BSTR szAspect) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnableDisplacementBrush( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BevelTool( 
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vQuads,
            /* [in] */ VARIANT vUpdate,
            /* [in] */ VARIANT vOffset,
            /* [in] */ VARIANT vHeight) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddMirrorModeler( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveMirrorPlane( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowMirrorProperties( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UpdateMirrorPlane( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateHair( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE EnableHairBrush( 
            /* [in] */ BSTR bszTool) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE TogglePeTool( 
            /* [in] */ BSTR szToolName,
            /* [in] */ BSTR szSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE HairPreset( 
            /* [in] */ BSTR bszNode,
            /* [in] */ BSTR bszPreset) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FlattenNodes( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SmoothNormals( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FacetedNormals( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AutofacetNormals( 
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vAngle) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE HealVertices( 
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vRadius) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UpdateMirrorPosition( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UpdateMirrorNormal( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectMaterial( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ApplySelectionTool( 
            /* [in] */ BSTR szWidget,
            /* [in] */ BSTR szCommand) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FlipEdge( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OptimizeTriangulation( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SeparateSelected( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectPath( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CollapseLoop( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE HideSelected( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowHiddenPeGeometry( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenMaterialEditor( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ToggleTool( 
            /* [in] */ BSTR szToolName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE StartPaintFaceTool( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RepaintMaterial( 
            /* [in] */ BSTR szSelection,
            /* [in] */ RtUlong dwMaterialIndex) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetMaterial( 
            /* [in] */ BSTR szSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ResetSds( 
            /* [in] */ BSTR szSelection,
            /* [in] */ VARIANT vEdgeWeights,
            /* [in] */ VARIANT vVertexWeights,
            /* [in] */ VARIANT vSsLevel) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ActivateBooleansTool( 
            /* [in] */ BSTR szOperation,
            /* [in] */ BSTR szSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Quadrify( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenMeshEditorPanel( 
            /* [in] */ BSTR szPanel,
            /* [in] */ RtUlong dwGroupId,
            /* [in] */ RtUlong dwAspect,
            /* [in] */ RtUlong dwAllowAspects) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FlattenAxes( 
            /* [in] */ BSTR bszSelection) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DbgFunc1( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DbgFunc2( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DebugMesh( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRiMeshModifiersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRiMeshModifiers * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRiMeshModifiers * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRiMeshModifiers * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRiMeshModifiers * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRiMeshModifiers * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRiMeshModifiers * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRiMeshModifiers * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BuildNormalmap )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SimplifyMesh )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ChangeSSLevel )( 
            IRiMeshModifiers * This,
            /* [in] */ int iDiff);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowMeshEditSettings )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR WinID);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *TipSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NormalSweepSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vSegments,
            /* [in] */ VARIANT vRegions,
            /* [in] */ VARIANT vMode,
            /* [in] */ VARIANT vAvgNrm,
            /* [in] */ VARIANT vStep);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *WeldSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteElements )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FlipFacesNormals )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SplitPolygons )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MergePolygons )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ExtrudeSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DuplicateSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MirrorSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Subdivide )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Smoothdivide )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddFace )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *WeldPairs )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CancelSelectionBasedTool )( 
            IRiMeshModifiers * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ActivateSelectionTool )( 
            IRiMeshModifiers * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GrowPointEditSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShrinkPointEditSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SmoothPointEditSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OutlinePointEditSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectConnected )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *InvertConnected )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PeDeselect )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *InvertSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ConvertSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection,
            /* [in] */ BSTR bszSelectionType);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLockSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszNode,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ResetLockSelection )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszNode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShrinkWrap )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Scissors )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DisplacementMapping )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EndDisplacementMapping )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddSdsVertexWeight )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vWeight);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddSdsEdgeWeight )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vWeight);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ActivatePointEditWidget )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR szGroup,
            /* [in] */ BSTR szWidget,
            /* [in] */ BSTR szAspect);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnableDisplacementBrush )( 
            IRiMeshModifiers * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BevelTool )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vQuads,
            /* [in] */ VARIANT vUpdate,
            /* [in] */ VARIANT vOffset,
            /* [in] */ VARIANT vHeight);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddMirrorModeler )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveMirrorPlane )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowMirrorProperties )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UpdateMirrorPlane )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateHair )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *EnableHairBrush )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszTool);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *TogglePeTool )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR szToolName,
            /* [in] */ BSTR szSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *HairPreset )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszNode,
            /* [in] */ BSTR bszPreset);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FlattenNodes )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SmoothNormals )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FacetedNormals )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AutofacetNormals )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vAngle);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *HealVertices )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection,
            /* [in] */ VARIANT vRadius);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UpdateMirrorPosition )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UpdateMirrorNormal )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectMaterial )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ApplySelectionTool )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR szWidget,
            /* [in] */ BSTR szCommand);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FlipEdge )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OptimizeTriangulation )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SeparateSelected )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectPath )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CollapseLoop )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *HideSelected )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowHiddenPeGeometry )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OpenMaterialEditor )( 
            IRiMeshModifiers * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ToggleTool )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR szToolName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *StartPaintFaceTool )( 
            IRiMeshModifiers * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RepaintMaterial )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR szSelection,
            /* [in] */ RtUlong dwMaterialIndex);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetMaterial )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR szSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ResetSds )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR szSelection,
            /* [in] */ VARIANT vEdgeWeights,
            /* [in] */ VARIANT vVertexWeights,
            /* [in] */ VARIANT vSsLevel);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ActivateBooleansTool )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR szOperation,
            /* [in] */ BSTR szSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Quadrify )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *OpenMeshEditorPanel )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR szPanel,
            /* [in] */ RtUlong dwGroupId,
            /* [in] */ RtUlong dwAspect,
            /* [in] */ RtUlong dwAllowAspects);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FlattenAxes )( 
            IRiMeshModifiers * This,
            /* [in] */ BSTR bszSelection);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DbgFunc1 )( 
            IRiMeshModifiers * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DbgFunc2 )( 
            IRiMeshModifiers * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DebugMesh )( 
            IRiMeshModifiers * This);
        
        END_INTERFACE
    } IRiMeshModifiersVtbl;

    interface IRiMeshModifiers
    {
        CONST_VTBL struct IRiMeshModifiersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRiMeshModifiers_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRiMeshModifiers_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRiMeshModifiers_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRiMeshModifiers_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IRiMeshModifiers_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IRiMeshModifiers_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IRiMeshModifiers_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IRiMeshModifiers_BuildNormalmap(This,bszSelection)	\
    (This)->lpVtbl -> BuildNormalmap(This,bszSelection)

#define IRiMeshModifiers_SimplifyMesh(This,bszSelection)	\
    (This)->lpVtbl -> SimplifyMesh(This,bszSelection)

#define IRiMeshModifiers_ChangeSSLevel(This,iDiff)	\
    (This)->lpVtbl -> ChangeSSLevel(This,iDiff)

#define IRiMeshModifiers_ShowMeshEditSettings(This,WinID)	\
    (This)->lpVtbl -> ShowMeshEditSettings(This,WinID)

#define IRiMeshModifiers_TipSelection(This,bszSelection)	\
    (This)->lpVtbl -> TipSelection(This,bszSelection)

#define IRiMeshModifiers_NormalSweepSelection(This,bszSelection,vSegments,vRegions,vMode,vAvgNrm,vStep)	\
    (This)->lpVtbl -> NormalSweepSelection(This,bszSelection,vSegments,vRegions,vMode,vAvgNrm,vStep)

#define IRiMeshModifiers_WeldSelection(This,bszSelection)	\
    (This)->lpVtbl -> WeldSelection(This,bszSelection)

#define IRiMeshModifiers_DeleteElements(This,bszSelection)	\
    (This)->lpVtbl -> DeleteElements(This,bszSelection)

#define IRiMeshModifiers_FlipFacesNormals(This,bszSelection)	\
    (This)->lpVtbl -> FlipFacesNormals(This,bszSelection)

#define IRiMeshModifiers_SplitPolygons(This,bszSelection)	\
    (This)->lpVtbl -> SplitPolygons(This,bszSelection)

#define IRiMeshModifiers_MergePolygons(This,bszSelection)	\
    (This)->lpVtbl -> MergePolygons(This,bszSelection)

#define IRiMeshModifiers_ExtrudeSelection(This,bszSelection)	\
    (This)->lpVtbl -> ExtrudeSelection(This,bszSelection)

#define IRiMeshModifiers_DuplicateSelection(This,bszSelection)	\
    (This)->lpVtbl -> DuplicateSelection(This,bszSelection)

#define IRiMeshModifiers_MirrorSelection(This,bszSelection)	\
    (This)->lpVtbl -> MirrorSelection(This,bszSelection)

#define IRiMeshModifiers_Subdivide(This,bszSelection)	\
    (This)->lpVtbl -> Subdivide(This,bszSelection)

#define IRiMeshModifiers_Smoothdivide(This,bszSelection)	\
    (This)->lpVtbl -> Smoothdivide(This,bszSelection)

#define IRiMeshModifiers_AddFace(This,bszSelection)	\
    (This)->lpVtbl -> AddFace(This,bszSelection)

#define IRiMeshModifiers_WeldPairs(This,bszSelection)	\
    (This)->lpVtbl -> WeldPairs(This,bszSelection)

#define IRiMeshModifiers_CancelSelectionBasedTool(This)	\
    (This)->lpVtbl -> CancelSelectionBasedTool(This)

#define IRiMeshModifiers_ActivateSelectionTool(This)	\
    (This)->lpVtbl -> ActivateSelectionTool(This)

#define IRiMeshModifiers_GrowPointEditSelection(This,bszSelection)	\
    (This)->lpVtbl -> GrowPointEditSelection(This,bszSelection)

#define IRiMeshModifiers_ShrinkPointEditSelection(This,bszSelection)	\
    (This)->lpVtbl -> ShrinkPointEditSelection(This,bszSelection)

#define IRiMeshModifiers_SmoothPointEditSelection(This,bszSelection)	\
    (This)->lpVtbl -> SmoothPointEditSelection(This,bszSelection)

#define IRiMeshModifiers_OutlinePointEditSelection(This,bszSelection)	\
    (This)->lpVtbl -> OutlinePointEditSelection(This,bszSelection)

#define IRiMeshModifiers_SelectConnected(This,bszSelection)	\
    (This)->lpVtbl -> SelectConnected(This,bszSelection)

#define IRiMeshModifiers_InvertConnected(This,bszSelection)	\
    (This)->lpVtbl -> InvertConnected(This,bszSelection)

#define IRiMeshModifiers_PeDeselect(This,bszSelection)	\
    (This)->lpVtbl -> PeDeselect(This,bszSelection)

#define IRiMeshModifiers_InvertSelection(This,bszSelection)	\
    (This)->lpVtbl -> InvertSelection(This,bszSelection)

#define IRiMeshModifiers_ConvertSelection(This,bszSelection,bszSelectionType)	\
    (This)->lpVtbl -> ConvertSelection(This,bszSelection,bszSelectionType)

#define IRiMeshModifiers_SetLockSelection(This,bszNode,bszSelection)	\
    (This)->lpVtbl -> SetLockSelection(This,bszNode,bszSelection)

#define IRiMeshModifiers_ResetLockSelection(This,bszNode)	\
    (This)->lpVtbl -> ResetLockSelection(This,bszNode)

#define IRiMeshModifiers_ShrinkWrap(This,bszSelection)	\
    (This)->lpVtbl -> ShrinkWrap(This,bszSelection)

#define IRiMeshModifiers_Scissors(This,bszSelection)	\
    (This)->lpVtbl -> Scissors(This,bszSelection)

#define IRiMeshModifiers_DisplacementMapping(This,bszSelection)	\
    (This)->lpVtbl -> DisplacementMapping(This,bszSelection)

#define IRiMeshModifiers_EndDisplacementMapping(This,bszSelection)	\
    (This)->lpVtbl -> EndDisplacementMapping(This,bszSelection)

#define IRiMeshModifiers_AddSdsVertexWeight(This,bszSelection,vWeight)	\
    (This)->lpVtbl -> AddSdsVertexWeight(This,bszSelection,vWeight)

#define IRiMeshModifiers_AddSdsEdgeWeight(This,bszSelection,vWeight)	\
    (This)->lpVtbl -> AddSdsEdgeWeight(This,bszSelection,vWeight)

#define IRiMeshModifiers_ActivatePointEditWidget(This,szGroup,szWidget,szAspect)	\
    (This)->lpVtbl -> ActivatePointEditWidget(This,szGroup,szWidget,szAspect)

#define IRiMeshModifiers_EnableDisplacementBrush(This)	\
    (This)->lpVtbl -> EnableDisplacementBrush(This)

#define IRiMeshModifiers_BevelTool(This,bszSelection,vQuads,vUpdate,vOffset,vHeight)	\
    (This)->lpVtbl -> BevelTool(This,bszSelection,vQuads,vUpdate,vOffset,vHeight)

#define IRiMeshModifiers_AddMirrorModeler(This,bszSelection)	\
    (This)->lpVtbl -> AddMirrorModeler(This,bszSelection)

#define IRiMeshModifiers_RemoveMirrorPlane(This,bszSelection)	\
    (This)->lpVtbl -> RemoveMirrorPlane(This,bszSelection)

#define IRiMeshModifiers_ShowMirrorProperties(This,bszSelection)	\
    (This)->lpVtbl -> ShowMirrorProperties(This,bszSelection)

#define IRiMeshModifiers_UpdateMirrorPlane(This,bszSelection)	\
    (This)->lpVtbl -> UpdateMirrorPlane(This,bszSelection)

#define IRiMeshModifiers_CreateHair(This,bszSelection)	\
    (This)->lpVtbl -> CreateHair(This,bszSelection)

#define IRiMeshModifiers_EnableHairBrush(This,bszTool)	\
    (This)->lpVtbl -> EnableHairBrush(This,bszTool)

#define IRiMeshModifiers_TogglePeTool(This,szToolName,szSelection)	\
    (This)->lpVtbl -> TogglePeTool(This,szToolName,szSelection)

#define IRiMeshModifiers_HairPreset(This,bszNode,bszPreset)	\
    (This)->lpVtbl -> HairPreset(This,bszNode,bszPreset)

#define IRiMeshModifiers_FlattenNodes(This,bszSelection)	\
    (This)->lpVtbl -> FlattenNodes(This,bszSelection)

#define IRiMeshModifiers_SmoothNormals(This,bszSelection)	\
    (This)->lpVtbl -> SmoothNormals(This,bszSelection)

#define IRiMeshModifiers_FacetedNormals(This,bszSelection)	\
    (This)->lpVtbl -> FacetedNormals(This,bszSelection)

#define IRiMeshModifiers_AutofacetNormals(This,bszSelection,vAngle)	\
    (This)->lpVtbl -> AutofacetNormals(This,bszSelection,vAngle)

#define IRiMeshModifiers_HealVertices(This,bszSelection,vRadius)	\
    (This)->lpVtbl -> HealVertices(This,bszSelection,vRadius)

#define IRiMeshModifiers_UpdateMirrorPosition(This,bszSelection)	\
    (This)->lpVtbl -> UpdateMirrorPosition(This,bszSelection)

#define IRiMeshModifiers_UpdateMirrorNormal(This,bszSelection)	\
    (This)->lpVtbl -> UpdateMirrorNormal(This,bszSelection)

#define IRiMeshModifiers_SelectMaterial(This,bszSelection)	\
    (This)->lpVtbl -> SelectMaterial(This,bszSelection)

#define IRiMeshModifiers_ApplySelectionTool(This,szWidget,szCommand)	\
    (This)->lpVtbl -> ApplySelectionTool(This,szWidget,szCommand)

#define IRiMeshModifiers_FlipEdge(This,bszSelection)	\
    (This)->lpVtbl -> FlipEdge(This,bszSelection)

#define IRiMeshModifiers_OptimizeTriangulation(This,bszSelection)	\
    (This)->lpVtbl -> OptimizeTriangulation(This,bszSelection)

#define IRiMeshModifiers_SeparateSelected(This,bszSelection)	\
    (This)->lpVtbl -> SeparateSelected(This,bszSelection)

#define IRiMeshModifiers_SelectPath(This,bszSelection)	\
    (This)->lpVtbl -> SelectPath(This,bszSelection)

#define IRiMeshModifiers_CollapseLoop(This,bszSelection)	\
    (This)->lpVtbl -> CollapseLoop(This,bszSelection)

#define IRiMeshModifiers_HideSelected(This,bszSelection)	\
    (This)->lpVtbl -> HideSelected(This,bszSelection)

#define IRiMeshModifiers_ShowHiddenPeGeometry(This,bszSelection)	\
    (This)->lpVtbl -> ShowHiddenPeGeometry(This,bszSelection)

#define IRiMeshModifiers_OpenMaterialEditor(This)	\
    (This)->lpVtbl -> OpenMaterialEditor(This)

#define IRiMeshModifiers_ToggleTool(This,szToolName)	\
    (This)->lpVtbl -> ToggleTool(This,szToolName)

#define IRiMeshModifiers_StartPaintFaceTool(This)	\
    (This)->lpVtbl -> StartPaintFaceTool(This)

#define IRiMeshModifiers_RepaintMaterial(This,szSelection,dwMaterialIndex)	\
    (This)->lpVtbl -> RepaintMaterial(This,szSelection,dwMaterialIndex)

#define IRiMeshModifiers_SetMaterial(This,szSelection)	\
    (This)->lpVtbl -> SetMaterial(This,szSelection)

#define IRiMeshModifiers_ResetSds(This,szSelection,vEdgeWeights,vVertexWeights,vSsLevel)	\
    (This)->lpVtbl -> ResetSds(This,szSelection,vEdgeWeights,vVertexWeights,vSsLevel)

#define IRiMeshModifiers_ActivateBooleansTool(This,szOperation,szSelection)	\
    (This)->lpVtbl -> ActivateBooleansTool(This,szOperation,szSelection)

#define IRiMeshModifiers_Quadrify(This,bszSelection)	\
    (This)->lpVtbl -> Quadrify(This,bszSelection)

#define IRiMeshModifiers_OpenMeshEditorPanel(This,szPanel,dwGroupId,dwAspect,dwAllowAspects)	\
    (This)->lpVtbl -> OpenMeshEditorPanel(This,szPanel,dwGroupId,dwAspect,dwAllowAspects)

#define IRiMeshModifiers_FlattenAxes(This,bszSelection)	\
    (This)->lpVtbl -> FlattenAxes(This,bszSelection)

#define IRiMeshModifiers_DbgFunc1(This)	\
    (This)->lpVtbl -> DbgFunc1(This)

#define IRiMeshModifiers_DbgFunc2(This)	\
    (This)->lpVtbl -> DbgFunc2(This)

#define IRiMeshModifiers_DebugMesh(This)	\
    (This)->lpVtbl -> DebugMesh(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_BuildNormalmap_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_BuildNormalmap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_SimplifyMesh_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_SimplifyMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ChangeSSLevel_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ int iDiff);


void __RPC_STUB IRiMeshModifiers_ChangeSSLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ShowMeshEditSettings_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR WinID);


void __RPC_STUB IRiMeshModifiers_ShowMeshEditSettings_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_TipSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_TipSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_NormalSweepSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection,
    /* [in] */ VARIANT vSegments,
    /* [in] */ VARIANT vRegions,
    /* [in] */ VARIANT vMode,
    /* [in] */ VARIANT vAvgNrm,
    /* [in] */ VARIANT vStep);


void __RPC_STUB IRiMeshModifiers_NormalSweepSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_WeldSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_WeldSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_DeleteElements_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_DeleteElements_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_FlipFacesNormals_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_FlipFacesNormals_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_SplitPolygons_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_SplitPolygons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_MergePolygons_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_MergePolygons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ExtrudeSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_ExtrudeSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_DuplicateSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_DuplicateSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_MirrorSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_MirrorSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_Subdivide_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_Subdivide_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_Smoothdivide_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_Smoothdivide_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_AddFace_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_AddFace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_WeldPairs_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_WeldPairs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_CancelSelectionBasedTool_Proxy( 
    IRiMeshModifiers * This);


void __RPC_STUB IRiMeshModifiers_CancelSelectionBasedTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ActivateSelectionTool_Proxy( 
    IRiMeshModifiers * This);


void __RPC_STUB IRiMeshModifiers_ActivateSelectionTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_GrowPointEditSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_GrowPointEditSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ShrinkPointEditSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_ShrinkPointEditSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_SmoothPointEditSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_SmoothPointEditSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_OutlinePointEditSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_OutlinePointEditSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_SelectConnected_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_SelectConnected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_InvertConnected_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_InvertConnected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_PeDeselect_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_PeDeselect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_InvertSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_InvertSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ConvertSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection,
    /* [in] */ BSTR bszSelectionType);


void __RPC_STUB IRiMeshModifiers_ConvertSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_SetLockSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszNode,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_SetLockSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ResetLockSelection_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszNode);


void __RPC_STUB IRiMeshModifiers_ResetLockSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ShrinkWrap_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_ShrinkWrap_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_Scissors_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_Scissors_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_DisplacementMapping_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_DisplacementMapping_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_EndDisplacementMapping_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_EndDisplacementMapping_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_AddSdsVertexWeight_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection,
    /* [in] */ VARIANT vWeight);


void __RPC_STUB IRiMeshModifiers_AddSdsVertexWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_AddSdsEdgeWeight_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection,
    /* [in] */ VARIANT vWeight);


void __RPC_STUB IRiMeshModifiers_AddSdsEdgeWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ActivatePointEditWidget_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR szGroup,
    /* [in] */ BSTR szWidget,
    /* [in] */ BSTR szAspect);


void __RPC_STUB IRiMeshModifiers_ActivatePointEditWidget_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_EnableDisplacementBrush_Proxy( 
    IRiMeshModifiers * This);


void __RPC_STUB IRiMeshModifiers_EnableDisplacementBrush_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_BevelTool_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection,
    /* [in] */ VARIANT vQuads,
    /* [in] */ VARIANT vUpdate,
    /* [in] */ VARIANT vOffset,
    /* [in] */ VARIANT vHeight);


void __RPC_STUB IRiMeshModifiers_BevelTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_AddMirrorModeler_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_AddMirrorModeler_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_RemoveMirrorPlane_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_RemoveMirrorPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ShowMirrorProperties_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_ShowMirrorProperties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_UpdateMirrorPlane_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_UpdateMirrorPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_CreateHair_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_CreateHair_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_EnableHairBrush_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszTool);


void __RPC_STUB IRiMeshModifiers_EnableHairBrush_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_TogglePeTool_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR szToolName,
    /* [in] */ BSTR szSelection);


void __RPC_STUB IRiMeshModifiers_TogglePeTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_HairPreset_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszNode,
    /* [in] */ BSTR bszPreset);


void __RPC_STUB IRiMeshModifiers_HairPreset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_FlattenNodes_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_FlattenNodes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_SmoothNormals_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_SmoothNormals_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_FacetedNormals_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_FacetedNormals_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_AutofacetNormals_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection,
    /* [in] */ VARIANT vAngle);


void __RPC_STUB IRiMeshModifiers_AutofacetNormals_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_HealVertices_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection,
    /* [in] */ VARIANT vRadius);


void __RPC_STUB IRiMeshModifiers_HealVertices_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_UpdateMirrorPosition_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_UpdateMirrorPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_UpdateMirrorNormal_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_UpdateMirrorNormal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_SelectMaterial_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_SelectMaterial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ApplySelectionTool_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR szWidget,
    /* [in] */ BSTR szCommand);


void __RPC_STUB IRiMeshModifiers_ApplySelectionTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_FlipEdge_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_FlipEdge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_OptimizeTriangulation_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_OptimizeTriangulation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_SeparateSelected_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_SeparateSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_SelectPath_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_SelectPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_CollapseLoop_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_CollapseLoop_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_HideSelected_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_HideSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ShowHiddenPeGeometry_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_ShowHiddenPeGeometry_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_OpenMaterialEditor_Proxy( 
    IRiMeshModifiers * This);


void __RPC_STUB IRiMeshModifiers_OpenMaterialEditor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ToggleTool_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR szToolName);


void __RPC_STUB IRiMeshModifiers_ToggleTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_StartPaintFaceTool_Proxy( 
    IRiMeshModifiers * This);


void __RPC_STUB IRiMeshModifiers_StartPaintFaceTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_RepaintMaterial_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR szSelection,
    /* [in] */ RtUlong dwMaterialIndex);


void __RPC_STUB IRiMeshModifiers_RepaintMaterial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_SetMaterial_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR szSelection);


void __RPC_STUB IRiMeshModifiers_SetMaterial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ResetSds_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR szSelection,
    /* [in] */ VARIANT vEdgeWeights,
    /* [in] */ VARIANT vVertexWeights,
    /* [in] */ VARIANT vSsLevel);


void __RPC_STUB IRiMeshModifiers_ResetSds_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_ActivateBooleansTool_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR szOperation,
    /* [in] */ BSTR szSelection);


void __RPC_STUB IRiMeshModifiers_ActivateBooleansTool_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_Quadrify_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_Quadrify_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_OpenMeshEditorPanel_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR szPanel,
    /* [in] */ RtUlong dwGroupId,
    /* [in] */ RtUlong dwAspect,
    /* [in] */ RtUlong dwAllowAspects);


void __RPC_STUB IRiMeshModifiers_OpenMeshEditorPanel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_FlattenAxes_Proxy( 
    IRiMeshModifiers * This,
    /* [in] */ BSTR bszSelection);


void __RPC_STUB IRiMeshModifiers_FlattenAxes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_DbgFunc1_Proxy( 
    IRiMeshModifiers * This);


void __RPC_STUB IRiMeshModifiers_DbgFunc1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_DbgFunc2_Proxy( 
    IRiMeshModifiers * This);


void __RPC_STUB IRiMeshModifiers_DbgFunc2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IRiMeshModifiers_DebugMesh_Proxy( 
    IRiMeshModifiers * This);


void __RPC_STUB IRiMeshModifiers_DebugMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRiMeshModifiers_INTERFACE_DEFINED__ */


#ifndef __IRcBuildNormalmap_INTERFACE_DEFINED__
#define __IRcBuildNormalmap_INTERFACE_DEFINED__

/* interface IRcBuildNormalmap */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcBuildNormalmap;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("81F9C28A-F562-4178-AA95-4866E920B858")
    IRcBuildNormalmap : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcBuildNormalmapVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcBuildNormalmap * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcBuildNormalmap * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcBuildNormalmap * This);
        
        END_INTERFACE
    } IRcBuildNormalmapVtbl;

    interface IRcBuildNormalmap
    {
        CONST_VTBL struct IRcBuildNormalmapVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcBuildNormalmap_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcBuildNormalmap_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcBuildNormalmap_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcBuildNormalmap_INTERFACE_DEFINED__ */


#ifndef __IRcSimplifyMesh_INTERFACE_DEFINED__
#define __IRcSimplifyMesh_INTERFACE_DEFINED__

/* interface IRcSimplifyMesh */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSimplifyMesh;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("518917A5-C270-47ea-88B8-A26238E83542")
    IRcSimplifyMesh : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSimplifyMeshVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSimplifyMesh * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSimplifyMesh * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSimplifyMesh * This);
        
        END_INTERFACE
    } IRcSimplifyMeshVtbl;

    interface IRcSimplifyMesh
    {
        CONST_VTBL struct IRcSimplifyMeshVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSimplifyMesh_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSimplifyMesh_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSimplifyMesh_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSimplifyMesh_INTERFACE_DEFINED__ */


#ifndef __IRsBinaryMeshOp_INTERFACE_DEFINED__
#define __IRsBinaryMeshOp_INTERFACE_DEFINED__

/* interface IRsBinaryMeshOp */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsBinaryMeshOp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("851ECE5C-24E7-4AF1-A0C3-F32C86AF09EB")
    IRsBinaryMeshOp : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetOperands( 
            /* [in] */ IRsObjectList *pA,
            /* [in] */ IRsObjectList *pB) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetStatusBarTextForObjA( 
            /* [in] */ BSTR *bstrText) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetStatusBarTextForObjB( 
            /* [in] */ BSTR *bstrText) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsBinaryMeshOpVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsBinaryMeshOp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsBinaryMeshOp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsBinaryMeshOp * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetOperands )( 
            IRsBinaryMeshOp * This,
            /* [in] */ IRsObjectList *pA,
            /* [in] */ IRsObjectList *pB);
        
        HRESULT ( STDMETHODCALLTYPE *GetStatusBarTextForObjA )( 
            IRsBinaryMeshOp * This,
            /* [in] */ BSTR *bstrText);
        
        HRESULT ( STDMETHODCALLTYPE *GetStatusBarTextForObjB )( 
            IRsBinaryMeshOp * This,
            /* [in] */ BSTR *bstrText);
        
        END_INTERFACE
    } IRsBinaryMeshOpVtbl;

    interface IRsBinaryMeshOp
    {
        CONST_VTBL struct IRsBinaryMeshOpVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsBinaryMeshOp_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsBinaryMeshOp_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsBinaryMeshOp_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsBinaryMeshOp_SetOperands(This,pA,pB)	\
    (This)->lpVtbl -> SetOperands(This,pA,pB)

#define IRsBinaryMeshOp_GetStatusBarTextForObjA(This,bstrText)	\
    (This)->lpVtbl -> GetStatusBarTextForObjA(This,bstrText)

#define IRsBinaryMeshOp_GetStatusBarTextForObjB(This,bstrText)	\
    (This)->lpVtbl -> GetStatusBarTextForObjB(This,bstrText)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsBinaryMeshOp_SetOperands_Proxy( 
    IRsBinaryMeshOp * This,
    /* [in] */ IRsObjectList *pA,
    /* [in] */ IRsObjectList *pB);


void __RPC_STUB IRsBinaryMeshOp_SetOperands_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsBinaryMeshOp_GetStatusBarTextForObjA_Proxy( 
    IRsBinaryMeshOp * This,
    /* [in] */ BSTR *bstrText);


void __RPC_STUB IRsBinaryMeshOp_GetStatusBarTextForObjA_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsBinaryMeshOp_GetStatusBarTextForObjB_Proxy( 
    IRsBinaryMeshOp * This,
    /* [in] */ BSTR *bstrText);


void __RPC_STUB IRsBinaryMeshOp_GetStatusBarTextForObjB_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsBinaryMeshOp_INTERFACE_DEFINED__ */


#ifndef __IRnBinaryMeshOpPick_INTERFACE_DEFINED__
#define __IRnBinaryMeshOpPick_INTERFACE_DEFINED__

/* interface IRnBinaryMeshOpPick */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnBinaryMeshOpPick;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6048B232-A7AD-4FF8-84F5-C8B00E73B9A9")
    IRnBinaryMeshOpPick : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnBinaryMeshOpPickVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnBinaryMeshOpPick * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnBinaryMeshOpPick * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnBinaryMeshOpPick * This);
        
        END_INTERFACE
    } IRnBinaryMeshOpPickVtbl;

    interface IRnBinaryMeshOpPick
    {
        CONST_VTBL struct IRnBinaryMeshOpPickVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnBinaryMeshOpPick_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnBinaryMeshOpPick_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnBinaryMeshOpPick_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnBinaryMeshOpPick_INTERFACE_DEFINED__ */


#ifndef __IRcBuildNormalmapOp_INTERFACE_DEFINED__
#define __IRcBuildNormalmapOp_INTERFACE_DEFINED__

/* interface IRcBuildNormalmapOp */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcBuildNormalmapOp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C4A16D1C-9333-46A6-ABF8-5FA0878ED8B9")
    IRcBuildNormalmapOp : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcBuildNormalmapOpVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcBuildNormalmapOp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcBuildNormalmapOp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcBuildNormalmapOp * This);
        
        END_INTERFACE
    } IRcBuildNormalmapOpVtbl;

    interface IRcBuildNormalmapOp
    {
        CONST_VTBL struct IRcBuildNormalmapOpVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcBuildNormalmapOp_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcBuildNormalmapOp_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcBuildNormalmapOp_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcBuildNormalmapOp_INTERFACE_DEFINED__ */


#ifndef __IRcCreateHair_INTERFACE_DEFINED__
#define __IRcCreateHair_INTERFACE_DEFINED__

/* interface IRcCreateHair */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcCreateHair;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("501C1D94-8DF8-4954-8298-716EAD76930A")
    IRcCreateHair : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcCreateHairVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcCreateHair * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcCreateHair * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcCreateHair * This);
        
        END_INTERFACE
    } IRcCreateHairVtbl;

    interface IRcCreateHair
    {
        CONST_VTBL struct IRcCreateHairVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcCreateHair_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcCreateHair_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcCreateHair_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcCreateHair_INTERFACE_DEFINED__ */


#ifndef __IRcEnableHairBrush_INTERFACE_DEFINED__
#define __IRcEnableHairBrush_INTERFACE_DEFINED__

/* interface IRcEnableHairBrush */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcEnableHairBrush;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("14686A74-A602-4016-82E9-4AED99585FA2")
    IRcEnableHairBrush : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcEnableHairBrushVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcEnableHairBrush * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcEnableHairBrush * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcEnableHairBrush * This);
        
        END_INTERFACE
    } IRcEnableHairBrushVtbl;

    interface IRcEnableHairBrush
    {
        CONST_VTBL struct IRcEnableHairBrushVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcEnableHairBrush_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcEnableHairBrush_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcEnableHairBrush_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcEnableHairBrush_INTERFACE_DEFINED__ */


#ifndef __IRcHairPreset_INTERFACE_DEFINED__
#define __IRcHairPreset_INTERFACE_DEFINED__

/* interface IRcHairPreset */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcHairPreset;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C7DBDE90-4A14-4365-A75B-27AF314DD013")
    IRcHairPreset : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcHairPresetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcHairPreset * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcHairPreset * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcHairPreset * This);
        
        END_INTERFACE
    } IRcHairPresetVtbl;

    interface IRcHairPreset
    {
        CONST_VTBL struct IRcHairPresetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcHairPreset_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcHairPreset_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcHairPreset_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcHairPreset_INTERFACE_DEFINED__ */


#ifndef __IRcHairApplyWig_INTERFACE_DEFINED__
#define __IRcHairApplyWig_INTERFACE_DEFINED__

/* interface IRcHairApplyWig */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcHairApplyWig;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("159E949C-333C-4fa7-B3D8-830D873EE7A1")
    IRcHairApplyWig : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcHairApplyWigVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcHairApplyWig * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcHairApplyWig * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcHairApplyWig * This);
        
        END_INTERFACE
    } IRcHairApplyWigVtbl;

    interface IRcHairApplyWig
    {
        CONST_VTBL struct IRcHairApplyWigVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcHairApplyWig_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcHairApplyWig_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcHairApplyWig_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcHairApplyWig_INTERFACE_DEFINED__ */


#ifndef __IRcRepaintMaterial_INTERFACE_DEFINED__
#define __IRcRepaintMaterial_INTERFACE_DEFINED__

/* interface IRcRepaintMaterial */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcRepaintMaterial;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("73D75E94-0567-4041-B595-8750693DB753")
    IRcRepaintMaterial : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcRepaintMaterialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcRepaintMaterial * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcRepaintMaterial * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcRepaintMaterial * This);
        
        END_INTERFACE
    } IRcRepaintMaterialVtbl;

    interface IRcRepaintMaterial
    {
        CONST_VTBL struct IRcRepaintMaterialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcRepaintMaterial_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcRepaintMaterial_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcRepaintMaterial_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcRepaintMaterial_INTERFACE_DEFINED__ */


#ifndef __IRcMEPaintFace_INTERFACE_DEFINED__
#define __IRcMEPaintFace_INTERFACE_DEFINED__

/* interface IRcMEPaintFace */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcMEPaintFace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AF145BE-631E-4160-926D-B1567F3928DF")
    IRcMEPaintFace : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcMEPaintFaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcMEPaintFace * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcMEPaintFace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcMEPaintFace * This);
        
        END_INTERFACE
    } IRcMEPaintFaceVtbl;

    interface IRcMEPaintFace
    {
        CONST_VTBL struct IRcMEPaintFaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcMEPaintFace_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcMEPaintFace_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcMEPaintFace_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcMEPaintFace_INTERFACE_DEFINED__ */


#ifndef __IRcSetMaterial_INTERFACE_DEFINED__
#define __IRcSetMaterial_INTERFACE_DEFINED__

/* interface IRcSetMaterial */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcSetMaterial;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A82B634A-9826-4e24-9E25-F3FC6FFB5AD3")
    IRcSetMaterial : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcSetMaterialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcSetMaterial * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcSetMaterial * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcSetMaterial * This);
        
        END_INTERFACE
    } IRcSetMaterialVtbl;

    interface IRcSetMaterial
    {
        CONST_VTBL struct IRcSetMaterialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcSetMaterial_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcSetMaterial_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcSetMaterial_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcSetMaterial_INTERFACE_DEFINED__ */


#ifndef __IRsMeshModifiersCmdFactory_INTERFACE_DEFINED__
#define __IRsMeshModifiersCmdFactory_INTERFACE_DEFINED__

/* interface IRsMeshModifiersCmdFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsMeshModifiersCmdFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BE429ED7-7DA8-45D9-8213-D91232BAC357")
    IRsMeshModifiersCmdFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsMeshModifiersCmdFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsMeshModifiersCmdFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsMeshModifiersCmdFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsMeshModifiersCmdFactory * This);
        
        END_INTERFACE
    } IRsMeshModifiersCmdFactoryVtbl;

    interface IRsMeshModifiersCmdFactory
    {
        CONST_VTBL struct IRsMeshModifiersCmdFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsMeshModifiersCmdFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsMeshModifiersCmdFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsMeshModifiersCmdFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsMeshModifiersCmdFactory_INTERFACE_DEFINED__ */


#ifndef __IRsMeshModifiersNodeFactory_INTERFACE_DEFINED__
#define __IRsMeshModifiersNodeFactory_INTERFACE_DEFINED__

/* interface IRsMeshModifiersNodeFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsMeshModifiersNodeFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D34449EC-640A-45CE-832A-2C25EE44BCEF")
    IRsMeshModifiersNodeFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsMeshModifiersNodeFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsMeshModifiersNodeFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsMeshModifiersNodeFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsMeshModifiersNodeFactory * This);
        
        END_INTERFACE
    } IRsMeshModifiersNodeFactoryVtbl;

    interface IRsMeshModifiersNodeFactory
    {
        CONST_VTBL struct IRsMeshModifiersNodeFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsMeshModifiersNodeFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsMeshModifiersNodeFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsMeshModifiersNodeFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsMeshModifiersNodeFactory_INTERFACE_DEFINED__ */


#ifndef __IRsMeshModifiersDOFactory_INTERFACE_DEFINED__
#define __IRsMeshModifiersDOFactory_INTERFACE_DEFINED__

/* interface IRsMeshModifiersDOFactory */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsMeshModifiersDOFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("16E07D4E-2B68-4ccf-B488-C8C11A40C7FB")
    IRsMeshModifiersDOFactory : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRsMeshModifiersDOFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsMeshModifiersDOFactory * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsMeshModifiersDOFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsMeshModifiersDOFactory * This);
        
        END_INTERFACE
    } IRsMeshModifiersDOFactoryVtbl;

    interface IRsMeshModifiersDOFactory
    {
        CONST_VTBL struct IRsMeshModifiersDOFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsMeshModifiersDOFactory_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsMeshModifiersDOFactory_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsMeshModifiersDOFactory_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRsMeshModifiersDOFactory_INTERFACE_DEFINED__ */


/* interface __MIDL_itf__MeshModifiers_2543 */
/* [local] */ 


enum RtVertexBrushProcesingMode
    {	VBPM_None	= 0,
	VBPM_Add	= 1,
	VBPM_Subtract	= 2,
	VBPM_Smooth	= 3,
	VBPM_FDW	= -1
    } ;


extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2543_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__MeshModifiers_2543_v0_0_s_ifspec;

#ifndef __IRsVertexBrushTool_INTERFACE_DEFINED__
#define __IRsVertexBrushTool_INTERFACE_DEFINED__

/* interface IRsVertexBrushTool */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRsVertexBrushTool;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5A29BD40-15D9-4376-ADB6-87B6D18D5E77")
    IRsVertexBrushTool : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetMeshData( 
            /* [in] */ const RtMatrixf *world_matrix,
            /* [in] */ IRsNode *pNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Begin( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddStrokePoint( 
            /* [in] */ RtDWORD triangle_index,
            /* [in] */ const RtVector3f *baryc_coords) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE End( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetBrush( 
            /* [in] */ IRsUnknownBrushProvider *pProvider,
            /* [in] */ RtFloat size) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetToolGuid( 
            /* [in] */ const GUID *pIID) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE AddAirStroke( 
            /* [in] */ const RtMatrixf *pViewMatrix,
            /* [in] */ const RtMatrixf *pProjMatrix,
            /* [in] */ const RtVector2f *screen_coords,
            /* [in] */ RtFloat radius) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRsVertexBrushToolVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRsVertexBrushTool * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRsVertexBrushTool * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRsVertexBrushTool * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetMeshData )( 
            IRsVertexBrushTool * This,
            /* [in] */ const RtMatrixf *world_matrix,
            /* [in] */ IRsNode *pNode);
        
        HRESULT ( STDMETHODCALLTYPE *Begin )( 
            IRsVertexBrushTool * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddStrokePoint )( 
            IRsVertexBrushTool * This,
            /* [in] */ RtDWORD triangle_index,
            /* [in] */ const RtVector3f *baryc_coords);
        
        HRESULT ( STDMETHODCALLTYPE *End )( 
            IRsVertexBrushTool * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetBrush )( 
            IRsVertexBrushTool * This,
            /* [in] */ IRsUnknownBrushProvider *pProvider,
            /* [in] */ RtFloat size);
        
        HRESULT ( STDMETHODCALLTYPE *SetToolGuid )( 
            IRsVertexBrushTool * This,
            /* [in] */ const GUID *pIID);
        
        HRESULT ( STDMETHODCALLTYPE *AddAirStroke )( 
            IRsVertexBrushTool * This,
            /* [in] */ const RtMatrixf *pViewMatrix,
            /* [in] */ const RtMatrixf *pProjMatrix,
            /* [in] */ const RtVector2f *screen_coords,
            /* [in] */ RtFloat radius);
        
        END_INTERFACE
    } IRsVertexBrushToolVtbl;

    interface IRsVertexBrushTool
    {
        CONST_VTBL struct IRsVertexBrushToolVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRsVertexBrushTool_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRsVertexBrushTool_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRsVertexBrushTool_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRsVertexBrushTool_SetMeshData(This,world_matrix,pNode)	\
    (This)->lpVtbl -> SetMeshData(This,world_matrix,pNode)

#define IRsVertexBrushTool_Begin(This)	\
    (This)->lpVtbl -> Begin(This)

#define IRsVertexBrushTool_AddStrokePoint(This,triangle_index,baryc_coords)	\
    (This)->lpVtbl -> AddStrokePoint(This,triangle_index,baryc_coords)

#define IRsVertexBrushTool_End(This)	\
    (This)->lpVtbl -> End(This)

#define IRsVertexBrushTool_SetBrush(This,pProvider,size)	\
    (This)->lpVtbl -> SetBrush(This,pProvider,size)

#define IRsVertexBrushTool_SetToolGuid(This,pIID)	\
    (This)->lpVtbl -> SetToolGuid(This,pIID)

#define IRsVertexBrushTool_AddAirStroke(This,pViewMatrix,pProjMatrix,screen_coords,radius)	\
    (This)->lpVtbl -> AddAirStroke(This,pViewMatrix,pProjMatrix,screen_coords,radius)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRsVertexBrushTool_SetMeshData_Proxy( 
    IRsVertexBrushTool * This,
    /* [in] */ const RtMatrixf *world_matrix,
    /* [in] */ IRsNode *pNode);


void __RPC_STUB IRsVertexBrushTool_SetMeshData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsVertexBrushTool_Begin_Proxy( 
    IRsVertexBrushTool * This);


void __RPC_STUB IRsVertexBrushTool_Begin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsVertexBrushTool_AddStrokePoint_Proxy( 
    IRsVertexBrushTool * This,
    /* [in] */ RtDWORD triangle_index,
    /* [in] */ const RtVector3f *baryc_coords);


void __RPC_STUB IRsVertexBrushTool_AddStrokePoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsVertexBrushTool_End_Proxy( 
    IRsVertexBrushTool * This);


void __RPC_STUB IRsVertexBrushTool_End_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsVertexBrushTool_SetBrush_Proxy( 
    IRsVertexBrushTool * This,
    /* [in] */ IRsUnknownBrushProvider *pProvider,
    /* [in] */ RtFloat size);


void __RPC_STUB IRsVertexBrushTool_SetBrush_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsVertexBrushTool_SetToolGuid_Proxy( 
    IRsVertexBrushTool * This,
    /* [in] */ const GUID *pIID);


void __RPC_STUB IRsVertexBrushTool_SetToolGuid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRsVertexBrushTool_AddAirStroke_Proxy( 
    IRsVertexBrushTool * This,
    /* [in] */ const RtMatrixf *pViewMatrix,
    /* [in] */ const RtMatrixf *pProjMatrix,
    /* [in] */ const RtVector2f *screen_coords,
    /* [in] */ RtFloat radius);


void __RPC_STUB IRsVertexBrushTool_AddAirStroke_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRsVertexBrushTool_INTERFACE_DEFINED__ */


#ifndef __IRcEditHairStream_INTERFACE_DEFINED__
#define __IRcEditHairStream_INTERFACE_DEFINED__

/* interface IRcEditHairStream */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcEditHairStream;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("14FEE121-F3EB-4709-BC93-F32FF4A03A56")
    IRcEditHairStream : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcEditHairStreamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcEditHairStream * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcEditHairStream * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcEditHairStream * This);
        
        END_INTERFACE
    } IRcEditHairStreamVtbl;

    interface IRcEditHairStream
    {
        CONST_VTBL struct IRcEditHairStreamVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcEditHairStream_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcEditHairStream_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcEditHairStream_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcEditHairStream_INTERFACE_DEFINED__ */


#ifndef __IRnHairGravityBrush_INTERFACE_DEFINED__
#define __IRnHairGravityBrush_INTERFACE_DEFINED__

/* interface IRnHairGravityBrush */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnHairGravityBrush;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2AF3CDF9-A605-4a9c-97A3-31913F457470")
    IRnHairGravityBrush : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnHairGravityBrushVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnHairGravityBrush * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnHairGravityBrush * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnHairGravityBrush * This);
        
        END_INTERFACE
    } IRnHairGravityBrushVtbl;

    interface IRnHairGravityBrush
    {
        CONST_VTBL struct IRnHairGravityBrushVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnHairGravityBrush_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnHairGravityBrush_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnHairGravityBrush_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnHairGravityBrush_INTERFACE_DEFINED__ */


#ifndef __IRnHairWigShapeGenerator_INTERFACE_DEFINED__
#define __IRnHairWigShapeGenerator_INTERFACE_DEFINED__

/* interface IRnHairWigShapeGenerator */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnHairWigShapeGenerator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1D840910-B7E9-4cb4-934D-37C7A30997BB")
    IRnHairWigShapeGenerator : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnHairWigShapeGeneratorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnHairWigShapeGenerator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnHairWigShapeGenerator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnHairWigShapeGenerator * This);
        
        END_INTERFACE
    } IRnHairWigShapeGeneratorVtbl;

    interface IRnHairWigShapeGenerator
    {
        CONST_VTBL struct IRnHairWigShapeGeneratorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnHairWigShapeGenerator_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnHairWigShapeGenerator_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnHairWigShapeGenerator_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnHairWigShapeGenerator_INTERFACE_DEFINED__ */


#ifndef __IRnVertexBrush_INTERFACE_DEFINED__
#define __IRnVertexBrush_INTERFACE_DEFINED__

/* interface IRnVertexBrush */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnVertexBrush;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0B89B0AF-5900-4a0f-96DB-852F9CBA796A")
    IRnVertexBrush : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnVertexBrushVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnVertexBrush * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnVertexBrush * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnVertexBrush * This);
        
        END_INTERFACE
    } IRnVertexBrushVtbl;

    interface IRnVertexBrush
    {
        CONST_VTBL struct IRnVertexBrushVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnVertexBrush_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnVertexBrush_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnVertexBrush_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnVertexBrush_INTERFACE_DEFINED__ */


#ifndef __IRdNormalMapperInfo_INTERFACE_DEFINED__
#define __IRdNormalMapperInfo_INTERFACE_DEFINED__

/* interface IRdNormalMapperInfo */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRdNormalMapperInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DDF3C6F6-CC2B-4802-9ADE-B9246D714620")
    IRdNormalMapperInfo : public IRsObject
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetHighresMesh( 
            /* [in] */ BSTR bHiresMeshNode) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetHighresMesh( 
            /* [in] */ BSTR *pbHiresMeshNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRdNormalMapperInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRdNormalMapperInfo * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRdNormalMapperInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRdNormalMapperInfo * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassId )( 
            IRdNormalMapperInfo * This,
            /* [retval][out] */ GUID *pVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClassName )( 
            IRdNormalMapperInfo * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *SetHighresMesh )( 
            IRdNormalMapperInfo * This,
            /* [in] */ BSTR bHiresMeshNode);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetHighresMesh )( 
            IRdNormalMapperInfo * This,
            /* [in] */ BSTR *pbHiresMeshNode);
        
        END_INTERFACE
    } IRdNormalMapperInfoVtbl;

    interface IRdNormalMapperInfo
    {
        CONST_VTBL struct IRdNormalMapperInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRdNormalMapperInfo_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRdNormalMapperInfo_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRdNormalMapperInfo_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRdNormalMapperInfo_get_ClassId(This,pVal)	\
    (This)->lpVtbl -> get_ClassId(This,pVal)

#define IRdNormalMapperInfo_get_ClassName(This,pVal)	\
    (This)->lpVtbl -> get_ClassName(This,pVal)


#define IRdNormalMapperInfo_SetHighresMesh(This,bHiresMeshNode)	\
    (This)->lpVtbl -> SetHighresMesh(This,bHiresMeshNode)

#define IRdNormalMapperInfo_GetHighresMesh(This,pbHiresMeshNode)	\
    (This)->lpVtbl -> GetHighresMesh(This,pbHiresMeshNode)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdNormalMapperInfo_SetHighresMesh_Proxy( 
    IRdNormalMapperInfo * This,
    /* [in] */ BSTR bHiresMeshNode);


void __RPC_STUB IRdNormalMapperInfo_SetHighresMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IRdNormalMapperInfo_GetHighresMesh_Proxy( 
    IRdNormalMapperInfo * This,
    /* [in] */ BSTR *pbHiresMeshNode);


void __RPC_STUB IRdNormalMapperInfo_GetHighresMesh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRdNormalMapperInfo_INTERFACE_DEFINED__ */


#ifndef __IRnNormalmapGenerator_INTERFACE_DEFINED__
#define __IRnNormalmapGenerator_INTERFACE_DEFINED__

/* interface IRnNormalmapGenerator */
/* [unique][helpstring][uuid][local][object] */ 


EXTERN_C const IID IID_IRnNormalmapGenerator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2A84A92A-3BF7-4833-BBF6-E13CA951C7D0")
    IRnNormalmapGenerator : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE NormalmapWorkerFinished( 
            /* [in] */ void *pWorker) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetNormalmapperStatus( 
            /* [in] */ RtFloat fStatus) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRnNormalmapGeneratorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnNormalmapGenerator * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnNormalmapGenerator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnNormalmapGenerator * This);
        
        HRESULT ( STDMETHODCALLTYPE *NormalmapWorkerFinished )( 
            IRnNormalmapGenerator * This,
            /* [in] */ void *pWorker);
        
        HRESULT ( STDMETHODCALLTYPE *SetNormalmapperStatus )( 
            IRnNormalmapGenerator * This,
            /* [in] */ RtFloat fStatus);
        
        END_INTERFACE
    } IRnNormalmapGeneratorVtbl;

    interface IRnNormalmapGenerator
    {
        CONST_VTBL struct IRnNormalmapGeneratorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnNormalmapGenerator_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnNormalmapGenerator_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnNormalmapGenerator_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRnNormalmapGenerator_NormalmapWorkerFinished(This,pWorker)	\
    (This)->lpVtbl -> NormalmapWorkerFinished(This,pWorker)

#define IRnNormalmapGenerator_SetNormalmapperStatus(This,fStatus)	\
    (This)->lpVtbl -> SetNormalmapperStatus(This,fStatus)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRnNormalmapGenerator_NormalmapWorkerFinished_Proxy( 
    IRnNormalmapGenerator * This,
    /* [in] */ void *pWorker);


void __RPC_STUB IRnNormalmapGenerator_NormalmapWorkerFinished_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRnNormalmapGenerator_SetNormalmapperStatus_Proxy( 
    IRnNormalmapGenerator * This,
    /* [in] */ RtFloat fStatus);


void __RPC_STUB IRnNormalmapGenerator_SetNormalmapperStatus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRnNormalmapGenerator_INTERFACE_DEFINED__ */


#ifndef __IRnMeshSimplifier_INTERFACE_DEFINED__
#define __IRnMeshSimplifier_INTERFACE_DEFINED__

/* interface IRnMeshSimplifier */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMeshSimplifier;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EBE53C91-85E0-48B5-88C5-AC7C59FBC4E9")
    IRnMeshSimplifier : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMeshSimplifierVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMeshSimplifier * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMeshSimplifier * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMeshSimplifier * This);
        
        END_INTERFACE
    } IRnMeshSimplifierVtbl;

    interface IRnMeshSimplifier
    {
        CONST_VTBL struct IRnMeshSimplifierVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMeshSimplifier_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMeshSimplifier_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMeshSimplifier_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMeshSimplifier_INTERFACE_DEFINED__ */


#ifndef __IRnMeshUnwrapper_INTERFACE_DEFINED__
#define __IRnMeshUnwrapper_INTERFACE_DEFINED__

/* interface IRnMeshUnwrapper */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMeshUnwrapper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A44DC335-6F64-4906-9C60-2226C228FF3F")
    IRnMeshUnwrapper : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMeshUnwrapperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMeshUnwrapper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMeshUnwrapper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMeshUnwrapper * This);
        
        END_INTERFACE
    } IRnMeshUnwrapperVtbl;

    interface IRnMeshUnwrapper
    {
        CONST_VTBL struct IRnMeshUnwrapperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMeshUnwrapper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMeshUnwrapper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMeshUnwrapper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMeshUnwrapper_INTERFACE_DEFINED__ */


#ifndef __IRnTJunctionRemover_INTERFACE_DEFINED__
#define __IRnTJunctionRemover_INTERFACE_DEFINED__

/* interface IRnTJunctionRemover */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnTJunctionRemover;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6E037D94-48EC-4F74-8DCF-8BBF37CC9501")
    IRnTJunctionRemover : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnTJunctionRemoverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnTJunctionRemover * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnTJunctionRemover * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnTJunctionRemover * This);
        
        END_INTERFACE
    } IRnTJunctionRemoverVtbl;

    interface IRnTJunctionRemover
    {
        CONST_VTBL struct IRnTJunctionRemoverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnTJunctionRemover_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnTJunctionRemover_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnTJunctionRemover_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnTJunctionRemover_INTERFACE_DEFINED__ */


#ifndef __IRnMeshCollapse_INTERFACE_DEFINED__
#define __IRnMeshCollapse_INTERFACE_DEFINED__

/* interface IRnMeshCollapse */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMeshCollapse;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EA7D84C3-A4F3-48FA-925A-8E91156E2C6E")
    IRnMeshCollapse : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMeshCollapseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMeshCollapse * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMeshCollapse * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMeshCollapse * This);
        
        END_INTERFACE
    } IRnMeshCollapseVtbl;

    interface IRnMeshCollapse
    {
        CONST_VTBL struct IRnMeshCollapseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMeshCollapse_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMeshCollapse_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMeshCollapse_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMeshCollapse_INTERFACE_DEFINED__ */


#ifndef __IRnCylindricMapper_INTERFACE_DEFINED__
#define __IRnCylindricMapper_INTERFACE_DEFINED__

/* interface IRnCylindricMapper */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnCylindricMapper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CD7BCF6F-7334-4b8f-852F-972986362401")
    IRnCylindricMapper : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnCylindricMapperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnCylindricMapper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnCylindricMapper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnCylindricMapper * This);
        
        END_INTERFACE
    } IRnCylindricMapperVtbl;

    interface IRnCylindricMapper
    {
        CONST_VTBL struct IRnCylindricMapperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnCylindricMapper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnCylindricMapper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnCylindricMapper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnCylindricMapper_INTERFACE_DEFINED__ */


#ifndef __IRnPaintFace_INTERFACE_DEFINED__
#define __IRnPaintFace_INTERFACE_DEFINED__

/* interface IRnPaintFace */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnPaintFace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1B7B2F2C-DF34-46cc-9CAA-8E34817177E5")
    IRnPaintFace : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnPaintFaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnPaintFace * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnPaintFace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnPaintFace * This);
        
        END_INTERFACE
    } IRnPaintFaceVtbl;

    interface IRnPaintFace
    {
        CONST_VTBL struct IRnPaintFaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnPaintFace_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnPaintFace_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnPaintFace_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnPaintFace_INTERFACE_DEFINED__ */


#ifndef __IRnMaterialInspect_INTERFACE_DEFINED__
#define __IRnMaterialInspect_INTERFACE_DEFINED__

/* interface IRnMaterialInspect */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMaterialInspect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5EA6BB3C-F087-4341-A9DC-026AAE9588C7")
    IRnMaterialInspect : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMaterialInspectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMaterialInspect * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMaterialInspect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMaterialInspect * This);
        
        END_INTERFACE
    } IRnMaterialInspectVtbl;

    interface IRnMaterialInspect
    {
        CONST_VTBL struct IRnMaterialInspectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMaterialInspect_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMaterialInspect_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMaterialInspect_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMaterialInspect_INTERFACE_DEFINED__ */


#ifndef __IRnMaterialRepaint_INTERFACE_DEFINED__
#define __IRnMaterialRepaint_INTERFACE_DEFINED__

/* interface IRnMaterialRepaint */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRnMaterialRepaint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4CFA21DE-4D79-46a1-8D3A-47FEB7543386")
    IRnMaterialRepaint : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRnMaterialRepaintVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRnMaterialRepaint * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRnMaterialRepaint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRnMaterialRepaint * This);
        
        END_INTERFACE
    } IRnMaterialRepaintVtbl;

    interface IRnMaterialRepaint
    {
        CONST_VTBL struct IRnMaterialRepaintVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRnMaterialRepaint_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRnMaterialRepaint_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRnMaterialRepaint_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRnMaterialRepaint_INTERFACE_DEFINED__ */


#ifndef __IRcFinishNormalmap_INTERFACE_DEFINED__
#define __IRcFinishNormalmap_INTERFACE_DEFINED__

/* interface IRcFinishNormalmap */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcFinishNormalmap;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B932988F-2D3C-4F11-8F57-CA83D034D982")
    IRcFinishNormalmap : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IRcFinishNormalmapVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcFinishNormalmap * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcFinishNormalmap * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcFinishNormalmap * This);
        
        END_INTERFACE
    } IRcFinishNormalmapVtbl;

    interface IRcFinishNormalmap
    {
        CONST_VTBL struct IRcFinishNormalmapVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcFinishNormalmap_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcFinishNormalmap_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcFinishNormalmap_Release(This)	\
    (This)->lpVtbl -> Release(This)


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRcFinishNormalmap_INTERFACE_DEFINED__ */


#ifndef __IRcNormalmapUpdateSync_INTERFACE_DEFINED__
#define __IRcNormalmapUpdateSync_INTERFACE_DEFINED__

/* interface IRcNormalmapUpdateSync */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IRcNormalmapUpdateSync;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5410753A-1959-4158-83DF-86703EF022E1")
    IRcNormalmapUpdateSync : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetNormalmapper( 
            /* [in] */ IRsBaseNode *pBase) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetTextures( 
            /* [in] */ IRdBitmap *pNormalmap,
            /* [in] */ IRdBitmap *pDisplacement) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetState( 
            /* [in] */ RtFloat fState) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRcNormalmapUpdateSyncVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRcNormalmapUpdateSync * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRcNormalmapUpdateSync * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRcNormalmapUpdateSync * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetNormalmapper )( 
            IRcNormalmapUpdateSync * This,
            /* [in] */ IRsBaseNode *pBase);
        
        HRESULT ( STDMETHODCALLTYPE *SetTextures )( 
            IRcNormalmapUpdateSync * This,
            /* [in] */ IRdBitmap *pNormalmap,
            /* [in] */ IRdBitmap *pDisplacement);
        
        HRESULT ( STDMETHODCALLTYPE *SetState )( 
            IRcNormalmapUpdateSync * This,
            /* [in] */ RtFloat fState);
        
        END_INTERFACE
    } IRcNormalmapUpdateSyncVtbl;

    interface IRcNormalmapUpdateSync
    {
        CONST_VTBL struct IRcNormalmapUpdateSyncVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRcNormalmapUpdateSync_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRcNormalmapUpdateSync_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRcNormalmapUpdateSync_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRcNormalmapUpdateSync_SetNormalmapper(This,pBase)	\
    (This)->lpVtbl -> SetNormalmapper(This,pBase)

#define IRcNormalmapUpdateSync_SetTextures(This,pNormalmap,pDisplacement)	\
    (This)->lpVtbl -> SetTextures(This,pNormalmap,pDisplacement)

#define IRcNormalmapUpdateSync_SetState(This,fState)	\
    (This)->lpVtbl -> SetState(This,fState)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IRcNormalmapUpdateSync_SetNormalmapper_Proxy( 
    IRcNormalmapUpdateSync * This,
    /* [in] */ IRsBaseNode *pBase);


void __RPC_STUB IRcNormalmapUpdateSync_SetNormalmapper_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcNormalmapUpdateSync_SetTextures_Proxy( 
    IRcNormalmapUpdateSync * This,
    /* [in] */ IRdBitmap *pNormalmap,
    /* [in] */ IRdBitmap *pDisplacement);


void __RPC_STUB IRcNormalmapUpdateSync_SetTextures_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IRcNormalmapUpdateSync_SetState_Proxy( 
    IRcNormalmapUpdateSync * This,
    /* [in] */ RtFloat fState);


void __RPC_STUB IRcNormalmapUpdateSync_SetState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRcNormalmapUpdateSync_INTERFACE_DEFINED__ */



#ifndef __MeshModifiers_LIBRARY_DEFINED__
#define __MeshModifiers_LIBRARY_DEFINED__

/* library MeshModifiers */
/* [helpstring][uuid][version] */ 


EXTERN_C const IID LIBID_MeshModifiers;

EXTERN_C const CLSID CLSID_CRpMeshModifiers;

#ifdef __cplusplus

class DECLSPEC_UUID("CE1FD954-DC87-4A99-A51E-BB9B4D243811")
CRpMeshModifiers;
#endif

EXTERN_C const CLSID CLSID_CRdSoftbrushSettings;

#ifdef __cplusplus

class DECLSPEC_UUID("D712FFE6-3805-4584-97EE-ED21BAC0B930")
CRdSoftbrushSettings;
#endif

EXTERN_C const CLSID CLSID_CRiMeshModifiers;

#ifdef __cplusplus

class DECLSPEC_UUID("94B6C28B-F8A8-4a94-B42F-A4C20080372C")
CRiMeshModifiers;
#endif
#endif /* __MeshModifiers_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


