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


/* File created by MIDL compiler version 5.01.0164 */
/* at Tue May 25 18:19:34 2010
 */
/* Compiler settings for .\libInterfaces3D.odl:
    Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
*/
//@@MIDL_FILE_HEADING(  )


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

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

#ifndef __kAPI3D5COM_h__
#define __kAPI3D5COM_h__

#ifdef __cplusplus
extern "C"{
#endif 

/* Forward Declarations */ 

#ifndef __IDocument3D_FWD_DEFINED__
#define __IDocument3D_FWD_DEFINED__
typedef interface IDocument3D IDocument3D;
#endif 	/* __IDocument3D_FWD_DEFINED__ */


#ifndef __IPart_FWD_DEFINED__
#define __IPart_FWD_DEFINED__
typedef interface IPart IPart;
#endif 	/* __IPart_FWD_DEFINED__ */


#ifndef __IEntity_FWD_DEFINED__
#define __IEntity_FWD_DEFINED__
typedef interface IEntity IEntity;
#endif 	/* __IEntity_FWD_DEFINED__ */


#ifndef __IColorParam_FWD_DEFINED__
#define __IColorParam_FWD_DEFINED__
typedef interface IColorParam IColorParam;
#endif 	/* __IColorParam_FWD_DEFINED__ */


#ifndef __ISpecification3D_FWD_DEFINED__
#define __ISpecification3D_FWD_DEFINED__
typedef interface ISpecification3D ISpecification3D;
#endif 	/* __ISpecification3D_FWD_DEFINED__ */


#ifndef __IPlacement_FWD_DEFINED__
#define __IPlacement_FWD_DEFINED__
typedef interface IPlacement IPlacement;
#endif 	/* __IPlacement_FWD_DEFINED__ */


#ifndef __IRequestInfo_FWD_DEFINED__
#define __IRequestInfo_FWD_DEFINED__
typedef interface IRequestInfo IRequestInfo;
#endif 	/* __IRequestInfo_FWD_DEFINED__ */


#ifndef __IMateConstraint_FWD_DEFINED__
#define __IMateConstraint_FWD_DEFINED__
typedef interface IMateConstraint IMateConstraint;
#endif 	/* __IMateConstraint_FWD_DEFINED__ */


#ifndef __IRasterFormatParam_FWD_DEFINED__
#define __IRasterFormatParam_FWD_DEFINED__
typedef interface IRasterFormatParam IRasterFormatParam;
#endif 	/* __IRasterFormatParam_FWD_DEFINED__ */


#ifndef __IAdditionFormatParam_FWD_DEFINED__
#define __IAdditionFormatParam_FWD_DEFINED__
typedef interface IAdditionFormatParam IAdditionFormatParam;
#endif 	/* __IAdditionFormatParam_FWD_DEFINED__ */


#ifndef __ISelectionMng_FWD_DEFINED__
#define __ISelectionMng_FWD_DEFINED__
typedef interface ISelectionMng ISelectionMng;
#endif 	/* __ISelectionMng_FWD_DEFINED__ */


#ifndef __IChooseMng_FWD_DEFINED__
#define __IChooseMng_FWD_DEFINED__
typedef interface IChooseMng IChooseMng;
#endif 	/* __IChooseMng_FWD_DEFINED__ */


#ifndef __IFeature_FWD_DEFINED__
#define __IFeature_FWD_DEFINED__
typedef interface IFeature IFeature;
#endif 	/* __IFeature_FWD_DEFINED__ */


#ifndef __IViewProjection_FWD_DEFINED__
#define __IViewProjection_FWD_DEFINED__
typedef interface IViewProjection IViewProjection;
#endif 	/* __IViewProjection_FWD_DEFINED__ */


#ifndef __IVariable_FWD_DEFINED__
#define __IVariable_FWD_DEFINED__
typedef interface IVariable IVariable;
#endif 	/* __IVariable_FWD_DEFINED__ */


#ifndef __IModelLibrary_FWD_DEFINED__
#define __IModelLibrary_FWD_DEFINED__
typedef interface IModelLibrary IModelLibrary;
#endif 	/* __IModelLibrary_FWD_DEFINED__ */


#ifndef __IThinParam_FWD_DEFINED__
#define __IThinParam_FWD_DEFINED__
typedef interface IThinParam IThinParam;
#endif 	/* __IThinParam_FWD_DEFINED__ */


#ifndef __IExtrusionParam_FWD_DEFINED__
#define __IExtrusionParam_FWD_DEFINED__
typedef interface IExtrusionParam IExtrusionParam;
#endif 	/* __IExtrusionParam_FWD_DEFINED__ */


#ifndef __IRotatedParam_FWD_DEFINED__
#define __IRotatedParam_FWD_DEFINED__
typedef interface IRotatedParam IRotatedParam;
#endif 	/* __IRotatedParam_FWD_DEFINED__ */


#ifndef __IAttribute3D_FWD_DEFINED__
#define __IAttribute3D_FWD_DEFINED__
typedef interface IAttribute3D IAttribute3D;
#endif 	/* __IAttribute3D_FWD_DEFINED__ */


#ifndef __IComponentPositioner_FWD_DEFINED__
#define __IComponentPositioner_FWD_DEFINED__
typedef interface IComponentPositioner IComponentPositioner;
#endif 	/* __IComponentPositioner_FWD_DEFINED__ */


#ifndef __IObjectsFilter3D_FWD_DEFINED__
#define __IObjectsFilter3D_FWD_DEFINED__
typedef interface IObjectsFilter3D IObjectsFilter3D;
#endif 	/* __IObjectsFilter3D_FWD_DEFINED__ */


#ifndef __IChooseBodies_FWD_DEFINED__
#define __IChooseBodies_FWD_DEFINED__
typedef interface IChooseBodies IChooseBodies;
#endif 	/* __IChooseBodies_FWD_DEFINED__ */


#ifndef __IChooseParts_FWD_DEFINED__
#define __IChooseParts_FWD_DEFINED__
typedef interface IChooseParts IChooseParts;
#endif 	/* __IChooseParts_FWD_DEFINED__ */


#ifndef __IFaceDefinition_FWD_DEFINED__
#define __IFaceDefinition_FWD_DEFINED__
typedef interface IFaceDefinition IFaceDefinition;
#endif 	/* __IFaceDefinition_FWD_DEFINED__ */


#ifndef __IEdgeDefinition_FWD_DEFINED__
#define __IEdgeDefinition_FWD_DEFINED__
typedef interface IEdgeDefinition IEdgeDefinition;
#endif 	/* __IEdgeDefinition_FWD_DEFINED__ */


#ifndef __IVertexDefinition_FWD_DEFINED__
#define __IVertexDefinition_FWD_DEFINED__
typedef interface IVertexDefinition IVertexDefinition;
#endif 	/* __IVertexDefinition_FWD_DEFINED__ */


#ifndef __ISketchDefinition_FWD_DEFINED__
#define __ISketchDefinition_FWD_DEFINED__
typedef interface ISketchDefinition ISketchDefinition;
#endif 	/* __ISketchDefinition_FWD_DEFINED__ */


#ifndef __IThreadDefinition_FWD_DEFINED__
#define __IThreadDefinition_FWD_DEFINED__
typedef interface IThreadDefinition IThreadDefinition;
#endif 	/* __IThreadDefinition_FWD_DEFINED__ */


#ifndef __IAxis2PointsDefinition_FWD_DEFINED__
#define __IAxis2PointsDefinition_FWD_DEFINED__
typedef interface IAxis2PointsDefinition IAxis2PointsDefinition;
#endif 	/* __IAxis2PointsDefinition_FWD_DEFINED__ */


#ifndef __IAxis2PlanesDefinition_FWD_DEFINED__
#define __IAxis2PlanesDefinition_FWD_DEFINED__
typedef interface IAxis2PlanesDefinition IAxis2PlanesDefinition;
#endif 	/* __IAxis2PlanesDefinition_FWD_DEFINED__ */


#ifndef __IAxisOperationsDefinition_FWD_DEFINED__
#define __IAxisOperationsDefinition_FWD_DEFINED__
typedef interface IAxisOperationsDefinition IAxisOperationsDefinition;
#endif 	/* __IAxisOperationsDefinition_FWD_DEFINED__ */


#ifndef __IAxisEdgeDefinition_FWD_DEFINED__
#define __IAxisEdgeDefinition_FWD_DEFINED__
typedef interface IAxisEdgeDefinition IAxisEdgeDefinition;
#endif 	/* __IAxisEdgeDefinition_FWD_DEFINED__ */


#ifndef __IPlaneOffsetDefinition_FWD_DEFINED__
#define __IPlaneOffsetDefinition_FWD_DEFINED__
typedef interface IPlaneOffsetDefinition IPlaneOffsetDefinition;
#endif 	/* __IPlaneOffsetDefinition_FWD_DEFINED__ */


#ifndef __IPlane3PointsDefinition_FWD_DEFINED__
#define __IPlane3PointsDefinition_FWD_DEFINED__
typedef interface IPlane3PointsDefinition IPlane3PointsDefinition;
#endif 	/* __IPlane3PointsDefinition_FWD_DEFINED__ */


#ifndef __IPlaneAngleDefinition_FWD_DEFINED__
#define __IPlaneAngleDefinition_FWD_DEFINED__
typedef interface IPlaneAngleDefinition IPlaneAngleDefinition;
#endif 	/* __IPlaneAngleDefinition_FWD_DEFINED__ */


#ifndef __IPlaneEdgePointDefinition_FWD_DEFINED__
#define __IPlaneEdgePointDefinition_FWD_DEFINED__
typedef interface IPlaneEdgePointDefinition IPlaneEdgePointDefinition;
#endif 	/* __IPlaneEdgePointDefinition_FWD_DEFINED__ */


#ifndef __IPlaneParallelDefinition_FWD_DEFINED__
#define __IPlaneParallelDefinition_FWD_DEFINED__
typedef interface IPlaneParallelDefinition IPlaneParallelDefinition;
#endif 	/* __IPlaneParallelDefinition_FWD_DEFINED__ */


#ifndef __IPlanePerpendicularDefinition_FWD_DEFINED__
#define __IPlanePerpendicularDefinition_FWD_DEFINED__
typedef interface IPlanePerpendicularDefinition IPlanePerpendicularDefinition;
#endif 	/* __IPlanePerpendicularDefinition_FWD_DEFINED__ */


#ifndef __IPlaneNormalToSurfaceDefinition_FWD_DEFINED__
#define __IPlaneNormalToSurfaceDefinition_FWD_DEFINED__
typedef interface IPlaneNormalToSurfaceDefinition IPlaneNormalToSurfaceDefinition;
#endif 	/* __IPlaneNormalToSurfaceDefinition_FWD_DEFINED__ */


#ifndef __IPlaneTangentToSurfaceDefinition_FWD_DEFINED__
#define __IPlaneTangentToSurfaceDefinition_FWD_DEFINED__
typedef interface IPlaneTangentToSurfaceDefinition IPlaneTangentToSurfaceDefinition;
#endif 	/* __IPlaneTangentToSurfaceDefinition_FWD_DEFINED__ */


#ifndef __IPlaneLineToEdgeDefinition_FWD_DEFINED__
#define __IPlaneLineToEdgeDefinition_FWD_DEFINED__
typedef interface IPlaneLineToEdgeDefinition IPlaneLineToEdgeDefinition;
#endif 	/* __IPlaneLineToEdgeDefinition_FWD_DEFINED__ */


#ifndef __IPlaneLineToPlaneDefinition_FWD_DEFINED__
#define __IPlaneLineToPlaneDefinition_FWD_DEFINED__
typedef interface IPlaneLineToPlaneDefinition IPlaneLineToPlaneDefinition;
#endif 	/* __IPlaneLineToPlaneDefinition_FWD_DEFINED__ */


#ifndef __IBaseExtrusionDefinition_FWD_DEFINED__
#define __IBaseExtrusionDefinition_FWD_DEFINED__
typedef interface IBaseExtrusionDefinition IBaseExtrusionDefinition;
#endif 	/* __IBaseExtrusionDefinition_FWD_DEFINED__ */


#ifndef __IBossExtrusionDefinition_FWD_DEFINED__
#define __IBossExtrusionDefinition_FWD_DEFINED__
typedef interface IBossExtrusionDefinition IBossExtrusionDefinition;
#endif 	/* __IBossExtrusionDefinition_FWD_DEFINED__ */


#ifndef __ICutExtrusionDefinition_FWD_DEFINED__
#define __ICutExtrusionDefinition_FWD_DEFINED__
typedef interface ICutExtrusionDefinition ICutExtrusionDefinition;
#endif 	/* __ICutExtrusionDefinition_FWD_DEFINED__ */


#ifndef __IBaseRotatedDefinition_FWD_DEFINED__
#define __IBaseRotatedDefinition_FWD_DEFINED__
typedef interface IBaseRotatedDefinition IBaseRotatedDefinition;
#endif 	/* __IBaseRotatedDefinition_FWD_DEFINED__ */


#ifndef __IBossRotatedDefinition_FWD_DEFINED__
#define __IBossRotatedDefinition_FWD_DEFINED__
typedef interface IBossRotatedDefinition IBossRotatedDefinition;
#endif 	/* __IBossRotatedDefinition_FWD_DEFINED__ */


#ifndef __ICutRotatedDefinition_FWD_DEFINED__
#define __ICutRotatedDefinition_FWD_DEFINED__
typedef interface ICutRotatedDefinition ICutRotatedDefinition;
#endif 	/* __ICutRotatedDefinition_FWD_DEFINED__ */


#ifndef __IBaseLoftDefinition_FWD_DEFINED__
#define __IBaseLoftDefinition_FWD_DEFINED__
typedef interface IBaseLoftDefinition IBaseLoftDefinition;
#endif 	/* __IBaseLoftDefinition_FWD_DEFINED__ */


#ifndef __IBossLoftDefinition_FWD_DEFINED__
#define __IBossLoftDefinition_FWD_DEFINED__
typedef interface IBossLoftDefinition IBossLoftDefinition;
#endif 	/* __IBossLoftDefinition_FWD_DEFINED__ */


#ifndef __ICutLoftDefinition_FWD_DEFINED__
#define __ICutLoftDefinition_FWD_DEFINED__
typedef interface ICutLoftDefinition ICutLoftDefinition;
#endif 	/* __ICutLoftDefinition_FWD_DEFINED__ */


#ifndef __IBaseEvolutionDefinition_FWD_DEFINED__
#define __IBaseEvolutionDefinition_FWD_DEFINED__
typedef interface IBaseEvolutionDefinition IBaseEvolutionDefinition;
#endif 	/* __IBaseEvolutionDefinition_FWD_DEFINED__ */


#ifndef __IBossEvolutionDefinition_FWD_DEFINED__
#define __IBossEvolutionDefinition_FWD_DEFINED__
typedef interface IBossEvolutionDefinition IBossEvolutionDefinition;
#endif 	/* __IBossEvolutionDefinition_FWD_DEFINED__ */


#ifndef __ICutEvolutionDefinition_FWD_DEFINED__
#define __ICutEvolutionDefinition_FWD_DEFINED__
typedef interface ICutEvolutionDefinition ICutEvolutionDefinition;
#endif 	/* __ICutEvolutionDefinition_FWD_DEFINED__ */


#ifndef __IFilletDefinition_FWD_DEFINED__
#define __IFilletDefinition_FWD_DEFINED__
typedef interface IFilletDefinition IFilletDefinition;
#endif 	/* __IFilletDefinition_FWD_DEFINED__ */


#ifndef __IChamferDefinition_FWD_DEFINED__
#define __IChamferDefinition_FWD_DEFINED__
typedef interface IChamferDefinition IChamferDefinition;
#endif 	/* __IChamferDefinition_FWD_DEFINED__ */


#ifndef __IShellDefinition_FWD_DEFINED__
#define __IShellDefinition_FWD_DEFINED__
typedef interface IShellDefinition IShellDefinition;
#endif 	/* __IShellDefinition_FWD_DEFINED__ */


#ifndef __ICopyMeshDefinition_FWD_DEFINED__
#define __ICopyMeshDefinition_FWD_DEFINED__
typedef interface ICopyMeshDefinition ICopyMeshDefinition;
#endif 	/* __ICopyMeshDefinition_FWD_DEFINED__ */


#ifndef __ICopyCircularDefinition_FWD_DEFINED__
#define __ICopyCircularDefinition_FWD_DEFINED__
typedef interface ICopyCircularDefinition ICopyCircularDefinition;
#endif 	/* __ICopyCircularDefinition_FWD_DEFINED__ */


#ifndef __ICopyCurveDefinition_FWD_DEFINED__
#define __ICopyCurveDefinition_FWD_DEFINED__
typedef interface ICopyCurveDefinition ICopyCurveDefinition;
#endif 	/* __ICopyCurveDefinition_FWD_DEFINED__ */


#ifndef __IMirrorDefinition_FWD_DEFINED__
#define __IMirrorDefinition_FWD_DEFINED__
typedef interface IMirrorDefinition IMirrorDefinition;
#endif 	/* __IMirrorDefinition_FWD_DEFINED__ */


#ifndef __IMirrorAllDefinition_FWD_DEFINED__
#define __IMirrorAllDefinition_FWD_DEFINED__
typedef interface IMirrorAllDefinition IMirrorAllDefinition;
#endif 	/* __IMirrorAllDefinition_FWD_DEFINED__ */


#ifndef __ICutByPlaneDefinition_FWD_DEFINED__
#define __ICutByPlaneDefinition_FWD_DEFINED__
typedef interface ICutByPlaneDefinition ICutByPlaneDefinition;
#endif 	/* __ICutByPlaneDefinition_FWD_DEFINED__ */


#ifndef __ICutBySketchDefinition_FWD_DEFINED__
#define __ICutBySketchDefinition_FWD_DEFINED__
typedef interface ICutBySketchDefinition ICutBySketchDefinition;
#endif 	/* __ICutBySketchDefinition_FWD_DEFINED__ */


#ifndef __IMeshPartArrayDefinition_FWD_DEFINED__
#define __IMeshPartArrayDefinition_FWD_DEFINED__
typedef interface IMeshPartArrayDefinition IMeshPartArrayDefinition;
#endif 	/* __IMeshPartArrayDefinition_FWD_DEFINED__ */


#ifndef __ICircularPartArrayDefinition_FWD_DEFINED__
#define __ICircularPartArrayDefinition_FWD_DEFINED__
typedef interface ICircularPartArrayDefinition ICircularPartArrayDefinition;
#endif 	/* __ICircularPartArrayDefinition_FWD_DEFINED__ */


#ifndef __ICurvePartArrayDefinition_FWD_DEFINED__
#define __ICurvePartArrayDefinition_FWD_DEFINED__
typedef interface ICurvePartArrayDefinition ICurvePartArrayDefinition;
#endif 	/* __ICurvePartArrayDefinition_FWD_DEFINED__ */


#ifndef __IDerivativePartArrayDefinition_FWD_DEFINED__
#define __IDerivativePartArrayDefinition_FWD_DEFINED__
typedef interface IDerivativePartArrayDefinition IDerivativePartArrayDefinition;
#endif 	/* __IDerivativePartArrayDefinition_FWD_DEFINED__ */


#ifndef __IInclineDefinition_FWD_DEFINED__
#define __IInclineDefinition_FWD_DEFINED__
typedef interface IInclineDefinition IInclineDefinition;
#endif 	/* __IInclineDefinition_FWD_DEFINED__ */


#ifndef __IRibDefinition_FWD_DEFINED__
#define __IRibDefinition_FWD_DEFINED__
typedef interface IRibDefinition IRibDefinition;
#endif 	/* __IRibDefinition_FWD_DEFINED__ */


#ifndef __IImportedSurfaceDefinition_FWD_DEFINED__
#define __IImportedSurfaceDefinition_FWD_DEFINED__
typedef interface IImportedSurfaceDefinition IImportedSurfaceDefinition;
#endif 	/* __IImportedSurfaceDefinition_FWD_DEFINED__ */


#ifndef __IPolygonalLineDefinition_FWD_DEFINED__
#define __IPolygonalLineDefinition_FWD_DEFINED__
typedef interface IPolygonalLineDefinition IPolygonalLineDefinition;
#endif 	/* __IPolygonalLineDefinition_FWD_DEFINED__ */


#ifndef __IConicSpiralDefinition_FWD_DEFINED__
#define __IConicSpiralDefinition_FWD_DEFINED__
typedef interface IConicSpiralDefinition IConicSpiralDefinition;
#endif 	/* __IConicSpiralDefinition_FWD_DEFINED__ */


#ifndef __ISplineDefinition_FWD_DEFINED__
#define __ISplineDefinition_FWD_DEFINED__
typedef interface ISplineDefinition ISplineDefinition;
#endif 	/* __ISplineDefinition_FWD_DEFINED__ */


#ifndef __ICylindricSpiralDefinition_FWD_DEFINED__
#define __ICylindricSpiralDefinition_FWD_DEFINED__
typedef interface ICylindricSpiralDefinition ICylindricSpiralDefinition;
#endif 	/* __ICylindricSpiralDefinition_FWD_DEFINED__ */


#ifndef __IEvolutionSurfaceDefinition_FWD_DEFINED__
#define __IEvolutionSurfaceDefinition_FWD_DEFINED__
typedef interface IEvolutionSurfaceDefinition IEvolutionSurfaceDefinition;
#endif 	/* __IEvolutionSurfaceDefinition_FWD_DEFINED__ */


#ifndef __IExtrusionSurfaceDefinition_FWD_DEFINED__
#define __IExtrusionSurfaceDefinition_FWD_DEFINED__
typedef interface IExtrusionSurfaceDefinition IExtrusionSurfaceDefinition;
#endif 	/* __IExtrusionSurfaceDefinition_FWD_DEFINED__ */


#ifndef __IRotatedSurfaceDefinition_FWD_DEFINED__
#define __IRotatedSurfaceDefinition_FWD_DEFINED__
typedef interface IRotatedSurfaceDefinition IRotatedSurfaceDefinition;
#endif 	/* __IRotatedSurfaceDefinition_FWD_DEFINED__ */


#ifndef __ILoftSurfaceDefinition_FWD_DEFINED__
#define __ILoftSurfaceDefinition_FWD_DEFINED__
typedef interface ILoftSurfaceDefinition ILoftSurfaceDefinition;
#endif 	/* __ILoftSurfaceDefinition_FWD_DEFINED__ */


#ifndef __IMacro3DDefinition_FWD_DEFINED__
#define __IMacro3DDefinition_FWD_DEFINED__
typedef interface IMacro3DDefinition IMacro3DDefinition;
#endif 	/* __IMacro3DDefinition_FWD_DEFINED__ */


#ifndef __IAxisConefaceDefinition_FWD_DEFINED__
#define __IAxisConefaceDefinition_FWD_DEFINED__
typedef interface IAxisConefaceDefinition IAxisConefaceDefinition;
#endif 	/* __IAxisConefaceDefinition_FWD_DEFINED__ */


#ifndef __IUnionComponentsDefinition_FWD_DEFINED__
#define __IUnionComponentsDefinition_FWD_DEFINED__
typedef interface IUnionComponentsDefinition IUnionComponentsDefinition;
#endif 	/* __IUnionComponentsDefinition_FWD_DEFINED__ */


#ifndef __IMoldCavityDefinition_FWD_DEFINED__
#define __IMoldCavityDefinition_FWD_DEFINED__
typedef interface IMoldCavityDefinition IMoldCavityDefinition;
#endif 	/* __IMoldCavityDefinition_FWD_DEFINED__ */


#ifndef __IPlaneMiddleDefinition_FWD_DEFINED__
#define __IPlaneMiddleDefinition_FWD_DEFINED__
typedef interface IPlaneMiddleDefinition IPlaneMiddleDefinition;
#endif 	/* __IPlaneMiddleDefinition_FWD_DEFINED__ */


#ifndef __IControlPointDefinition_FWD_DEFINED__
#define __IControlPointDefinition_FWD_DEFINED__
typedef interface IControlPointDefinition IControlPointDefinition;
#endif 	/* __IControlPointDefinition_FWD_DEFINED__ */


#ifndef __IConjunctivePointDefinition_FWD_DEFINED__
#define __IConjunctivePointDefinition_FWD_DEFINED__
typedef interface IConjunctivePointDefinition IConjunctivePointDefinition;
#endif 	/* __IConjunctivePointDefinition_FWD_DEFINED__ */


#ifndef __IAggregateDefinition_FWD_DEFINED__
#define __IAggregateDefinition_FWD_DEFINED__
typedef interface IAggregateDefinition IAggregateDefinition;
#endif 	/* __IAggregateDefinition_FWD_DEFINED__ */


#ifndef __IPolygonalLineVertexParam_FWD_DEFINED__
#define __IPolygonalLineVertexParam_FWD_DEFINED__
typedef interface IPolygonalLineVertexParam IPolygonalLineVertexParam;
#endif 	/* __IPolygonalLineVertexParam_FWD_DEFINED__ */


#ifndef __IDefaultObject_FWD_DEFINED__
#define __IDefaultObject_FWD_DEFINED__
typedef interface IDefaultObject IDefaultObject;
#endif 	/* __IDefaultObject_FWD_DEFINED__ */


#ifndef __IBodyParts_FWD_DEFINED__
#define __IBodyParts_FWD_DEFINED__
typedef interface IBodyParts IBodyParts;
#endif 	/* __IBodyParts_FWD_DEFINED__ */


#ifndef __IMassInertiaParam_FWD_DEFINED__
#define __IMassInertiaParam_FWD_DEFINED__
typedef interface IMassInertiaParam IMassInertiaParam;
#endif 	/* __IMassInertiaParam_FWD_DEFINED__ */


#ifndef __IMeasurer_FWD_DEFINED__
#define __IMeasurer_FWD_DEFINED__
typedef interface IMeasurer IMeasurer;
#endif 	/* __IMeasurer_FWD_DEFINED__ */


#ifndef __IBody_FWD_DEFINED__
#define __IBody_FWD_DEFINED__
typedef interface IBody IBody;
#endif 	/* __IBody_FWD_DEFINED__ */


#ifndef __ISurface_FWD_DEFINED__
#define __ISurface_FWD_DEFINED__
typedef interface ISurface ISurface;
#endif 	/* __ISurface_FWD_DEFINED__ */


#ifndef __ITessellation_FWD_DEFINED__
#define __ITessellation_FWD_DEFINED__
typedef interface ITessellation ITessellation;
#endif 	/* __ITessellation_FWD_DEFINED__ */


#ifndef __ICurve3D_FWD_DEFINED__
#define __ICurve3D_FWD_DEFINED__
typedef interface ICurve3D ICurve3D;
#endif 	/* __ICurve3D_FWD_DEFINED__ */


#ifndef __IFacet_FWD_DEFINED__
#define __IFacet_FWD_DEFINED__
typedef interface IFacet IFacet;
#endif 	/* __IFacet_FWD_DEFINED__ */


#ifndef __ILoop_FWD_DEFINED__
#define __ILoop_FWD_DEFINED__
typedef interface ILoop ILoop;
#endif 	/* __ILoop_FWD_DEFINED__ */


#ifndef __IOrientedEdge_FWD_DEFINED__
#define __IOrientedEdge_FWD_DEFINED__
typedef interface IOrientedEdge IOrientedEdge;
#endif 	/* __IOrientedEdge_FWD_DEFINED__ */


#ifndef __ILineSeg3dParam_FWD_DEFINED__
#define __ILineSeg3dParam_FWD_DEFINED__
typedef interface ILineSeg3dParam ILineSeg3dParam;
#endif 	/* __ILineSeg3dParam_FWD_DEFINED__ */


#ifndef __ICircle3dParam_FWD_DEFINED__
#define __ICircle3dParam_FWD_DEFINED__
typedef interface ICircle3dParam ICircle3dParam;
#endif 	/* __ICircle3dParam_FWD_DEFINED__ */


#ifndef __IEllipse3dParam_FWD_DEFINED__
#define __IEllipse3dParam_FWD_DEFINED__
typedef interface IEllipse3dParam IEllipse3dParam;
#endif 	/* __IEllipse3dParam_FWD_DEFINED__ */


#ifndef __INurbsPoint3dParam_FWD_DEFINED__
#define __INurbsPoint3dParam_FWD_DEFINED__
typedef interface INurbsPoint3dParam INurbsPoint3dParam;
#endif 	/* __INurbsPoint3dParam_FWD_DEFINED__ */


#ifndef __INurbs3dParam_FWD_DEFINED__
#define __INurbs3dParam_FWD_DEFINED__
typedef interface INurbs3dParam INurbs3dParam;
#endif 	/* __INurbs3dParam_FWD_DEFINED__ */


#ifndef __IPlaneParam_FWD_DEFINED__
#define __IPlaneParam_FWD_DEFINED__
typedef interface IPlaneParam IPlaneParam;
#endif 	/* __IPlaneParam_FWD_DEFINED__ */


#ifndef __IConeParam_FWD_DEFINED__
#define __IConeParam_FWD_DEFINED__
typedef interface IConeParam IConeParam;
#endif 	/* __IConeParam_FWD_DEFINED__ */


#ifndef __ICylinderParam_FWD_DEFINED__
#define __ICylinderParam_FWD_DEFINED__
typedef interface ICylinderParam ICylinderParam;
#endif 	/* __ICylinderParam_FWD_DEFINED__ */


#ifndef __ISphereParam_FWD_DEFINED__
#define __ISphereParam_FWD_DEFINED__
typedef interface ISphereParam ISphereParam;
#endif 	/* __ISphereParam_FWD_DEFINED__ */


#ifndef __ITorusParam_FWD_DEFINED__
#define __ITorusParam_FWD_DEFINED__
typedef interface ITorusParam ITorusParam;
#endif 	/* __ITorusParam_FWD_DEFINED__ */


#ifndef __INurbsSurfaceParam_FWD_DEFINED__
#define __INurbsSurfaceParam_FWD_DEFINED__
typedef interface INurbsSurfaceParam INurbsSurfaceParam;
#endif 	/* __INurbsSurfaceParam_FWD_DEFINED__ */


#ifndef __IArc3dParam_FWD_DEFINED__
#define __IArc3dParam_FWD_DEFINED__
typedef interface IArc3dParam IArc3dParam;
#endif 	/* __IArc3dParam_FWD_DEFINED__ */


#ifndef __ISTrackingPointsMeasurer_FWD_DEFINED__
#define __ISTrackingPointsMeasurer_FWD_DEFINED__
typedef interface ISTrackingPointsMeasurer ISTrackingPointsMeasurer;
#endif 	/* __ISTrackingPointsMeasurer_FWD_DEFINED__ */


#ifndef __IPartCollection_FWD_DEFINED__
#define __IPartCollection_FWD_DEFINED__
typedef interface IPartCollection IPartCollection;
#endif 	/* __IPartCollection_FWD_DEFINED__ */


#ifndef __IEntityCollection_FWD_DEFINED__
#define __IEntityCollection_FWD_DEFINED__
typedef interface IEntityCollection IEntityCollection;
#endif 	/* __IEntityCollection_FWD_DEFINED__ */


#ifndef __IMateConstraintCollection_FWD_DEFINED__
#define __IMateConstraintCollection_FWD_DEFINED__
typedef interface IMateConstraintCollection IMateConstraintCollection;
#endif 	/* __IMateConstraintCollection_FWD_DEFINED__ */


#ifndef __IViewProjectionCollection_FWD_DEFINED__
#define __IViewProjectionCollection_FWD_DEFINED__
typedef interface IViewProjectionCollection IViewProjectionCollection;
#endif 	/* __IViewProjectionCollection_FWD_DEFINED__ */


#ifndef __IVariableCollection_FWD_DEFINED__
#define __IVariableCollection_FWD_DEFINED__
typedef interface IVariableCollection IVariableCollection;
#endif 	/* __IVariableCollection_FWD_DEFINED__ */


#ifndef __IFeatureCollection_FWD_DEFINED__
#define __IFeatureCollection_FWD_DEFINED__
typedef interface IFeatureCollection IFeatureCollection;
#endif 	/* __IFeatureCollection_FWD_DEFINED__ */


#ifndef __IFaceCollection_FWD_DEFINED__
#define __IFaceCollection_FWD_DEFINED__
typedef interface IFaceCollection IFaceCollection;
#endif 	/* __IFaceCollection_FWD_DEFINED__ */


#ifndef __IEdgeCollection_FWD_DEFINED__
#define __IEdgeCollection_FWD_DEFINED__
typedef interface IEdgeCollection IEdgeCollection;
#endif 	/* __IEdgeCollection_FWD_DEFINED__ */


#ifndef __IDeletedCopyCollection_FWD_DEFINED__
#define __IDeletedCopyCollection_FWD_DEFINED__
typedef interface IDeletedCopyCollection IDeletedCopyCollection;
#endif 	/* __IDeletedCopyCollection_FWD_DEFINED__ */


#ifndef __IAttribute3DCollection_FWD_DEFINED__
#define __IAttribute3DCollection_FWD_DEFINED__
typedef interface IAttribute3DCollection IAttribute3DCollection;
#endif 	/* __IAttribute3DCollection_FWD_DEFINED__ */


#ifndef __IBodyCollection_FWD_DEFINED__
#define __IBodyCollection_FWD_DEFINED__
typedef interface IBodyCollection IBodyCollection;
#endif 	/* __IBodyCollection_FWD_DEFINED__ */


#ifndef __ILoopCollection_FWD_DEFINED__
#define __ILoopCollection_FWD_DEFINED__
typedef interface ILoopCollection ILoopCollection;
#endif 	/* __ILoopCollection_FWD_DEFINED__ */


#ifndef __IOrientedEdgeCollection_FWD_DEFINED__
#define __IOrientedEdgeCollection_FWD_DEFINED__
typedef interface IOrientedEdgeCollection IOrientedEdgeCollection;
#endif 	/* __IOrientedEdgeCollection_FWD_DEFINED__ */


#ifndef __INurbsPoint3dCollection_FWD_DEFINED__
#define __INurbsPoint3dCollection_FWD_DEFINED__
typedef interface INurbsPoint3dCollection INurbsPoint3dCollection;
#endif 	/* __INurbsPoint3dCollection_FWD_DEFINED__ */


#ifndef __INurbsPoint3dCollCollection_FWD_DEFINED__
#define __INurbsPoint3dCollCollection_FWD_DEFINED__
typedef interface INurbsPoint3dCollCollection INurbsPoint3dCollCollection;
#endif 	/* __INurbsPoint3dCollCollection_FWD_DEFINED__ */


#ifndef __INurbsKnotCollection_FWD_DEFINED__
#define __INurbsKnotCollection_FWD_DEFINED__
typedef interface INurbsKnotCollection INurbsKnotCollection;
#endif 	/* __INurbsKnotCollection_FWD_DEFINED__ */


#ifndef __ICoordinate3dCollection_FWD_DEFINED__
#define __ICoordinate3dCollection_FWD_DEFINED__
typedef interface ICoordinate3dCollection ICoordinate3dCollection;
#endif 	/* __ICoordinate3dCollection_FWD_DEFINED__ */


#ifndef __IIntersectionResult_FWD_DEFINED__
#define __IIntersectionResult_FWD_DEFINED__
typedef interface IIntersectionResult IIntersectionResult;
#endif 	/* __IIntersectionResult_FWD_DEFINED__ */


#ifndef __IObject3DNotifyResult_FWD_DEFINED__
#define __IObject3DNotifyResult_FWD_DEFINED__
typedef interface IObject3DNotifyResult IObject3DNotifyResult;
#endif 	/* __IObject3DNotifyResult_FWD_DEFINED__ */


#ifndef __IDocument3DNotify_FWD_DEFINED__
#define __IDocument3DNotify_FWD_DEFINED__
typedef interface IDocument3DNotify IDocument3DNotify;
#endif 	/* __IDocument3DNotify_FWD_DEFINED__ */


#ifndef __IObject3DNotify_FWD_DEFINED__
#define __IObject3DNotify_FWD_DEFINED__
typedef interface IObject3DNotify IObject3DNotify;
#endif 	/* __IObject3DNotify_FWD_DEFINED__ */


#ifndef __IDocument3DNotifyResult_FWD_DEFINED__
#define __IDocument3DNotifyResult_FWD_DEFINED__
typedef interface IDocument3DNotifyResult IDocument3DNotifyResult;
#endif 	/* __IDocument3DNotifyResult_FWD_DEFINED__ */


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


#ifndef __Kompas6API3D5COM_LIBRARY_DEFINED__
#define __Kompas6API3D5COM_LIBRARY_DEFINED__

/* library Kompas6API3D5COM */
/* [version][uuid] */ 








































































































































//-------------------------------------------------------------------------------
//  
// ---
  // IDocument3D           -   
  // IPart                 -       
  // IEntity               -    (, ,  )
  // IColorParam           -       
  // ISpecification3D      -     
  // IPlacement            -    ( )
  // IRequestInfo          -     
  // IMateConstraint       -    
  // IRasterFormatParam    -        
  // IAdditionFormatParam  -        IGES, SAT, XT, X_B, STEP, STL, VRML
  // ISelectionMng         -    
  // IChooseMng            -    () 
  // IFeature              -   
  // IViewProjection       -      
  // IVariable             -     
  // IModelLibrary         -    
  // IThinParam            -     
  // IExtrusionParam       -    
  // IRotatedParam         -    
  // IAttribute3D          -  
  // IComponentPositioner  -       [31/3/2004]
  // IObjectsFilter3D      -      [17/05/2004]


//-------------------------------------------------------------------------------
//   (Definition)
// ---
  // IFaceDefinition                  -    
  // IEdgeDefinition                  -    
  // IVertexDefinition                -    
  // ISketchDefinition                -    
  // IThreadDefinition                -    
  // IAxis2PointsDefinition           -     ,    
  // IAxis2PlanesDefinition           -         
  // IAxisOperationsDefinition        -      
  // IAxisConefaceDefinition          -      
  // IAxisEdgeDefinition              -     ,    
  // IPlaneOffsetDefinition           -     
  // IPlane3PointsDefinition          -     ,     
  // IPlaneAngleDefinition            -     ,      ,       
  // IPlaneEdgePointDefinition        -    ,     
  // IPlaneParallelDefinition         -    ,      
  // IPlanePerpendicularDefinition    -    ,     
  // IPlaneNormalToSurfaceDefinition  -     
  // IPlaneTangentToSurfaceDefinition -     
  // IPlaneLineToEdgeDefinition       -    ,        
  // IPlaneLineToPlaneDefinition      -    ,       
  // IBaseExtrusionDefinition         -     -  
  // IBossExtrusionDefinition         -      
  // ICutExtrusionDefinition          -      
  // IBaseRotatedDefinition           -     -  
  // IBossRotatedDefinition           -     
  // ICutRotatedDefinition            -     
  // IBaseLoftDefinition              -     -   
  // IBossLoftDefinition              -      
  // ICutLoftDefinition               -       
  // IBaseEvolutionDefinition         -     -  
  // IBossEvolutionDefinition         -     
  // ICutEvolutionDefinition          -     
  // IFilletDefinition                -     ''
  // IChamferDefinition               -    
  // IShellDefinition                 -    
  // ICopyMeshDefinition              -      
  // ICopyCircularDefinition          -       
  // ICopyCurveDefinition             -      
  // IMirrorDefinition                -    
  // IMirrorAllDefinition             -      
  // ICutByPlaneDefinition            -     
  // ICutBySketchDefinition           -     
  // IMeshPartArrayDefinition         -         
  // ICircularPartArrayDefinition     -        
  // ICurvePartArrayDefinition        -        
  // IDerivativePartArrayDefinition   -     
  // IInclineDefinition               -   
  // IRibDefinition                   -    
  // IImportedSurfaceDefinition       -     
  // IPolygonalLineDefinition         -    
  // IConicSpiralDefinition           -     
  // ISplineDefinition                -    
  // ICylindricSpiralDefinition       -     
  // IEvolutionSurfaceDefinition      -     
  // IMacro3DDefinition               -    3D
  // IAxisConefaceDefinition          -       
  // IUnionComponentsDefinition       -      
  // IMoldCavityDefinition            -      
  // IAggregateDefinition             -    
  // IPolygonalLineVertexParam;       -     
  // IDefaultObject;                  -    


//-------------------------------------------------------------------------------
//  
// ---

  ////////////////////////////////////////////////////////////////////////////////
  //
  //      (IBody).   IBody
  //      ().
  //
  //         .
  //
  // (IFaceDefinition)    ( ISurface),
  //      ( )    
  // , TRUE        .
  //
  // ISurface -      .
  //
  // ILoopDefinition -  (  ). 
  //   ,      .
  //
  //  (IOrientedEdge); -  .  
  //      .  .
  // (IEdgeDefinition) -    .   
  //     (ICurve3D)   
  // .     ()    ().
  //
  ////////////////////////////////////////////////////////////////////////////////

  // IMassInertiaParam  -     - 
  // IMeasurer          -          ( , , )
  // IBody              -   
  // ISurface           -      
  // ITessellation      -  
  // ICurve3D           -      
  // IFacet             -   
  // ILoop              -  
  // IOrientedEdge      -   
  // ILineSeg3dParam    -   3D LineSeg
  // ICircle3dParam     -   3D Circle
  // IEllipse3dParam    -   3D Ellipse
  // INurbsPoint3dParam -     Nurbs 3D
  // INurbs3dParam      -   Nurbs- 3D
  // IPlaneParam        -   
  // IConeParam         -    
  // ICylinderParam     -    
  // ISphereParam       -   
  // ITorusParam        -   
  // INurbsSurfaceParam -   Nurbs-
  // IArc3dParam        -   3d Arc
  // IChooseBodies;     -         
  
  
//-------------------------------------------------------------------------------
// _5_ 
// ---
  // IPartCollection           -     
  // IEntityCollection         -    
  // IMateConstraintCollection -      
  // IViewProjectionCollection -       
  // IVariableCollection       -     
  // IFeatureCollection        -    
  // IFaceCollection           -   
  // IEdgeCollection           -   
  // IDeletedCopyCollection    -          
  // IAttribute3DCollection    -     3D
  
  
//-------------------------------------------------------------------------------
// _6_  
// ---
  // IBodyCollection             -    
  // ILoopCollection             -   
  // IOrientedEdgeCollection     -    
  // INurbsPoint3dCollection     -     Nurbs 3D
  // INurbsPoint3dCollCollection -      Nurbs 3D Surface
  // INurbsKnotCollection        -     Nurbs 3D
  // ICoordinate3dCollectio      -     3D
  // IIntersectionResult         -     
  
  
//-------------------------------------------------------------------------------
// _7_    
// ---
  // IObject3DNotifyResult   -    3D 
  // IDocument3DNotify       - COM  :   3D 
  // IObject3DNotify         - COM  :    3D 
  // IDocument3DNotifyResult -      3D
  
  
//-------------------------------------------------------------------------------
//    
// ---
typedef IObject3DNotifyResult __RPC_FAR *LPOBJECT3DNOTIFYRESULT;

typedef IDocument3DNotifyResult __RPC_FAR *LPIDOCUMENT3DNOTIFYRESULT;

typedef IDocument3DNotify __RPC_FAR *LPDOCUMENT3DNOTIFY;

typedef IObject3DNotify __RPC_FAR *LPOBJECT3DNOTIFY;

typedef IDocument3D __RPC_FAR *LPDOCUMENT3D;

typedef IPart __RPC_FAR *LPPART;

typedef IEntity __RPC_FAR *LPENTITY;

typedef IRequestInfo __RPC_FAR *LPREQUESTINFO;

typedef IEntityCollection __RPC_FAR *LPENTITYCOLLECTION;

typedef IMateConstraintCollection __RPC_FAR *LPMATECONSTRAINTCOLLECTION;

typedef ISpecification3D __RPC_FAR *LPSPECIFICATION3D;

typedef IMateConstraint __RPC_FAR *LPMATECONSTRAINT;

typedef IPartCollection __RPC_FAR *LPPARTCOLLECTION;

typedef IRasterFormatParam __RPC_FAR *LPRASTERFORMATPARAM;

typedef IAdditionFormatParam __RPC_FAR *LPADDITIONFORMATPARAM;

typedef IViewProjectionCollection __RPC_FAR *LPVIEWPROJECTIONCOLLECTION;

typedef ISelectionMng __RPC_FAR *LPSELECTIONMNG;

typedef IChooseMng __RPC_FAR *LPCHOOSEMNG;

typedef IColorParam __RPC_FAR *LPCOLORPARAM;

typedef IPlacement __RPC_FAR *LPPLACEMENT;

typedef IVariableCollection __RPC_FAR *LPVARIABLECOLLECTION;

typedef IBodyCollection __RPC_FAR *LPBODYCOLLECTION;

typedef IFeature __RPC_FAR *LPFEATURE;

typedef IMassInertiaParam __RPC_FAR *LPMASSINERTIAPARAM;

typedef IMeasurer __RPC_FAR *LPMEASURER;

typedef IBody __RPC_FAR *LPBODY;

typedef IViewProjection __RPC_FAR *LPVIEWPROJECTION;

typedef IVariable __RPC_FAR *LPVARIABLE;

typedef IFeatureCollection __RPC_FAR *LPFEATURECOLLECTION;

typedef IFaceCollection __RPC_FAR *LPFACECOLLECTION;

typedef IFaceDefinition __RPC_FAR *LPFACEDEFINITION;

typedef ISurface __RPC_FAR *LPSURFACE;

typedef ILoopCollection __RPC_FAR *LPLOOPCOLLECTION;

typedef IEdgeCollection __RPC_FAR *LPEDGECOLLECTION;

typedef ITessellation __RPC_FAR *LPTESSELLATION;

typedef ILoop __RPC_FAR *LPLOOP;

typedef IEdgeDefinition __RPC_FAR *LPEDGEDEFINITION;

typedef ICurve3D __RPC_FAR *LPCURVE3D;

typedef IVertexDefinition __RPC_FAR *LPVERTEXDEFINITION;

typedef IOrientedEdgeCollection __RPC_FAR *LPORIENTEDEDGECOLLECTION;

typedef IFacet __RPC_FAR *LPFACET;

typedef IOrientedEdge __RPC_FAR *LPORIENTEDEDGE;

typedef IModelLibrary __RPC_FAR *LPMODELLIBRARY;

typedef IThinParam __RPC_FAR *LPTHINPARAM;

typedef IExtrusionParam __RPC_FAR *LPEXTRUSIONPARAM;

typedef IRotatedParam __RPC_FAR *LPROTATEDPARAM;

typedef IAttribute3D __RPC_FAR *LPATTRIBUTE3D;

typedef ISketchDefinition __RPC_FAR *LPSKETCHDEFINITION;

typedef IThreadDefinition __RPC_FAR *LPTHREADDEFINITION;

typedef IAxis2PointsDefinition __RPC_FAR *LPAXIS2POINTSDEFINITION;

typedef IAxis2PlanesDefinition __RPC_FAR *LPAXIS2PLANESDEFINITION;

typedef IAxisOperationsDefinition __RPC_FAR *LPAXISOPERATIONSDEFINITION;

typedef IAxisConefaceDefinition __RPC_FAR *LPAXISCONEFACEDEFINITION;

typedef IAxisEdgeDefinition __RPC_FAR *LPAXISEDGEDEFINITION;

typedef IPlaneOffsetDefinition __RPC_FAR *LPPLANEOFFSETDEFINITION;

typedef IPlane3PointsDefinition __RPC_FAR *LPPLANE3POINTSDEFINITION;

typedef IPlaneAngleDefinition __RPC_FAR *LPPLANEANGLEDEFINITION;

typedef IPlaneEdgePointDefinition __RPC_FAR *LPPLANEEDGEPOINTDEFINITION;

typedef IPlaneParallelDefinition __RPC_FAR *LPPLANEPARALLELDEFINITION;

typedef IPlanePerpendicularDefinition __RPC_FAR *LPPLANEPERPENDICULARDEFINITION;

typedef IPlaneNormalToSurfaceDefinition __RPC_FAR *LPPLANENORMALTOSURFACEDEFINITION;

typedef IPlaneTangentToSurfaceDefinition __RPC_FAR *LPPLANETANGENTTOSURFACEDEFINITION;

typedef IPlaneLineToEdgeDefinition __RPC_FAR *LPPLANELINETOEDGEDEFINITION;

typedef IPlaneLineToPlaneDefinition __RPC_FAR *LPPLANELINETOPLANEDEFINITION;

typedef IBaseExtrusionDefinition __RPC_FAR *LPBASEEXTRUSIONDEFINITION;

typedef IBossExtrusionDefinition __RPC_FAR *LPBOSSEXTRUSIONDEFINITION;

typedef ICutExtrusionDefinition __RPC_FAR *LPCUTEXTRUSIONDEFINITION;

typedef IExtrusionSurfaceDefinition __RPC_FAR *LPEXTRUSIONSURFACEDEFINITION;

typedef IBaseRotatedDefinition __RPC_FAR *LPBASEROTATEDDEFINITION;

typedef IBossRotatedDefinition __RPC_FAR *LPBOSSROTATEDDEFINITION;

typedef ICutRotatedDefinition __RPC_FAR *LPCUTROTATEDDEFINITION;

typedef IRotatedSurfaceDefinition __RPC_FAR *LPROTATEDSURFAKEDEFINITION;

typedef IBaseLoftDefinition __RPC_FAR *LPBASELOFTDEFINITION;

typedef IBossLoftDefinition __RPC_FAR *LPBOSSLOFTDEFINITION;

typedef ICutLoftDefinition __RPC_FAR *LPCUTLOFTDEFINITION;

typedef ILoftSurfaceDefinition __RPC_FAR *LPLOFTSURFAKEDEFINITION;

typedef IBaseEvolutionDefinition __RPC_FAR *LPBASEEVOLUTIONDEFINITION;

typedef IBossEvolutionDefinition __RPC_FAR *LPBOSSEVOLUTIONDEFINITION;

typedef ICutEvolutionDefinition __RPC_FAR *LPCUTEVOLUTIONDEFINITION;

typedef IEvolutionSurfaceDefinition __RPC_FAR *LPEVOLUTIONSURFACEDEFINITION;

typedef IFilletDefinition __RPC_FAR *LPFILLETDEFINITION;

typedef IChamferDefinition __RPC_FAR *LPCHAMFERDEFINITION;

typedef IShellDefinition __RPC_FAR *LPSHELLDEFINITION;

typedef ICopyMeshDefinition __RPC_FAR *LPCOPYMESHDEFINITION;

typedef ICopyCircularDefinition __RPC_FAR *LPCOPYCIRCULARDEFINITION;

typedef ICopyCurveDefinition __RPC_FAR *LPCOPYCURVEDEFINITION;

typedef IMirrorDefinition __RPC_FAR *LPMIRRORDEFINITION;

typedef IMirrorAllDefinition __RPC_FAR *LPMIRRORALLDEFINITION;

typedef ICutByPlaneDefinition __RPC_FAR *LPCUTBYPLANEDEFINITION;

typedef ICutBySketchDefinition __RPC_FAR *LPCUTBYSKETCHDEFINITION;

typedef IDeletedCopyCollection __RPC_FAR *LPDELETEDCOPYCOLLECTION;

typedef IMeshPartArrayDefinition __RPC_FAR *LPMESHPARTARRAYDEFINITION;

typedef ICircularPartArrayDefinition __RPC_FAR *LPCOPYPARTCIRCULARDEFINITION;

typedef ICurvePartArrayDefinition __RPC_FAR *LPCURVEPARTARRAYDEFINITION;

typedef IDerivativePartArrayDefinition __RPC_FAR *LPDERIVATIVEPARTARRAYDEFINITION;

typedef IInclineDefinition __RPC_FAR *LPINCLINEDEFINITION;

typedef IRibDefinition __RPC_FAR *LPRIBDEFINITION;

typedef IImportedSurfaceDefinition __RPC_FAR *LPIMPORTEDSURFACEDEFINITION;

typedef IPolygonalLineDefinition __RPC_FAR *LPPOLYGONALLINEDEFINITION;

typedef IConicSpiralDefinition __RPC_FAR *LPCONICSPIRALDEFINITION;

typedef ISplineDefinition __RPC_FAR *LPSPLINEDEFINITION;

typedef ICylindricSpiralDefinition __RPC_FAR *LPCYLINDRICSPIRALDEFINITION;

typedef ILineSeg3dParam __RPC_FAR *LPLINESEG3DPARAM;

typedef ICircle3dParam __RPC_FAR *LPCIRCLE3DPARAM;

typedef IEllipse3dParam __RPC_FAR *LPELLIPSE3DPARAM;

typedef INurbsPoint3dParam __RPC_FAR *LPNURBSPOINT3DPARAM;

typedef INurbsPoint3dCollection __RPC_FAR *LPNURBSPOINT3DCOLLECTION;

typedef INurbsPoint3dCollCollection __RPC_FAR *LPNURBSPOINT3DCOLLCOLLECTION;

typedef INurbsKnotCollection __RPC_FAR *LPNURBSKNOTCOLLECTION;

typedef INurbs3dParam __RPC_FAR *LPNURBS3DPARAM;

typedef IPlaneParam __RPC_FAR *LPPLANEPARAM;

typedef IConeParam __RPC_FAR *LPCONEPARAM;

typedef ICylinderParam __RPC_FAR *LPCYLINDERPARAM;

typedef ISphereParam __RPC_FAR *LPSPHEREPARAM;

typedef ITorusParam __RPC_FAR *LPTORUSPARAM;

typedef INurbsSurfaceParam __RPC_FAR *LPNURBSSURFACEPARAM;

typedef IArc3dParam __RPC_FAR *LPARC3DPARAM;

typedef IAttribute3DCollection __RPC_FAR *LPATTRIBUTE3DCOLLECTION;

typedef IComponentPositioner __RPC_FAR *LPCOMPONENTPOSITIONER;

typedef IObjectsFilter3D __RPC_FAR *LPOBJECTSFILTER3D;

typedef IMacro3DDefinition __RPC_FAR *LPMACRO3DDEFINITION;

typedef ICoordinate3dCollection __RPC_FAR *LPCOORDINATE3DCOLLECTION;

typedef IIntersectionResult __RPC_FAR *LPINTERSECTIONRESULT;

typedef IChooseBodies __RPC_FAR *LPCHOOSEBODIES;

typedef IAggregateDefinition __RPC_FAR *LPAGGREGATEDEFINITION;

typedef IPolygonalLineVertexParam __RPC_FAR *LPPOLYGONALLINEVERTEXPARAM;

typedef IChooseParts __RPC_FAR *LPCHOOSEPARTS;

typedef IBodyParts __RPC_FAR *LPBODYPARTS;


DEFINE_GUID(LIBID_Kompas6API3D5COM,0x006C01C3,0xFA63,0x4f20,0xB9,0x30,0xCC,0xE6,0xDD,0x3A,0x92,0x36);

#ifndef __IDocument3D_INTERFACE_DEFINED__
#define __IDocument3D_INTERFACE_DEFINED__

/* interface IDocument3D */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IDocument3D,0x7AA0E540,0x0302,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0302-11D4-A30E-00C026EE094F")
    IDocument3D : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE UpdateDocumentParam( void) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetFileName( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFileName( 
            LPOLESTR name) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetComment( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetComment( 
            LPOLESTR comment) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetAuthor( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAuthor( 
            LPOLESTR author) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsActive( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetActive( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetInvisibleMode( void) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE GetPart( 
            long type) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Create( 
            BOOL invisible,
            BOOL _typeDoc) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Open( 
            LPOLESTR fileName,
            BOOL invisible) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Save( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SaveAs( 
            LPOLESTR fileName) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Close( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE UserSelectEntity( 
            LPENTITY defSelectObject,
            void __RPC_FAR *fnFilter,
            LPOLESTR prompt) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE UserGetCursor( 
            LPOLESTR prompt,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsEditMode( void) = 0;
        
        virtual /* [helpstring] */ LPREQUESTINFO STDMETHODCALLTYPE GetRequestInfo( 
            LPPART part) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE UserGetPlacementAndEntity( 
            long entityCount) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE EntityCollection( 
            short objType,
            BOOL checkEntity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPartFromFile( 
            LPOLESTR fileName,
            LPPART part,
            BOOL externalFile) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE CreatePartFromFile( 
            LPOLESTR fileName,
            LPPART part,
            LPENTITY plane) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsDetail( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE ChangeObjectInLibRequest( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE StopLibRequest( void) = 0;
        
        virtual /* [helpstring] */ LPMATECONSTRAINTCOLLECTION STDMETHODCALLTYPE MateConstraintCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddMateConstraint( 
            long constraintType,
            LPENTITY obj1,
            LPENTITY obj2,
            short direction,
            short fixed,
            double val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE RemoveMateConstraint( 
            long constraintType,
            LPENTITY obj1,
            LPENTITY obj2) = 0;
        
        virtual /* [helpstring] */ LPSPECIFICATION3D STDMETHODCALLTYPE GetSpecification( void) = 0;
        
        virtual /* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE GetMateConstraint( void) = 0;
        
        virtual /* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE PartCollection( 
            BOOL refresh) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE ZoomPrevNextOrAll( 
            short type) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE RefreshActiveWindow( void) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE CreatePartInAssembly( 
            LPOLESTR fileName,
            LPENTITY plane) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE RebuildDocument( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SaveAsToRasterFormat( 
            LPOLESTR fileName,
            LPRASTERFORMATPARAM par) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SaveAsToAdditionFormat( 
            LPOLESTR fileName,
            LPADDITIONFORMATPARAM par) = 0;
        
        virtual /* [helpstring] */ LPRASTERFORMATPARAM STDMETHODCALLTYPE RasterFormatParam( void) = 0;
        
        virtual /* [helpstring] */ LPADDITIONFORMATPARAM STDMETHODCALLTYPE AdditionFormatParam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPerspective( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPerspective( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDrawMode( 
            int mode) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetDrawMode( void) = 0;
        
        virtual /* [helpstring] */ LPVIEWPROJECTIONCOLLECTION STDMETHODCALLTYPE GetViewProjectionCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DeleteObject( 
            LPUNKNOWN obj) = 0;
        
        virtual /* [helpstring] */ LPSELECTIONMNG STDMETHODCALLTYPE GetSelectionMng( void) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEMNG STDMETHODCALLTYPE GetChooseMng( void) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetObjectType( 
            LPUNKNOWN obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SaveAsToUncompressedRasterFormat( 
            LPOLESTR fileName,
            LPRASTERFORMATPARAM par) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE AddImportedSurfaces( 
            LPOLESTR fileName,
            BOOL together) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideAllPlanes( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideAllPlanes( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideAllAxis( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideAllAxis( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideAllSketches( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideAllSketches( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideAllPlaces( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideAllPlaces( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideAllSurfaces( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideAllSurfaces( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideAllThreads( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideAllThreads( void) = 0;
        
        virtual /* [helpstring] */ LPATTRIBUTE3DCOLLECTION STDMETHODCALLTYPE AttributeCollection( 
            long key1,
            long key2,
            long key3,
            long key4,
            double numb,
            LPUNKNOWN pObj) = 0;
        
        virtual /* [helpstring] */ LPFEATURECOLLECTION STDMETHODCALLTYPE FeatureCollection( 
            long key1,
            long key2,
            long key3,
            long key4,
            double numb,
            int objType) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPartFromFileEx( 
            LPOLESTR fileName,
            LPPART part,
            BOOL externalFile,
            BOOL redraw) = 0;
        
        virtual /* [helpstring] */ LPCOMPONENTPOSITIONER STDMETHODCALLTYPE ComponentPositioner( void) = 0;
        
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE DefaultPlacement( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetShadedWireframe( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetShadedWireframe( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetEditMacroObject( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SaveAsEx( 
            LPOLESTR fileName,
            long saveMode) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE GetInterface( 
            long o3dType) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDismantleMode( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDismantleMode( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideAllCurves( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideAllCurves( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideAllControlPoints( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideAllControlPoints( void) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE CopyPart( 
            LPPART sourcePart,
            LPPLACEMENT newPlacement) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetTreeNeedRebuild( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTreeNeedRebuild( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE UserSelectEntityEx( 
            LPENTITY defSelectObject,
            void __RPC_FAR *fnFilter,
            LPOLESTR prompt,
            LPUNKNOWN processParam) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE PlaceFeatureAfter( 
            LPFEATURE obj,
            LPFEATURE afterObj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetRollBackFeature( 
            LPFEATURE obj) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE GetRollBackFeature( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetEnableRollBackFeaturesInCollections( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetEnableRollBackFeaturesInCollections( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE ExcludeFeaturesAfter( 
            LPFEATURE obj,
            BOOL exclude) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideAllDimensions( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideAllDimensions( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideAllDesignations( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideAllDesignations( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideAllAuxiliaryGeom( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideAllAuxiliaryGeom( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHideInComponentsMode( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHideInComponentsMode( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ IDocument3DNotifyResult __RPC_FAR *STDMETHODCALLTYPE GetDocument3DNotifyResult( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetReference( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetWindowNeedRebuild( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetWindowNeedRebuild( 
            BOOL val) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDocument3DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDocument3D __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDocument3D __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *UpdateDocumentParam )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetFileName )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFileName )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR name);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetComment )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetComment )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR comment);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetAuthor )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAuthor )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR author);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsActive )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetActive )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetInvisibleMode )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *GetPart )( 
            IDocument3D __RPC_FAR * This,
            long type);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Create )( 
            IDocument3D __RPC_FAR * This,
            BOOL invisible,
            BOOL _typeDoc);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR fileName,
            BOOL invisible);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SaveAs )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR fileName);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *UserSelectEntity )( 
            IDocument3D __RPC_FAR * This,
            LPENTITY defSelectObject,
            void __RPC_FAR *fnFilter,
            LPOLESTR prompt);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *UserGetCursor )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR prompt,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsEditMode )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPREQUESTINFO ( STDMETHODCALLTYPE __RPC_FAR *GetRequestInfo )( 
            IDocument3D __RPC_FAR * This,
            LPPART part);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *UserGetPlacementAndEntity )( 
            IDocument3D __RPC_FAR * This,
            long entityCount);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *EntityCollection )( 
            IDocument3D __RPC_FAR * This,
            short objType,
            BOOL checkEntity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPartFromFile )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR fileName,
            LPPART part,
            BOOL externalFile);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *CreatePartFromFile )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR fileName,
            LPPART part,
            LPENTITY plane);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsDetail )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *ChangeObjectInLibRequest )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *StopLibRequest )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPMATECONSTRAINTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *MateConstraintCollection )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddMateConstraint )( 
            IDocument3D __RPC_FAR * This,
            long constraintType,
            LPENTITY obj1,
            LPENTITY obj2,
            short direction,
            short fixed,
            double val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *RemoveMateConstraint )( 
            IDocument3D __RPC_FAR * This,
            long constraintType,
            LPENTITY obj1,
            LPENTITY obj2);
        
        /* [helpstring] */ LPSPECIFICATION3D ( STDMETHODCALLTYPE __RPC_FAR *GetSpecification )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPMATECONSTRAINT ( STDMETHODCALLTYPE __RPC_FAR *GetMateConstraint )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPPARTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PartCollection )( 
            IDocument3D __RPC_FAR * This,
            BOOL refresh);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *ZoomPrevNextOrAll )( 
            IDocument3D __RPC_FAR * This,
            short type);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *RefreshActiveWindow )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *CreatePartInAssembly )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR fileName,
            LPENTITY plane);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *RebuildDocument )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SaveAsToRasterFormat )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR fileName,
            LPRASTERFORMATPARAM par);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SaveAsToAdditionFormat )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR fileName,
            LPADDITIONFORMATPARAM par);
        
        /* [helpstring] */ LPRASTERFORMATPARAM ( STDMETHODCALLTYPE __RPC_FAR *RasterFormatParam )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPADDITIONFORMATPARAM ( STDMETHODCALLTYPE __RPC_FAR *AdditionFormatParam )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPerspective )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPerspective )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDrawMode )( 
            IDocument3D __RPC_FAR * This,
            int mode);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetDrawMode )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPVIEWPROJECTIONCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *GetViewProjectionCollection )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DeleteObject )( 
            IDocument3D __RPC_FAR * This,
            LPUNKNOWN obj);
        
        /* [helpstring] */ LPSELECTIONMNG ( STDMETHODCALLTYPE __RPC_FAR *GetSelectionMng )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPCHOOSEMNG ( STDMETHODCALLTYPE __RPC_FAR *GetChooseMng )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetObjectType )( 
            IDocument3D __RPC_FAR * This,
            LPUNKNOWN obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SaveAsToUncompressedRasterFormat )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR fileName,
            LPRASTERFORMATPARAM par);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *AddImportedSurfaces )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR fileName,
            BOOL together);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideAllPlanes )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideAllPlanes )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideAllAxis )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideAllAxis )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideAllSketches )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideAllSketches )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideAllPlaces )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideAllPlaces )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideAllSurfaces )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideAllSurfaces )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideAllThreads )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideAllThreads )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPATTRIBUTE3DCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *AttributeCollection )( 
            IDocument3D __RPC_FAR * This,
            long key1,
            long key2,
            long key3,
            long key4,
            double numb,
            LPUNKNOWN pObj);
        
        /* [helpstring] */ LPFEATURECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *FeatureCollection )( 
            IDocument3D __RPC_FAR * This,
            long key1,
            long key2,
            long key3,
            long key4,
            double numb,
            int objType);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPartFromFileEx )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR fileName,
            LPPART part,
            BOOL externalFile,
            BOOL redraw);
        
        /* [helpstring] */ LPCOMPONENTPOSITIONER ( STDMETHODCALLTYPE __RPC_FAR *ComponentPositioner )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *DefaultPlacement )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetShadedWireframe )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetShadedWireframe )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetEditMacroObject )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SaveAsEx )( 
            IDocument3D __RPC_FAR * This,
            LPOLESTR fileName,
            long saveMode);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *GetInterface )( 
            IDocument3D __RPC_FAR * This,
            long o3dType);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDismantleMode )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDismantleMode )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideAllCurves )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideAllCurves )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideAllControlPoints )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideAllControlPoints )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *CopyPart )( 
            IDocument3D __RPC_FAR * This,
            LPPART sourcePart,
            LPPLACEMENT newPlacement);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetTreeNeedRebuild )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTreeNeedRebuild )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *UserSelectEntityEx )( 
            IDocument3D __RPC_FAR * This,
            LPENTITY defSelectObject,
            void __RPC_FAR *fnFilter,
            LPOLESTR prompt,
            LPUNKNOWN processParam);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *PlaceFeatureAfter )( 
            IDocument3D __RPC_FAR * This,
            LPFEATURE obj,
            LPFEATURE afterObj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetRollBackFeature )( 
            IDocument3D __RPC_FAR * This,
            LPFEATURE obj);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *GetRollBackFeature )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetEnableRollBackFeaturesInCollections )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetEnableRollBackFeaturesInCollections )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *ExcludeFeaturesAfter )( 
            IDocument3D __RPC_FAR * This,
            LPFEATURE obj,
            BOOL exclude);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideAllDimensions )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideAllDimensions )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideAllDesignations )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideAllDesignations )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideAllAuxiliaryGeom )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideAllAuxiliaryGeom )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHideInComponentsMode )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHideInComponentsMode )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ IDocument3DNotifyResult __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *GetDocument3DNotifyResult )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetReference )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetWindowNeedRebuild )( 
            IDocument3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetWindowNeedRebuild )( 
            IDocument3D __RPC_FAR * This,
            BOOL val);
        
        END_INTERFACE
    } IDocument3DVtbl;

    interface IDocument3D
    {
        CONST_VTBL struct IDocument3DVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IDocument3D_UpdateDocumentParam(This)	\
    (This)->lpVtbl -> UpdateDocumentParam(This)

#define IDocument3D_GetFileName(This)	\
    (This)->lpVtbl -> GetFileName(This)

#define IDocument3D_SetFileName(This,name)	\
    (This)->lpVtbl -> SetFileName(This,name)

#define IDocument3D_GetComment(This)	\
    (This)->lpVtbl -> GetComment(This)

#define IDocument3D_SetComment(This,comment)	\
    (This)->lpVtbl -> SetComment(This,comment)

#define IDocument3D_GetAuthor(This)	\
    (This)->lpVtbl -> GetAuthor(This)

#define IDocument3D_SetAuthor(This,author)	\
    (This)->lpVtbl -> SetAuthor(This,author)

#define IDocument3D_IsActive(This)	\
    (This)->lpVtbl -> IsActive(This)

#define IDocument3D_SetActive(This)	\
    (This)->lpVtbl -> SetActive(This)

#define IDocument3D_GetInvisibleMode(This)	\
    (This)->lpVtbl -> GetInvisibleMode(This)

#define IDocument3D_GetPart(This,type)	\
    (This)->lpVtbl -> GetPart(This,type)

#define IDocument3D_Create(This,invisible,_typeDoc)	\
    (This)->lpVtbl -> Create(This,invisible,_typeDoc)

#define IDocument3D_Open(This,fileName,invisible)	\
    (This)->lpVtbl -> Open(This,fileName,invisible)

#define IDocument3D_Save(This)	\
    (This)->lpVtbl -> Save(This)

#define IDocument3D_SaveAs(This,fileName)	\
    (This)->lpVtbl -> SaveAs(This,fileName)

#define IDocument3D_Close(This)	\
    (This)->lpVtbl -> Close(This)

#define IDocument3D_UserSelectEntity(This,defSelectObject,fnFilter,prompt)	\
    (This)->lpVtbl -> UserSelectEntity(This,defSelectObject,fnFilter,prompt)

#define IDocument3D_UserGetCursor(This,prompt,x,y,z)	\
    (This)->lpVtbl -> UserGetCursor(This,prompt,x,y,z)

#define IDocument3D_IsEditMode(This)	\
    (This)->lpVtbl -> IsEditMode(This)

#define IDocument3D_GetRequestInfo(This,part)	\
    (This)->lpVtbl -> GetRequestInfo(This,part)

#define IDocument3D_UserGetPlacementAndEntity(This,entityCount)	\
    (This)->lpVtbl -> UserGetPlacementAndEntity(This,entityCount)

#define IDocument3D_EntityCollection(This,objType,checkEntity)	\
    (This)->lpVtbl -> EntityCollection(This,objType,checkEntity)

#define IDocument3D_SetPartFromFile(This,fileName,part,externalFile)	\
    (This)->lpVtbl -> SetPartFromFile(This,fileName,part,externalFile)

#define IDocument3D_CreatePartFromFile(This,fileName,part,plane)	\
    (This)->lpVtbl -> CreatePartFromFile(This,fileName,part,plane)

#define IDocument3D_IsDetail(This)	\
    (This)->lpVtbl -> IsDetail(This)

#define IDocument3D_ChangeObjectInLibRequest(This)	\
    (This)->lpVtbl -> ChangeObjectInLibRequest(This)

#define IDocument3D_StopLibRequest(This)	\
    (This)->lpVtbl -> StopLibRequest(This)

#define IDocument3D_MateConstraintCollection(This)	\
    (This)->lpVtbl -> MateConstraintCollection(This)

#define IDocument3D_AddMateConstraint(This,constraintType,obj1,obj2,direction,fixed,val)	\
    (This)->lpVtbl -> AddMateConstraint(This,constraintType,obj1,obj2,direction,fixed,val)

#define IDocument3D_RemoveMateConstraint(This,constraintType,obj1,obj2)	\
    (This)->lpVtbl -> RemoveMateConstraint(This,constraintType,obj1,obj2)

#define IDocument3D_GetSpecification(This)	\
    (This)->lpVtbl -> GetSpecification(This)

#define IDocument3D_GetMateConstraint(This)	\
    (This)->lpVtbl -> GetMateConstraint(This)

#define IDocument3D_PartCollection(This,refresh)	\
    (This)->lpVtbl -> PartCollection(This,refresh)

#define IDocument3D_ZoomPrevNextOrAll(This,type)	\
    (This)->lpVtbl -> ZoomPrevNextOrAll(This,type)

#define IDocument3D_RefreshActiveWindow(This)	\
    (This)->lpVtbl -> RefreshActiveWindow(This)

#define IDocument3D_CreatePartInAssembly(This,fileName,plane)	\
    (This)->lpVtbl -> CreatePartInAssembly(This,fileName,plane)

#define IDocument3D_RebuildDocument(This)	\
    (This)->lpVtbl -> RebuildDocument(This)

#define IDocument3D_SaveAsToRasterFormat(This,fileName,par)	\
    (This)->lpVtbl -> SaveAsToRasterFormat(This,fileName,par)

#define IDocument3D_SaveAsToAdditionFormat(This,fileName,par)	\
    (This)->lpVtbl -> SaveAsToAdditionFormat(This,fileName,par)

#define IDocument3D_RasterFormatParam(This)	\
    (This)->lpVtbl -> RasterFormatParam(This)

#define IDocument3D_AdditionFormatParam(This)	\
    (This)->lpVtbl -> AdditionFormatParam(This)

#define IDocument3D_SetPerspective(This,val)	\
    (This)->lpVtbl -> SetPerspective(This,val)

#define IDocument3D_GetPerspective(This)	\
    (This)->lpVtbl -> GetPerspective(This)

#define IDocument3D_SetDrawMode(This,mode)	\
    (This)->lpVtbl -> SetDrawMode(This,mode)

#define IDocument3D_GetDrawMode(This)	\
    (This)->lpVtbl -> GetDrawMode(This)

#define IDocument3D_GetViewProjectionCollection(This)	\
    (This)->lpVtbl -> GetViewProjectionCollection(This)

#define IDocument3D_DeleteObject(This,obj)	\
    (This)->lpVtbl -> DeleteObject(This,obj)

#define IDocument3D_GetSelectionMng(This)	\
    (This)->lpVtbl -> GetSelectionMng(This)

#define IDocument3D_GetChooseMng(This)	\
    (This)->lpVtbl -> GetChooseMng(This)

#define IDocument3D_GetObjectType(This,obj)	\
    (This)->lpVtbl -> GetObjectType(This,obj)

#define IDocument3D_SaveAsToUncompressedRasterFormat(This,fileName,par)	\
    (This)->lpVtbl -> SaveAsToUncompressedRasterFormat(This,fileName,par)

#define IDocument3D_AddImportedSurfaces(This,fileName,together)	\
    (This)->lpVtbl -> AddImportedSurfaces(This,fileName,together)

#define IDocument3D_SetHideAllPlanes(This,val)	\
    (This)->lpVtbl -> SetHideAllPlanes(This,val)

#define IDocument3D_GetHideAllPlanes(This)	\
    (This)->lpVtbl -> GetHideAllPlanes(This)

#define IDocument3D_SetHideAllAxis(This,val)	\
    (This)->lpVtbl -> SetHideAllAxis(This,val)

#define IDocument3D_GetHideAllAxis(This)	\
    (This)->lpVtbl -> GetHideAllAxis(This)

#define IDocument3D_SetHideAllSketches(This,val)	\
    (This)->lpVtbl -> SetHideAllSketches(This,val)

#define IDocument3D_GetHideAllSketches(This)	\
    (This)->lpVtbl -> GetHideAllSketches(This)

#define IDocument3D_SetHideAllPlaces(This,val)	\
    (This)->lpVtbl -> SetHideAllPlaces(This,val)

#define IDocument3D_GetHideAllPlaces(This)	\
    (This)->lpVtbl -> GetHideAllPlaces(This)

#define IDocument3D_SetHideAllSurfaces(This,val)	\
    (This)->lpVtbl -> SetHideAllSurfaces(This,val)

#define IDocument3D_GetHideAllSurfaces(This)	\
    (This)->lpVtbl -> GetHideAllSurfaces(This)

#define IDocument3D_SetHideAllThreads(This,val)	\
    (This)->lpVtbl -> SetHideAllThreads(This,val)

#define IDocument3D_GetHideAllThreads(This)	\
    (This)->lpVtbl -> GetHideAllThreads(This)

#define IDocument3D_AttributeCollection(This,key1,key2,key3,key4,numb,pObj)	\
    (This)->lpVtbl -> AttributeCollection(This,key1,key2,key3,key4,numb,pObj)

#define IDocument3D_FeatureCollection(This,key1,key2,key3,key4,numb,objType)	\
    (This)->lpVtbl -> FeatureCollection(This,key1,key2,key3,key4,numb,objType)

#define IDocument3D_SetPartFromFileEx(This,fileName,part,externalFile,redraw)	\
    (This)->lpVtbl -> SetPartFromFileEx(This,fileName,part,externalFile,redraw)

#define IDocument3D_ComponentPositioner(This)	\
    (This)->lpVtbl -> ComponentPositioner(This)

#define IDocument3D_DefaultPlacement(This)	\
    (This)->lpVtbl -> DefaultPlacement(This)

#define IDocument3D_SetShadedWireframe(This,val)	\
    (This)->lpVtbl -> SetShadedWireframe(This,val)

#define IDocument3D_GetShadedWireframe(This)	\
    (This)->lpVtbl -> GetShadedWireframe(This)

#define IDocument3D_GetEditMacroObject(This)	\
    (This)->lpVtbl -> GetEditMacroObject(This)

#define IDocument3D_SaveAsEx(This,fileName,saveMode)	\
    (This)->lpVtbl -> SaveAsEx(This,fileName,saveMode)

#define IDocument3D_GetInterface(This,o3dType)	\
    (This)->lpVtbl -> GetInterface(This,o3dType)

#define IDocument3D_GetDismantleMode(This)	\
    (This)->lpVtbl -> GetDismantleMode(This)

#define IDocument3D_SetDismantleMode(This,val)	\
    (This)->lpVtbl -> SetDismantleMode(This,val)

#define IDocument3D_SetHideAllCurves(This,val)	\
    (This)->lpVtbl -> SetHideAllCurves(This,val)

#define IDocument3D_GetHideAllCurves(This)	\
    (This)->lpVtbl -> GetHideAllCurves(This)

#define IDocument3D_SetHideAllControlPoints(This,val)	\
    (This)->lpVtbl -> SetHideAllControlPoints(This,val)

#define IDocument3D_GetHideAllControlPoints(This)	\
    (This)->lpVtbl -> GetHideAllControlPoints(This)

#define IDocument3D_CopyPart(This,sourcePart,newPlacement)	\
    (This)->lpVtbl -> CopyPart(This,sourcePart,newPlacement)

#define IDocument3D_GetTreeNeedRebuild(This)	\
    (This)->lpVtbl -> GetTreeNeedRebuild(This)

#define IDocument3D_SetTreeNeedRebuild(This,val)	\
    (This)->lpVtbl -> SetTreeNeedRebuild(This,val)

#define IDocument3D_UserSelectEntityEx(This,defSelectObject,fnFilter,prompt,processParam)	\
    (This)->lpVtbl -> UserSelectEntityEx(This,defSelectObject,fnFilter,prompt,processParam)

#define IDocument3D_PlaceFeatureAfter(This,obj,afterObj)	\
    (This)->lpVtbl -> PlaceFeatureAfter(This,obj,afterObj)

#define IDocument3D_SetRollBackFeature(This,obj)	\
    (This)->lpVtbl -> SetRollBackFeature(This,obj)

#define IDocument3D_GetRollBackFeature(This)	\
    (This)->lpVtbl -> GetRollBackFeature(This)

#define IDocument3D_SetEnableRollBackFeaturesInCollections(This,val)	\
    (This)->lpVtbl -> SetEnableRollBackFeaturesInCollections(This,val)

#define IDocument3D_GetEnableRollBackFeaturesInCollections(This)	\
    (This)->lpVtbl -> GetEnableRollBackFeaturesInCollections(This)

#define IDocument3D_ExcludeFeaturesAfter(This,obj,exclude)	\
    (This)->lpVtbl -> ExcludeFeaturesAfter(This,obj,exclude)

#define IDocument3D_GetHideAllDimensions(This)	\
    (This)->lpVtbl -> GetHideAllDimensions(This)

#define IDocument3D_SetHideAllDimensions(This,val)	\
    (This)->lpVtbl -> SetHideAllDimensions(This,val)

#define IDocument3D_GetHideAllDesignations(This)	\
    (This)->lpVtbl -> GetHideAllDesignations(This)

#define IDocument3D_SetHideAllDesignations(This,val)	\
    (This)->lpVtbl -> SetHideAllDesignations(This,val)

#define IDocument3D_GetHideAllAuxiliaryGeom(This)	\
    (This)->lpVtbl -> GetHideAllAuxiliaryGeom(This)

#define IDocument3D_SetHideAllAuxiliaryGeom(This,val)	\
    (This)->lpVtbl -> SetHideAllAuxiliaryGeom(This,val)

#define IDocument3D_GetHideInComponentsMode(This)	\
    (This)->lpVtbl -> GetHideInComponentsMode(This)

#define IDocument3D_SetHideInComponentsMode(This,val)	\
    (This)->lpVtbl -> SetHideInComponentsMode(This,val)

#define IDocument3D_GetDocument3DNotifyResult(This)	\
    (This)->lpVtbl -> GetDocument3DNotifyResult(This)

#define IDocument3D_GetReference(This)	\
    (This)->lpVtbl -> GetReference(This)

#define IDocument3D_GetWindowNeedRebuild(This)	\
    (This)->lpVtbl -> GetWindowNeedRebuild(This)

#define IDocument3D_SetWindowNeedRebuild(This,val)	\
    (This)->lpVtbl -> SetWindowNeedRebuild(This,val)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_UpdateDocumentParam_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IDocument3D_GetFileName_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetFileName_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR name);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IDocument3D_GetComment_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetComment_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR comment);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IDocument3D_GetAuthor_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetAuthor_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR author);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_IsActive_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetActive_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetInvisibleMode_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPPART STDMETHODCALLTYPE IDocument3D_GetPart_Proxy( 
    IDocument3D __RPC_FAR * This,
    long type);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_Create_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL invisible,
    BOOL _typeDoc);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_Open_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR fileName,
    BOOL invisible);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_Save_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SaveAs_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR fileName);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_Close_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IDocument3D_UserSelectEntity_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPENTITY defSelectObject,
    void __RPC_FAR *fnFilter,
    LPOLESTR prompt);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_UserGetCursor_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR prompt,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_IsEditMode_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPREQUESTINFO STDMETHODCALLTYPE IDocument3D_GetRequestInfo_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPPART part);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_UserGetPlacementAndEntity_Proxy( 
    IDocument3D __RPC_FAR * This,
    long entityCount);


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


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IDocument3D_EntityCollection_Proxy( 
    IDocument3D __RPC_FAR * This,
    short objType,
    BOOL checkEntity);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetPartFromFile_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR fileName,
    LPPART part,
    BOOL externalFile);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_CreatePartFromFile_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR fileName,
    LPPART part,
    LPENTITY plane);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_IsDetail_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_ChangeObjectInLibRequest_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_StopLibRequest_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPMATECONSTRAINTCOLLECTION STDMETHODCALLTYPE IDocument3D_MateConstraintCollection_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_AddMateConstraint_Proxy( 
    IDocument3D __RPC_FAR * This,
    long constraintType,
    LPENTITY obj1,
    LPENTITY obj2,
    short direction,
    short fixed,
    double val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_RemoveMateConstraint_Proxy( 
    IDocument3D __RPC_FAR * This,
    long constraintType,
    LPENTITY obj1,
    LPENTITY obj2);


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


/* [helpstring] */ LPSPECIFICATION3D STDMETHODCALLTYPE IDocument3D_GetSpecification_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE IDocument3D_GetMateConstraint_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE IDocument3D_PartCollection_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL refresh);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_ZoomPrevNextOrAll_Proxy( 
    IDocument3D __RPC_FAR * This,
    short type);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_RefreshActiveWindow_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPPART STDMETHODCALLTYPE IDocument3D_CreatePartInAssembly_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR fileName,
    LPENTITY plane);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_RebuildDocument_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SaveAsToRasterFormat_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR fileName,
    LPRASTERFORMATPARAM par);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SaveAsToAdditionFormat_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR fileName,
    LPADDITIONFORMATPARAM par);


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


/* [helpstring] */ LPRASTERFORMATPARAM STDMETHODCALLTYPE IDocument3D_RasterFormatParam_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPADDITIONFORMATPARAM STDMETHODCALLTYPE IDocument3D_AdditionFormatParam_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetPerspective_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetPerspective_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetDrawMode_Proxy( 
    IDocument3D __RPC_FAR * This,
    int mode);


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


/* [helpstring] */ int STDMETHODCALLTYPE IDocument3D_GetDrawMode_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPVIEWPROJECTIONCOLLECTION STDMETHODCALLTYPE IDocument3D_GetViewProjectionCollection_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_DeleteObject_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPUNKNOWN obj);


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


/* [helpstring] */ LPSELECTIONMNG STDMETHODCALLTYPE IDocument3D_GetSelectionMng_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPCHOOSEMNG STDMETHODCALLTYPE IDocument3D_GetChooseMng_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ int STDMETHODCALLTYPE IDocument3D_GetObjectType_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPUNKNOWN obj);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SaveAsToUncompressedRasterFormat_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR fileName,
    LPRASTERFORMATPARAM par);


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


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IDocument3D_AddImportedSurfaces_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR fileName,
    BOOL together);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideAllPlanes_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideAllPlanes_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideAllAxis_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideAllAxis_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideAllSketches_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideAllSketches_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideAllPlaces_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideAllPlaces_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideAllSurfaces_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideAllSurfaces_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideAllThreads_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideAllThreads_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPATTRIBUTE3DCOLLECTION STDMETHODCALLTYPE IDocument3D_AttributeCollection_Proxy( 
    IDocument3D __RPC_FAR * This,
    long key1,
    long key2,
    long key3,
    long key4,
    double numb,
    LPUNKNOWN pObj);


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


/* [helpstring] */ LPFEATURECOLLECTION STDMETHODCALLTYPE IDocument3D_FeatureCollection_Proxy( 
    IDocument3D __RPC_FAR * This,
    long key1,
    long key2,
    long key3,
    long key4,
    double numb,
    int objType);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetPartFromFileEx_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR fileName,
    LPPART part,
    BOOL externalFile,
    BOOL redraw);


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


/* [helpstring] */ LPCOMPONENTPOSITIONER STDMETHODCALLTYPE IDocument3D_ComponentPositioner_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE IDocument3D_DefaultPlacement_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetShadedWireframe_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetShadedWireframe_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IDocument3D_GetEditMacroObject_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SaveAsEx_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPOLESTR fileName,
    long saveMode);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IDocument3D_GetInterface_Proxy( 
    IDocument3D __RPC_FAR * This,
    long o3dType);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetDismantleMode_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetDismantleMode_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideAllCurves_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideAllCurves_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideAllControlPoints_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideAllControlPoints_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ LPPART STDMETHODCALLTYPE IDocument3D_CopyPart_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPPART sourcePart,
    LPPLACEMENT newPlacement);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetTreeNeedRebuild_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetTreeNeedRebuild_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IDocument3D_UserSelectEntityEx_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPENTITY defSelectObject,
    void __RPC_FAR *fnFilter,
    LPOLESTR prompt,
    LPUNKNOWN processParam);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_PlaceFeatureAfter_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPFEATURE obj,
    LPFEATURE afterObj);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetRollBackFeature_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPFEATURE obj);


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


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IDocument3D_GetRollBackFeature_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetEnableRollBackFeaturesInCollections_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetEnableRollBackFeaturesInCollections_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_ExcludeFeaturesAfter_Proxy( 
    IDocument3D __RPC_FAR * This,
    LPFEATURE obj,
    BOOL exclude);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideAllDimensions_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideAllDimensions_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideAllDesignations_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideAllDesignations_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideAllAuxiliaryGeom_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideAllAuxiliaryGeom_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetHideInComponentsMode_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetHideInComponentsMode_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ IDocument3DNotifyResult __RPC_FAR *STDMETHODCALLTYPE IDocument3D_GetDocument3DNotifyResult_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ long STDMETHODCALLTYPE IDocument3D_GetReference_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_GetWindowNeedRebuild_Proxy( 
    IDocument3D __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDocument3D_SetWindowNeedRebuild_Proxy( 
    IDocument3D __RPC_FAR * This,
    BOOL val);


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



#endif 	/* __IDocument3D_INTERFACE_DEFINED__ */


#ifndef __IPart_INTERFACE_DEFINED__
#define __IPart_INTERFACE_DEFINED__

/* interface IPart */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPart,0x7AA0E540,0x0300,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0300-11D4-A30E-00C026EE094F")
    IPart : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetName( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetName( 
            LPOLESTR name) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetMarking( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetMarking( 
            LPOLESTR marking) = 0;
        
        virtual /* [helpstring] */ LPCOLORPARAM STDMETHODCALLTYPE ColorParam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetAdvancedColor( 
            COLORREF __RPC_FAR *color,
            double __RPC_FAR *ambient,
            double __RPC_FAR *diffuse,
            double __RPC_FAR *specularity,
            double __RPC_FAR *shininess,
            double __RPC_FAR *transparency,
            double __RPC_FAR *emission) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAdvancedColor( 
            COLORREF color,
            double ambient,
            double diffuse,
            double specularity,
            double shininess,
            double transparency,
            double emission) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Update( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetUserParam( 
            void __RPC_FAR *value,
            long size,
            LPOLESTR fileName,
            LPOLESTR libName,
            long command) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetUserParamSize( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetUserParam( 
            void __RPC_FAR *value,
            long size) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetDefaultEntity( 
            short objType) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE EntityCollection( 
            short objType) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE NewEntity( 
            short objType) = 0;
        
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE GetPlacement( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlacement( 
            LPPLACEMENT p) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE UpdatePlacement( void) = 0;
        
        virtual /* [helpstring] */ LPVARIABLECOLLECTION STDMETHODCALLTYPE VariableCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE RebuildModel( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetStandardComponent( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStandardComponent( 
            BOOL f) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetMateConstraintObjects( 
            LPENTITYCOLLECTION collection) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE GetMateConstraintObjects( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFixedComponent( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFixedComponent( 
            BOOL f) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetFileName( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFileName( 
            LPOLESTR name) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsDetail( void) = 0;
        
        virtual /* [helpstring] */ LPDOCUMENT3D STDMETHODCALLTYPE BeginEdit( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE EndEdit( 
            BOOL rebuild) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE GetPart( 
            long type) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetMass( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE PutStorage( 
            LPOLESTR str,
            BOOL type,
            BOOL mirror) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetExcluded( 
            BOOL exclude) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetExcluded( void) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetMaterial( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetDensity( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetMaterial( 
            LPOLESTR name,
            double density) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetUserLibraryFileName( void) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetUserLibraryName( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetUserLibraryCommand( void) = 0;
        
        virtual /* [helpstring] */ LPBODYCOLLECTION STDMETHODCALLTYPE BodyCollection( void) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE GetFeature( void) = 0;
        
        virtual /* [helpstring] */ LPMASSINERTIAPARAM STDMETHODCALLTYPE CalcMassInertiaProperties( 
            unsigned int bitVector) = 0;
        
        virtual /* [helpstring] */ LPMEASURER STDMETHODCALLTYPE GetMeasurer( void) = 0;
        
        virtual /* [helpstring] */ LPBODY STDMETHODCALLTYPE GetMainBody( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetUseColor( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetUseColor( 
            long useColor) = 0;
        
        virtual /* [helpstring] */ IObject3DNotifyResult __RPC_FAR *STDMETHODCALLTYPE GetObject3DNotifyResult( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE UpdatePlacementEx( 
            BOOL redraw) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE RebuildModelEx( 
            BOOL redraw) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetNeedRebuild( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetNeedRebuild( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE CurveIntersection( 
            LPCURVE3D curve,
            LPPARTCOLLECTION parts,
            LPFACECOLLECTION faces,
            LPCOORDINATE3DCOLLECTION points) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE TransformPoint( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z,
            LPPART part1) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHidden( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHidden( 
            BOOL _hidden) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetObject( 
            long index,
            LPUNKNOWN obj) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE GetObject( 
            long index) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCountObj( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE ClearAllObj( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE CreateOrEditObject( 
            short objType,
            LPENTITY editObj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDoubleClickEditOff( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDoubleClickEditOff( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE TransformPoints( 
            VARIANT __RPC_FAR *poins,
            LPPART part1) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSummMatrix( 
            VARIANT __RPC_FAR *matrix,
            LPPART part1) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetMultiBodyParts( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSourceVariables( 
            BOOL rebuild) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE GetMathematic3D( 
            int type) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetGabarit( 
            BOOL full,
            BOOL customizable,
            double __RPC_FAR *x1,
            double __RPC_FAR *y1,
            double __RPC_FAR *z1,
            double __RPC_FAR *x2,
            double __RPC_FAR *y2,
            double __RPC_FAR *z2) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetObjectByName( 
            LPOLESTR name,
            short objType,
            BOOL testFullName,
            BOOL testIgnoreCase) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPartVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPart __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPart __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetName )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetName )( 
            IPart __RPC_FAR * This,
            LPOLESTR name);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetMarking )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetMarking )( 
            IPart __RPC_FAR * This,
            LPOLESTR marking);
        
        /* [helpstring] */ LPCOLORPARAM ( STDMETHODCALLTYPE __RPC_FAR *ColorParam )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetAdvancedColor )( 
            IPart __RPC_FAR * This,
            COLORREF __RPC_FAR *color,
            double __RPC_FAR *ambient,
            double __RPC_FAR *diffuse,
            double __RPC_FAR *specularity,
            double __RPC_FAR *shininess,
            double __RPC_FAR *transparency,
            double __RPC_FAR *emission);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAdvancedColor )( 
            IPart __RPC_FAR * This,
            COLORREF color,
            double ambient,
            double diffuse,
            double specularity,
            double shininess,
            double transparency,
            double emission);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetUserParam )( 
            IPart __RPC_FAR * This,
            void __RPC_FAR *value,
            long size,
            LPOLESTR fileName,
            LPOLESTR libName,
            long command);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetUserParamSize )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetUserParam )( 
            IPart __RPC_FAR * This,
            void __RPC_FAR *value,
            long size);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetDefaultEntity )( 
            IPart __RPC_FAR * This,
            short objType);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *EntityCollection )( 
            IPart __RPC_FAR * This,
            short objType);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *NewEntity )( 
            IPart __RPC_FAR * This,
            short objType);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlacement )( 
            IPart __RPC_FAR * This,
            LPPLACEMENT p);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *UpdatePlacement )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ LPVARIABLECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *VariableCollection )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *RebuildModel )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetStandardComponent )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStandardComponent )( 
            IPart __RPC_FAR * This,
            BOOL f);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetMateConstraintObjects )( 
            IPart __RPC_FAR * This,
            LPENTITYCOLLECTION collection);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *GetMateConstraintObjects )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFixedComponent )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFixedComponent )( 
            IPart __RPC_FAR * This,
            BOOL f);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetFileName )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFileName )( 
            IPart __RPC_FAR * This,
            LPOLESTR name);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsDetail )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ LPDOCUMENT3D ( STDMETHODCALLTYPE __RPC_FAR *BeginEdit )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *EndEdit )( 
            IPart __RPC_FAR * This,
            BOOL rebuild);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *GetPart )( 
            IPart __RPC_FAR * This,
            long type);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetMass )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *PutStorage )( 
            IPart __RPC_FAR * This,
            LPOLESTR str,
            BOOL type,
            BOOL mirror);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetExcluded )( 
            IPart __RPC_FAR * This,
            BOOL exclude);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetExcluded )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetMaterial )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetDensity )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetMaterial )( 
            IPart __RPC_FAR * This,
            LPOLESTR name,
            double density);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetUserLibraryFileName )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetUserLibraryName )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetUserLibraryCommand )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ LPBODYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *BodyCollection )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *GetFeature )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ LPMASSINERTIAPARAM ( STDMETHODCALLTYPE __RPC_FAR *CalcMassInertiaProperties )( 
            IPart __RPC_FAR * This,
            unsigned int bitVector);
        
        /* [helpstring] */ LPMEASURER ( STDMETHODCALLTYPE __RPC_FAR *GetMeasurer )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ LPBODY ( STDMETHODCALLTYPE __RPC_FAR *GetMainBody )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetUseColor )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetUseColor )( 
            IPart __RPC_FAR * This,
            long useColor);
        
        /* [helpstring] */ IObject3DNotifyResult __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *GetObject3DNotifyResult )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *UpdatePlacementEx )( 
            IPart __RPC_FAR * This,
            BOOL redraw);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *RebuildModelEx )( 
            IPart __RPC_FAR * This,
            BOOL redraw);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetNeedRebuild )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetNeedRebuild )( 
            IPart __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *CurveIntersection )( 
            IPart __RPC_FAR * This,
            LPCURVE3D curve,
            LPPARTCOLLECTION parts,
            LPFACECOLLECTION faces,
            LPCOORDINATE3DCOLLECTION points);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *TransformPoint )( 
            IPart __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z,
            LPPART part1);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHidden )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHidden )( 
            IPart __RPC_FAR * This,
            BOOL _hidden);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetObject )( 
            IPart __RPC_FAR * This,
            long index,
            LPUNKNOWN obj);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *GetObject )( 
            IPart __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCountObj )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *ClearAllObj )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *CreateOrEditObject )( 
            IPart __RPC_FAR * This,
            short objType,
            LPENTITY editObj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDoubleClickEditOff )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDoubleClickEditOff )( 
            IPart __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *TransformPoints )( 
            IPart __RPC_FAR * This,
            VARIANT __RPC_FAR *poins,
            LPPART part1);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSummMatrix )( 
            IPart __RPC_FAR * This,
            VARIANT __RPC_FAR *matrix,
            LPPART part1);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetMultiBodyParts )( 
            IPart __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSourceVariables )( 
            IPart __RPC_FAR * This,
            BOOL rebuild);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *GetMathematic3D )( 
            IPart __RPC_FAR * This,
            int type);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetGabarit )( 
            IPart __RPC_FAR * This,
            BOOL full,
            BOOL customizable,
            double __RPC_FAR *x1,
            double __RPC_FAR *y1,
            double __RPC_FAR *z1,
            double __RPC_FAR *x2,
            double __RPC_FAR *y2,
            double __RPC_FAR *z2);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetObjectByName )( 
            IPart __RPC_FAR * This,
            LPOLESTR name,
            short objType,
            BOOL testFullName,
            BOOL testIgnoreCase);
        
        END_INTERFACE
    } IPartVtbl;

    interface IPart
    {
        CONST_VTBL struct IPartVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPart_GetName(This)	\
    (This)->lpVtbl -> GetName(This)

#define IPart_SetName(This,name)	\
    (This)->lpVtbl -> SetName(This,name)

#define IPart_GetMarking(This)	\
    (This)->lpVtbl -> GetMarking(This)

#define IPart_SetMarking(This,marking)	\
    (This)->lpVtbl -> SetMarking(This,marking)

#define IPart_ColorParam(This)	\
    (This)->lpVtbl -> ColorParam(This)

#define IPart_GetAdvancedColor(This,color,ambient,diffuse,specularity,shininess,transparency,emission)	\
    (This)->lpVtbl -> GetAdvancedColor(This,color,ambient,diffuse,specularity,shininess,transparency,emission)

#define IPart_SetAdvancedColor(This,color,ambient,diffuse,specularity,shininess,transparency,emission)	\
    (This)->lpVtbl -> SetAdvancedColor(This,color,ambient,diffuse,specularity,shininess,transparency,emission)

#define IPart_Update(This)	\
    (This)->lpVtbl -> Update(This)

#define IPart_SetUserParam(This,value,size,fileName,libName,command)	\
    (This)->lpVtbl -> SetUserParam(This,value,size,fileName,libName,command)

#define IPart_GetUserParamSize(This)	\
    (This)->lpVtbl -> GetUserParamSize(This)

#define IPart_GetUserParam(This,value,size)	\
    (This)->lpVtbl -> GetUserParam(This,value,size)

#define IPart_GetDefaultEntity(This,objType)	\
    (This)->lpVtbl -> GetDefaultEntity(This,objType)

#define IPart_EntityCollection(This,objType)	\
    (This)->lpVtbl -> EntityCollection(This,objType)

#define IPart_NewEntity(This,objType)	\
    (This)->lpVtbl -> NewEntity(This,objType)

#define IPart_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#define IPart_SetPlacement(This,p)	\
    (This)->lpVtbl -> SetPlacement(This,p)

#define IPart_UpdatePlacement(This)	\
    (This)->lpVtbl -> UpdatePlacement(This)

#define IPart_VariableCollection(This)	\
    (This)->lpVtbl -> VariableCollection(This)

#define IPart_RebuildModel(This)	\
    (This)->lpVtbl -> RebuildModel(This)

#define IPart_GetStandardComponent(This)	\
    (This)->lpVtbl -> GetStandardComponent(This)

#define IPart_SetStandardComponent(This,f)	\
    (This)->lpVtbl -> SetStandardComponent(This,f)

#define IPart_SetMateConstraintObjects(This,collection)	\
    (This)->lpVtbl -> SetMateConstraintObjects(This,collection)

#define IPart_GetMateConstraintObjects(This)	\
    (This)->lpVtbl -> GetMateConstraintObjects(This)

#define IPart_GetFixedComponent(This)	\
    (This)->lpVtbl -> GetFixedComponent(This)

#define IPart_SetFixedComponent(This,f)	\
    (This)->lpVtbl -> SetFixedComponent(This,f)

#define IPart_GetFileName(This)	\
    (This)->lpVtbl -> GetFileName(This)

#define IPart_SetFileName(This,name)	\
    (This)->lpVtbl -> SetFileName(This,name)

#define IPart_IsDetail(This)	\
    (This)->lpVtbl -> IsDetail(This)

#define IPart_BeginEdit(This)	\
    (This)->lpVtbl -> BeginEdit(This)

#define IPart_EndEdit(This,rebuild)	\
    (This)->lpVtbl -> EndEdit(This,rebuild)

#define IPart_GetPart(This,type)	\
    (This)->lpVtbl -> GetPart(This,type)

#define IPart_GetMass(This)	\
    (This)->lpVtbl -> GetMass(This)

#define IPart_PutStorage(This,str,type,mirror)	\
    (This)->lpVtbl -> PutStorage(This,str,type,mirror)

#define IPart_SetExcluded(This,exclude)	\
    (This)->lpVtbl -> SetExcluded(This,exclude)

#define IPart_GetExcluded(This)	\
    (This)->lpVtbl -> GetExcluded(This)

#define IPart_GetMaterial(This)	\
    (This)->lpVtbl -> GetMaterial(This)

#define IPart_GetDensity(This)	\
    (This)->lpVtbl -> GetDensity(This)

#define IPart_SetMaterial(This,name,density)	\
    (This)->lpVtbl -> SetMaterial(This,name,density)

#define IPart_GetUserLibraryFileName(This)	\
    (This)->lpVtbl -> GetUserLibraryFileName(This)

#define IPart_GetUserLibraryName(This)	\
    (This)->lpVtbl -> GetUserLibraryName(This)

#define IPart_GetUserLibraryCommand(This)	\
    (This)->lpVtbl -> GetUserLibraryCommand(This)

#define IPart_BodyCollection(This)	\
    (This)->lpVtbl -> BodyCollection(This)

#define IPart_GetFeature(This)	\
    (This)->lpVtbl -> GetFeature(This)

#define IPart_CalcMassInertiaProperties(This,bitVector)	\
    (This)->lpVtbl -> CalcMassInertiaProperties(This,bitVector)

#define IPart_GetMeasurer(This)	\
    (This)->lpVtbl -> GetMeasurer(This)

#define IPart_GetMainBody(This)	\
    (This)->lpVtbl -> GetMainBody(This)

#define IPart_GetUseColor(This)	\
    (This)->lpVtbl -> GetUseColor(This)

#define IPart_SetUseColor(This,useColor)	\
    (This)->lpVtbl -> SetUseColor(This,useColor)

#define IPart_GetObject3DNotifyResult(This)	\
    (This)->lpVtbl -> GetObject3DNotifyResult(This)

#define IPart_UpdatePlacementEx(This,redraw)	\
    (This)->lpVtbl -> UpdatePlacementEx(This,redraw)

#define IPart_RebuildModelEx(This,redraw)	\
    (This)->lpVtbl -> RebuildModelEx(This,redraw)

#define IPart_GetNeedRebuild(This)	\
    (This)->lpVtbl -> GetNeedRebuild(This)

#define IPart_SetNeedRebuild(This,val)	\
    (This)->lpVtbl -> SetNeedRebuild(This,val)

#define IPart_CurveIntersection(This,curve,parts,faces,points)	\
    (This)->lpVtbl -> CurveIntersection(This,curve,parts,faces,points)

#define IPart_TransformPoint(This,x,y,z,part1)	\
    (This)->lpVtbl -> TransformPoint(This,x,y,z,part1)

#define IPart_GetHidden(This)	\
    (This)->lpVtbl -> GetHidden(This)

#define IPart_SetHidden(This,_hidden)	\
    (This)->lpVtbl -> SetHidden(This,_hidden)

#define IPart_SetObject(This,index,obj)	\
    (This)->lpVtbl -> SetObject(This,index,obj)

#define IPart_GetObject(This,index)	\
    (This)->lpVtbl -> GetObject(This,index)

#define IPart_GetCountObj(This)	\
    (This)->lpVtbl -> GetCountObj(This)

#define IPart_ClearAllObj(This)	\
    (This)->lpVtbl -> ClearAllObj(This)

#define IPart_CreateOrEditObject(This,objType,editObj)	\
    (This)->lpVtbl -> CreateOrEditObject(This,objType,editObj)

#define IPart_GetDoubleClickEditOff(This)	\
    (This)->lpVtbl -> GetDoubleClickEditOff(This)

#define IPart_SetDoubleClickEditOff(This,val)	\
    (This)->lpVtbl -> SetDoubleClickEditOff(This,val)

#define IPart_TransformPoints(This,poins,part1)	\
    (This)->lpVtbl -> TransformPoints(This,poins,part1)

#define IPart_GetSummMatrix(This,matrix,part1)	\
    (This)->lpVtbl -> GetSummMatrix(This,matrix,part1)

#define IPart_GetMultiBodyParts(This)	\
    (This)->lpVtbl -> GetMultiBodyParts(This)

#define IPart_SetSourceVariables(This,rebuild)	\
    (This)->lpVtbl -> SetSourceVariables(This,rebuild)

#define IPart_GetMathematic3D(This,type)	\
    (This)->lpVtbl -> GetMathematic3D(This,type)

#define IPart_GetGabarit(This,full,customizable,x1,y1,z1,x2,y2,z2)	\
    (This)->lpVtbl -> GetGabarit(This,full,customizable,x1,y1,z1,x2,y2,z2)

#define IPart_GetObjectByName(This,name,objType,testFullName,testIgnoreCase)	\
    (This)->lpVtbl -> GetObjectByName(This,name,objType,testFullName,testIgnoreCase)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IPart_GetName_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetName_Proxy( 
    IPart __RPC_FAR * This,
    LPOLESTR name);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IPart_GetMarking_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetMarking_Proxy( 
    IPart __RPC_FAR * This,
    LPOLESTR marking);


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


/* [helpstring] */ LPCOLORPARAM STDMETHODCALLTYPE IPart_ColorParam_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_GetAdvancedColor_Proxy( 
    IPart __RPC_FAR * This,
    COLORREF __RPC_FAR *color,
    double __RPC_FAR *ambient,
    double __RPC_FAR *diffuse,
    double __RPC_FAR *specularity,
    double __RPC_FAR *shininess,
    double __RPC_FAR *transparency,
    double __RPC_FAR *emission);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetAdvancedColor_Proxy( 
    IPart __RPC_FAR * This,
    COLORREF color,
    double ambient,
    double diffuse,
    double specularity,
    double shininess,
    double transparency,
    double emission);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_Update_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetUserParam_Proxy( 
    IPart __RPC_FAR * This,
    void __RPC_FAR *value,
    long size,
    LPOLESTR fileName,
    LPOLESTR libName,
    long command);


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


/* [helpstring] */ long STDMETHODCALLTYPE IPart_GetUserParamSize_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_GetUserParam_Proxy( 
    IPart __RPC_FAR * This,
    void __RPC_FAR *value,
    long size);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPart_GetDefaultEntity_Proxy( 
    IPart __RPC_FAR * This,
    short objType);


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


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IPart_EntityCollection_Proxy( 
    IPart __RPC_FAR * This,
    short objType);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPart_NewEntity_Proxy( 
    IPart __RPC_FAR * This,
    short objType);


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


/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE IPart_GetPlacement_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetPlacement_Proxy( 
    IPart __RPC_FAR * This,
    LPPLACEMENT p);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_UpdatePlacement_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ LPVARIABLECOLLECTION STDMETHODCALLTYPE IPart_VariableCollection_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_RebuildModel_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_GetStandardComponent_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetStandardComponent_Proxy( 
    IPart __RPC_FAR * This,
    BOOL f);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetMateConstraintObjects_Proxy( 
    IPart __RPC_FAR * This,
    LPENTITYCOLLECTION collection);


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


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IPart_GetMateConstraintObjects_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_GetFixedComponent_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetFixedComponent_Proxy( 
    IPart __RPC_FAR * This,
    BOOL f);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IPart_GetFileName_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetFileName_Proxy( 
    IPart __RPC_FAR * This,
    LPOLESTR name);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_IsDetail_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ LPDOCUMENT3D STDMETHODCALLTYPE IPart_BeginEdit_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_EndEdit_Proxy( 
    IPart __RPC_FAR * This,
    BOOL rebuild);


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


/* [helpstring] */ LPPART STDMETHODCALLTYPE IPart_GetPart_Proxy( 
    IPart __RPC_FAR * This,
    long type);


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


/* [helpstring] */ double STDMETHODCALLTYPE IPart_GetMass_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_PutStorage_Proxy( 
    IPart __RPC_FAR * This,
    LPOLESTR str,
    BOOL type,
    BOOL mirror);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetExcluded_Proxy( 
    IPart __RPC_FAR * This,
    BOOL exclude);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_GetExcluded_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IPart_GetMaterial_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ double STDMETHODCALLTYPE IPart_GetDensity_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetMaterial_Proxy( 
    IPart __RPC_FAR * This,
    LPOLESTR name,
    double density);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IPart_GetUserLibraryFileName_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IPart_GetUserLibraryName_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ long STDMETHODCALLTYPE IPart_GetUserLibraryCommand_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ LPBODYCOLLECTION STDMETHODCALLTYPE IPart_BodyCollection_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IPart_GetFeature_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ LPMASSINERTIAPARAM STDMETHODCALLTYPE IPart_CalcMassInertiaProperties_Proxy( 
    IPart __RPC_FAR * This,
    unsigned int bitVector);


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


/* [helpstring] */ LPMEASURER STDMETHODCALLTYPE IPart_GetMeasurer_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ LPBODY STDMETHODCALLTYPE IPart_GetMainBody_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ long STDMETHODCALLTYPE IPart_GetUseColor_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetUseColor_Proxy( 
    IPart __RPC_FAR * This,
    long useColor);


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


/* [helpstring] */ IObject3DNotifyResult __RPC_FAR *STDMETHODCALLTYPE IPart_GetObject3DNotifyResult_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_UpdatePlacementEx_Proxy( 
    IPart __RPC_FAR * This,
    BOOL redraw);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_RebuildModelEx_Proxy( 
    IPart __RPC_FAR * This,
    BOOL redraw);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_GetNeedRebuild_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetNeedRebuild_Proxy( 
    IPart __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_CurveIntersection_Proxy( 
    IPart __RPC_FAR * This,
    LPCURVE3D curve,
    LPPARTCOLLECTION parts,
    LPFACECOLLECTION faces,
    LPCOORDINATE3DCOLLECTION points);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_TransformPoint_Proxy( 
    IPart __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z,
    LPPART part1);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_GetHidden_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetHidden_Proxy( 
    IPart __RPC_FAR * This,
    BOOL _hidden);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetObject_Proxy( 
    IPart __RPC_FAR * This,
    long index,
    LPUNKNOWN obj);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IPart_GetObject_Proxy( 
    IPart __RPC_FAR * This,
    long index);


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


/* [helpstring] */ long STDMETHODCALLTYPE IPart_GetCountObj_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_ClearAllObj_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPart_CreateOrEditObject_Proxy( 
    IPart __RPC_FAR * This,
    short objType,
    LPENTITY editObj);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_GetDoubleClickEditOff_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetDoubleClickEditOff_Proxy( 
    IPart __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_TransformPoints_Proxy( 
    IPart __RPC_FAR * This,
    VARIANT __RPC_FAR *poins,
    LPPART part1);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_GetSummMatrix_Proxy( 
    IPart __RPC_FAR * This,
    VARIANT __RPC_FAR *matrix,
    LPPART part1);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_GetMultiBodyParts_Proxy( 
    IPart __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_SetSourceVariables_Proxy( 
    IPart __RPC_FAR * This,
    BOOL rebuild);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IPart_GetMathematic3D_Proxy( 
    IPart __RPC_FAR * This,
    int type);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPart_GetGabarit_Proxy( 
    IPart __RPC_FAR * This,
    BOOL full,
    BOOL customizable,
    double __RPC_FAR *x1,
    double __RPC_FAR *y1,
    double __RPC_FAR *z1,
    double __RPC_FAR *x2,
    double __RPC_FAR *y2,
    double __RPC_FAR *z2);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPart_GetObjectByName_Proxy( 
    IPart __RPC_FAR * This,
    LPOLESTR name,
    short objType,
    BOOL testFullName,
    BOOL testIgnoreCase);


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



#endif 	/* __IPart_INTERFACE_DEFINED__ */


#ifndef __IEntity_INTERFACE_DEFINED__
#define __IEntity_INTERFACE_DEFINED__

/* interface IEntity */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IEntity,0x7AA0E540,0x0301,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0301-11D4-A30E-00C026EE094F")
    IEntity : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHidden( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHidden( 
            BOOL _hidden) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetName( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetName( 
            LPOLESTR name) = 0;
        
        virtual /* [helpstring] */ LPCOLORPARAM STDMETHODCALLTYPE ColorParam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetAdvancedColor( 
            COLORREF __RPC_FAR *color,
            double __RPC_FAR *ambient,
            double __RPC_FAR *diffuse,
            double __RPC_FAR *specularity,
            double __RPC_FAR *shininess,
            double __RPC_FAR *transparency,
            double __RPC_FAR *emission) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAdvancedColor( 
            COLORREF color,
            double ambient,
            double diffuse,
            double specularity,
            double shininess,
            double transparency,
            double emission) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsIt( 
            short objType) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsCreated( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE GetDefinition( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Create( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Update( void) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE GetParent( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetExcluded( 
            BOOL exclude) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetExcluded( void) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE GetFeature( void) = 0;
        
        virtual /* [helpstring] */ LPBODYCOLLECTION STDMETHODCALLTYPE BodyCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetMultiBodyParts( void) = 0;
        
        virtual /* [helpstring] */ LPBODYPARTS STDMETHODCALLTYPE GetBodyParts( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IEntityVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IEntity __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IEntity __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHidden )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHidden )( 
            IEntity __RPC_FAR * This,
            BOOL _hidden);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetName )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetName )( 
            IEntity __RPC_FAR * This,
            LPOLESTR name);
        
        /* [helpstring] */ LPCOLORPARAM ( STDMETHODCALLTYPE __RPC_FAR *ColorParam )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetAdvancedColor )( 
            IEntity __RPC_FAR * This,
            COLORREF __RPC_FAR *color,
            double __RPC_FAR *ambient,
            double __RPC_FAR *diffuse,
            double __RPC_FAR *specularity,
            double __RPC_FAR *shininess,
            double __RPC_FAR *transparency,
            double __RPC_FAR *emission);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAdvancedColor )( 
            IEntity __RPC_FAR * This,
            COLORREF color,
            double ambient,
            double diffuse,
            double specularity,
            double shininess,
            double transparency,
            double emission);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsIt )( 
            IEntity __RPC_FAR * This,
            short objType);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetType )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsCreated )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *GetDefinition )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Create )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Update )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *GetParent )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetExcluded )( 
            IEntity __RPC_FAR * This,
            BOOL exclude);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetExcluded )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *GetFeature )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ LPBODYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *BodyCollection )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetMultiBodyParts )( 
            IEntity __RPC_FAR * This);
        
        /* [helpstring] */ LPBODYPARTS ( STDMETHODCALLTYPE __RPC_FAR *GetBodyParts )( 
            IEntity __RPC_FAR * This);
        
        END_INTERFACE
    } IEntityVtbl;

    interface IEntity
    {
        CONST_VTBL struct IEntityVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IEntity_GetHidden(This)	\
    (This)->lpVtbl -> GetHidden(This)

#define IEntity_SetHidden(This,_hidden)	\
    (This)->lpVtbl -> SetHidden(This,_hidden)

#define IEntity_GetName(This)	\
    (This)->lpVtbl -> GetName(This)

#define IEntity_SetName(This,name)	\
    (This)->lpVtbl -> SetName(This,name)

#define IEntity_ColorParam(This)	\
    (This)->lpVtbl -> ColorParam(This)

#define IEntity_GetAdvancedColor(This,color,ambient,diffuse,specularity,shininess,transparency,emission)	\
    (This)->lpVtbl -> GetAdvancedColor(This,color,ambient,diffuse,specularity,shininess,transparency,emission)

#define IEntity_SetAdvancedColor(This,color,ambient,diffuse,specularity,shininess,transparency,emission)	\
    (This)->lpVtbl -> SetAdvancedColor(This,color,ambient,diffuse,specularity,shininess,transparency,emission)

#define IEntity_IsIt(This,objType)	\
    (This)->lpVtbl -> IsIt(This,objType)

#define IEntity_GetType(This)	\
    (This)->lpVtbl -> GetType(This)

#define IEntity_IsCreated(This)	\
    (This)->lpVtbl -> IsCreated(This)

#define IEntity_GetDefinition(This)	\
    (This)->lpVtbl -> GetDefinition(This)

#define IEntity_Create(This)	\
    (This)->lpVtbl -> Create(This)

#define IEntity_Update(This)	\
    (This)->lpVtbl -> Update(This)

#define IEntity_GetParent(This)	\
    (This)->lpVtbl -> GetParent(This)

#define IEntity_SetExcluded(This,exclude)	\
    (This)->lpVtbl -> SetExcluded(This,exclude)

#define IEntity_GetExcluded(This)	\
    (This)->lpVtbl -> GetExcluded(This)

#define IEntity_GetFeature(This)	\
    (This)->lpVtbl -> GetFeature(This)

#define IEntity_BodyCollection(This)	\
    (This)->lpVtbl -> BodyCollection(This)

#define IEntity_GetMultiBodyParts(This)	\
    (This)->lpVtbl -> GetMultiBodyParts(This)

#define IEntity_GetBodyParts(This)	\
    (This)->lpVtbl -> GetBodyParts(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_GetHidden_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_SetHidden_Proxy( 
    IEntity __RPC_FAR * This,
    BOOL _hidden);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IEntity_GetName_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_SetName_Proxy( 
    IEntity __RPC_FAR * This,
    LPOLESTR name);


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


/* [helpstring] */ LPCOLORPARAM STDMETHODCALLTYPE IEntity_ColorParam_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_GetAdvancedColor_Proxy( 
    IEntity __RPC_FAR * This,
    COLORREF __RPC_FAR *color,
    double __RPC_FAR *ambient,
    double __RPC_FAR *diffuse,
    double __RPC_FAR *specularity,
    double __RPC_FAR *shininess,
    double __RPC_FAR *transparency,
    double __RPC_FAR *emission);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_SetAdvancedColor_Proxy( 
    IEntity __RPC_FAR * This,
    COLORREF color,
    double ambient,
    double diffuse,
    double specularity,
    double shininess,
    double transparency,
    double emission);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_IsIt_Proxy( 
    IEntity __RPC_FAR * This,
    short objType);


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


/* [helpstring] */ short STDMETHODCALLTYPE IEntity_GetType_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_IsCreated_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IEntity_GetDefinition_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_Create_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_Update_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ LPPART STDMETHODCALLTYPE IEntity_GetParent_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_SetExcluded_Proxy( 
    IEntity __RPC_FAR * This,
    BOOL exclude);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_GetExcluded_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IEntity_GetFeature_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ LPBODYCOLLECTION STDMETHODCALLTYPE IEntity_BodyCollection_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntity_GetMultiBodyParts_Proxy( 
    IEntity __RPC_FAR * This);


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


/* [helpstring] */ LPBODYPARTS STDMETHODCALLTYPE IEntity_GetBodyParts_Proxy( 
    IEntity __RPC_FAR * This);


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



#endif 	/* __IEntity_INTERFACE_DEFINED__ */


#ifndef __IColorParam_INTERFACE_DEFINED__
#define __IColorParam_INTERFACE_DEFINED__

/* interface IColorParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IColorParam,0x7AA0E540,0x0305,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0305-11D4-A30E-00C026EE094F")
    IColorParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ COLORREF STDMETHODCALLTYPE GetColor( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetColor( 
            COLORREF val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAmbient( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAmbient( 
            double val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetDiffuse( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDiffuse( 
            double val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetSpecularity( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSpecularity( 
            double val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetShininess( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetShininess( 
            double val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetTransparency( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTransparency( 
            double val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetEmission( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetEmission( 
            double val) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IColorParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IColorParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IColorParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IColorParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IColorParam __RPC_FAR * This);
        
        /* [helpstring] */ COLORREF ( STDMETHODCALLTYPE __RPC_FAR *GetColor )( 
            IColorParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetColor )( 
            IColorParam __RPC_FAR * This,
            COLORREF val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAmbient )( 
            IColorParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAmbient )( 
            IColorParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetDiffuse )( 
            IColorParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDiffuse )( 
            IColorParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetSpecularity )( 
            IColorParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSpecularity )( 
            IColorParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetShininess )( 
            IColorParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetShininess )( 
            IColorParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetTransparency )( 
            IColorParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTransparency )( 
            IColorParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetEmission )( 
            IColorParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetEmission )( 
            IColorParam __RPC_FAR * This,
            double val);
        
        END_INTERFACE
    } IColorParamVtbl;

    interface IColorParam
    {
        CONST_VTBL struct IColorParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#define IColorParam_GetColor(This)	\
    (This)->lpVtbl -> GetColor(This)

#define IColorParam_SetColor(This,val)	\
    (This)->lpVtbl -> SetColor(This,val)

#define IColorParam_GetAmbient(This)	\
    (This)->lpVtbl -> GetAmbient(This)

#define IColorParam_SetAmbient(This,val)	\
    (This)->lpVtbl -> SetAmbient(This,val)

#define IColorParam_GetDiffuse(This)	\
    (This)->lpVtbl -> GetDiffuse(This)

#define IColorParam_SetDiffuse(This,val)	\
    (This)->lpVtbl -> SetDiffuse(This,val)

#define IColorParam_GetSpecularity(This)	\
    (This)->lpVtbl -> GetSpecularity(This)

#define IColorParam_SetSpecularity(This,val)	\
    (This)->lpVtbl -> SetSpecularity(This,val)

#define IColorParam_GetShininess(This)	\
    (This)->lpVtbl -> GetShininess(This)

#define IColorParam_SetShininess(This,val)	\
    (This)->lpVtbl -> SetShininess(This,val)

#define IColorParam_GetTransparency(This)	\
    (This)->lpVtbl -> GetTransparency(This)

#define IColorParam_SetTransparency(This,val)	\
    (This)->lpVtbl -> SetTransparency(This,val)

#define IColorParam_GetEmission(This)	\
    (This)->lpVtbl -> GetEmission(This)

#define IColorParam_SetEmission(This,val)	\
    (This)->lpVtbl -> SetEmission(This,val)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IColorParam_Clear_Proxy( 
    IColorParam __RPC_FAR * This);


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


/* [helpstring] */ COLORREF STDMETHODCALLTYPE IColorParam_GetColor_Proxy( 
    IColorParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IColorParam_SetColor_Proxy( 
    IColorParam __RPC_FAR * This,
    COLORREF val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IColorParam_GetAmbient_Proxy( 
    IColorParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IColorParam_SetAmbient_Proxy( 
    IColorParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IColorParam_GetDiffuse_Proxy( 
    IColorParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IColorParam_SetDiffuse_Proxy( 
    IColorParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IColorParam_GetSpecularity_Proxy( 
    IColorParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IColorParam_SetSpecularity_Proxy( 
    IColorParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IColorParam_GetShininess_Proxy( 
    IColorParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IColorParam_SetShininess_Proxy( 
    IColorParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IColorParam_GetTransparency_Proxy( 
    IColorParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IColorParam_SetTransparency_Proxy( 
    IColorParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IColorParam_GetEmission_Proxy( 
    IColorParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IColorParam_SetEmission_Proxy( 
    IColorParam __RPC_FAR * This,
    double val);


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



#endif 	/* __IColorParam_INTERFACE_DEFINED__ */


#ifndef __ISpecification3D_INTERFACE_DEFINED__
#define __ISpecification3D_INTERFACE_DEFINED__

/* interface ISpecification3D */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ISpecification3D,0x7AA0E540,0x0315,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0315-11D4-A30E-00C026EE094F")
    ISpecification3D : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SpcIncludePart( 
            LPPART part,
            BOOL fillTexts) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetSpcObjForGeomWithLimit( 
            LPOLESTR nameLib,
            long numb,
            LPPART part,
            short first,
            short section,
            double attrTypeNumb) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE D3GetSpcObjGeometry( 
            long spcObj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISpecification3DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ISpecification3D __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ISpecification3D __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ISpecification3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SpcIncludePart )( 
            ISpecification3D __RPC_FAR * This,
            LPPART part,
            BOOL fillTexts);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetSpcObjForGeomWithLimit )( 
            ISpecification3D __RPC_FAR * This,
            LPOLESTR nameLib,
            long numb,
            LPPART part,
            short first,
            short section,
            double attrTypeNumb);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *D3GetSpcObjGeometry )( 
            ISpecification3D __RPC_FAR * This,
            long spcObj);
        
        END_INTERFACE
    } ISpecification3DVtbl;

    interface ISpecification3D
    {
        CONST_VTBL struct ISpecification3DVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISpecification3D_SpcIncludePart(This,part,fillTexts)	\
    (This)->lpVtbl -> SpcIncludePart(This,part,fillTexts)

#define ISpecification3D_GetSpcObjForGeomWithLimit(This,nameLib,numb,part,first,section,attrTypeNumb)	\
    (This)->lpVtbl -> GetSpcObjForGeomWithLimit(This,nameLib,numb,part,first,section,attrTypeNumb)

#define ISpecification3D_D3GetSpcObjGeometry(This,spcObj)	\
    (This)->lpVtbl -> D3GetSpcObjGeometry(This,spcObj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ISpecification3D_SpcIncludePart_Proxy( 
    ISpecification3D __RPC_FAR * This,
    LPPART part,
    BOOL fillTexts);


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


/* [helpstring] */ long STDMETHODCALLTYPE ISpecification3D_GetSpcObjForGeomWithLimit_Proxy( 
    ISpecification3D __RPC_FAR * This,
    LPOLESTR nameLib,
    long numb,
    LPPART part,
    short first,
    short section,
    double attrTypeNumb);


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


/* [helpstring] */ LPPART STDMETHODCALLTYPE ISpecification3D_D3GetSpcObjGeometry_Proxy( 
    ISpecification3D __RPC_FAR * This,
    long spcObj);


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



#endif 	/* __ISpecification3D_INTERFACE_DEFINED__ */


#ifndef __IPlacement_INTERFACE_DEFINED__
#define __IPlacement_INTERFACE_DEFINED__

/* interface IPlacement */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlacement,0x7AA0E540,0x0310,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0310-11D4-A30E-00C026EE094F")
    IPlacement : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetOrigin( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetOrigin( 
            double x,
            double y,
            double z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetAxis( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z,
            long type) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAxis( 
            double x,
            double y,
            double z,
            long type) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlacement( 
            LPPLACEMENT p) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAxes( 
            double Xx,
            double Xy,
            double Xz,
            double Yx,
            double Yy,
            double Yz) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE PointProjection( 
            double XIn,
            double YIn,
            double ZIn,
            double __RPC_FAR *XOut,
            double __RPC_FAR *YOut) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE PointOn( 
            double XIn,
            double YIn,
            double __RPC_FAR *XOut,
            double __RPC_FAR *YOut,
            double __RPC_FAR *ZOut) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlacementVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlacement __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlacement __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlacement __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetOrigin )( 
            IPlacement __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetOrigin )( 
            IPlacement __RPC_FAR * This,
            double x,
            double y,
            double z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetAxis )( 
            IPlacement __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z,
            long type);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAxis )( 
            IPlacement __RPC_FAR * This,
            double x,
            double y,
            double z,
            long type);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlacement )( 
            IPlacement __RPC_FAR * This,
            LPPLACEMENT p);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAxes )( 
            IPlacement __RPC_FAR * This,
            double Xx,
            double Xy,
            double Xz,
            double Yx,
            double Yy,
            double Yz);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *PointProjection )( 
            IPlacement __RPC_FAR * This,
            double XIn,
            double YIn,
            double ZIn,
            double __RPC_FAR *XOut,
            double __RPC_FAR *YOut);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *PointOn )( 
            IPlacement __RPC_FAR * This,
            double XIn,
            double YIn,
            double __RPC_FAR *XOut,
            double __RPC_FAR *YOut,
            double __RPC_FAR *ZOut);
        
        END_INTERFACE
    } IPlacementVtbl;

    interface IPlacement
    {
        CONST_VTBL struct IPlacementVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlacement_GetOrigin(This,x,y,z)	\
    (This)->lpVtbl -> GetOrigin(This,x,y,z)

#define IPlacement_SetOrigin(This,x,y,z)	\
    (This)->lpVtbl -> SetOrigin(This,x,y,z)

#define IPlacement_GetAxis(This,x,y,z,type)	\
    (This)->lpVtbl -> GetAxis(This,x,y,z,type)

#define IPlacement_SetAxis(This,x,y,z,type)	\
    (This)->lpVtbl -> SetAxis(This,x,y,z,type)

#define IPlacement_SetPlacement(This,p)	\
    (This)->lpVtbl -> SetPlacement(This,p)

#define IPlacement_SetAxes(This,Xx,Xy,Xz,Yx,Yy,Yz)	\
    (This)->lpVtbl -> SetAxes(This,Xx,Xy,Xz,Yx,Yy,Yz)

#define IPlacement_PointProjection(This,XIn,YIn,ZIn,XOut,YOut)	\
    (This)->lpVtbl -> PointProjection(This,XIn,YIn,ZIn,XOut,YOut)

#define IPlacement_PointOn(This,XIn,YIn,XOut,YOut,ZOut)	\
    (This)->lpVtbl -> PointOn(This,XIn,YIn,XOut,YOut,ZOut)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlacement_GetOrigin_Proxy( 
    IPlacement __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlacement_SetOrigin_Proxy( 
    IPlacement __RPC_FAR * This,
    double x,
    double y,
    double z);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlacement_GetAxis_Proxy( 
    IPlacement __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z,
    long type);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlacement_SetAxis_Proxy( 
    IPlacement __RPC_FAR * This,
    double x,
    double y,
    double z,
    long type);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlacement_SetPlacement_Proxy( 
    IPlacement __RPC_FAR * This,
    LPPLACEMENT p);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlacement_SetAxes_Proxy( 
    IPlacement __RPC_FAR * This,
    double Xx,
    double Xy,
    double Xz,
    double Yx,
    double Yy,
    double Yz);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlacement_PointProjection_Proxy( 
    IPlacement __RPC_FAR * This,
    double XIn,
    double YIn,
    double ZIn,
    double __RPC_FAR *XOut,
    double __RPC_FAR *YOut);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlacement_PointOn_Proxy( 
    IPlacement __RPC_FAR * This,
    double XIn,
    double YIn,
    double __RPC_FAR *XOut,
    double __RPC_FAR *YOut,
    double __RPC_FAR *ZOut);


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



#endif 	/* __IPlacement_INTERFACE_DEFINED__ */


#ifndef __IRequestInfo_INTERFACE_DEFINED__
#define __IRequestInfo_INTERFACE_DEFINED__

/* interface IRequestInfo */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IRequestInfo,0x7AA0E540,0x0313,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0313-11D4-A30E-00C026EE094F")
    IRequestInfo : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetPrompt( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPrompt( 
            LPOLESTR prompt) = 0;
        
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE GetPlacement( void) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE GetEntityCollection( void) = 0;
        
        virtual /* [helpstring] */ void __RPC_FAR *STDMETHODCALLTYPE GetFilterCallBack( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFilterCallBack( 
            void __RPC_FAR *callBack) = 0;
        
        virtual /* [helpstring] */ void __RPC_FAR *STDMETHODCALLTYPE GetCallBack( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCallBack( 
            void __RPC_FAR *callBack) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetCommandsString( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCommandsString( 
            LPOLESTR menu) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetMenuId( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetMenuId( 
            long menuId) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCurrentCommand( void) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetCursorName( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCursorName( 
            LPOLESTR cursor) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCursorId( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCursorId( 
            long cursorId) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetTitle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTitle( 
            LPOLESTR title) = 0;
        
        virtual /* [helpstring] */ LPMATECONSTRAINTCOLLECTION STDMETHODCALLTYPE GetMateConstraintCollection( void) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE GetIPhantom( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE CreatePhantom( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE GetProcessParam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetProcessParam( 
            LPUNKNOWN param) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE GetCallBackFeature( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDynamicFiltering( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDynamicFiltering( 
            BOOL f) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRequestInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IRequestInfo __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IRequestInfo __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetPrompt )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPrompt )( 
            IRequestInfo __RPC_FAR * This,
            LPOLESTR prompt);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *GetEntityCollection )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *GetFilterCallBack )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFilterCallBack )( 
            IRequestInfo __RPC_FAR * This,
            void __RPC_FAR *callBack);
        
        /* [helpstring] */ void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *GetCallBack )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCallBack )( 
            IRequestInfo __RPC_FAR * This,
            void __RPC_FAR *callBack);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetCommandsString )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCommandsString )( 
            IRequestInfo __RPC_FAR * This,
            LPOLESTR menu);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetMenuId )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetMenuId )( 
            IRequestInfo __RPC_FAR * This,
            long menuId);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCurrentCommand )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetCursorName )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCursorName )( 
            IRequestInfo __RPC_FAR * This,
            LPOLESTR cursor);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCursorId )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCursorId )( 
            IRequestInfo __RPC_FAR * This,
            long cursorId);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetTitle )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTitle )( 
            IRequestInfo __RPC_FAR * This,
            LPOLESTR title);
        
        /* [helpstring] */ LPMATECONSTRAINTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *GetMateConstraintCollection )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *GetIPhantom )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *CreatePhantom )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *GetProcessParam )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetProcessParam )( 
            IRequestInfo __RPC_FAR * This,
            LPUNKNOWN param);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *GetCallBackFeature )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDynamicFiltering )( 
            IRequestInfo __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDynamicFiltering )( 
            IRequestInfo __RPC_FAR * This,
            BOOL f);
        
        END_INTERFACE
    } IRequestInfoVtbl;

    interface IRequestInfo
    {
        CONST_VTBL struct IRequestInfoVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRequestInfo_GetPrompt(This)	\
    (This)->lpVtbl -> GetPrompt(This)

#define IRequestInfo_SetPrompt(This,prompt)	\
    (This)->lpVtbl -> SetPrompt(This,prompt)

#define IRequestInfo_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#define IRequestInfo_GetEntityCollection(This)	\
    (This)->lpVtbl -> GetEntityCollection(This)

#define IRequestInfo_GetFilterCallBack(This)	\
    (This)->lpVtbl -> GetFilterCallBack(This)

#define IRequestInfo_SetFilterCallBack(This,callBack)	\
    (This)->lpVtbl -> SetFilterCallBack(This,callBack)

#define IRequestInfo_GetCallBack(This)	\
    (This)->lpVtbl -> GetCallBack(This)

#define IRequestInfo_SetCallBack(This,callBack)	\
    (This)->lpVtbl -> SetCallBack(This,callBack)

#define IRequestInfo_GetCommandsString(This)	\
    (This)->lpVtbl -> GetCommandsString(This)

#define IRequestInfo_SetCommandsString(This,menu)	\
    (This)->lpVtbl -> SetCommandsString(This,menu)

#define IRequestInfo_GetMenuId(This)	\
    (This)->lpVtbl -> GetMenuId(This)

#define IRequestInfo_SetMenuId(This,menuId)	\
    (This)->lpVtbl -> SetMenuId(This,menuId)

#define IRequestInfo_GetCurrentCommand(This)	\
    (This)->lpVtbl -> GetCurrentCommand(This)

#define IRequestInfo_GetCursorName(This)	\
    (This)->lpVtbl -> GetCursorName(This)

#define IRequestInfo_SetCursorName(This,cursor)	\
    (This)->lpVtbl -> SetCursorName(This,cursor)

#define IRequestInfo_GetCursorId(This)	\
    (This)->lpVtbl -> GetCursorId(This)

#define IRequestInfo_SetCursorId(This,cursorId)	\
    (This)->lpVtbl -> SetCursorId(This,cursorId)

#define IRequestInfo_GetTitle(This)	\
    (This)->lpVtbl -> GetTitle(This)

#define IRequestInfo_SetTitle(This,title)	\
    (This)->lpVtbl -> SetTitle(This,title)

#define IRequestInfo_GetMateConstraintCollection(This)	\
    (This)->lpVtbl -> GetMateConstraintCollection(This)

#define IRequestInfo_GetIPhantom(This)	\
    (This)->lpVtbl -> GetIPhantom(This)

#define IRequestInfo_CreatePhantom(This)	\
    (This)->lpVtbl -> CreatePhantom(This)

#define IRequestInfo_GetProcessParam(This)	\
    (This)->lpVtbl -> GetProcessParam(This)

#define IRequestInfo_SetProcessParam(This,param)	\
    (This)->lpVtbl -> SetProcessParam(This,param)

#define IRequestInfo_GetCallBackFeature(This)	\
    (This)->lpVtbl -> GetCallBackFeature(This)

#define IRequestInfo_GetDynamicFiltering(This)	\
    (This)->lpVtbl -> GetDynamicFiltering(This)

#define IRequestInfo_SetDynamicFiltering(This,f)	\
    (This)->lpVtbl -> SetDynamicFiltering(This,f)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IRequestInfo_GetPrompt_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_SetPrompt_Proxy( 
    IRequestInfo __RPC_FAR * This,
    LPOLESTR prompt);


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


/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE IRequestInfo_GetPlacement_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IRequestInfo_GetEntityCollection_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ void __RPC_FAR *STDMETHODCALLTYPE IRequestInfo_GetFilterCallBack_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_SetFilterCallBack_Proxy( 
    IRequestInfo __RPC_FAR * This,
    void __RPC_FAR *callBack);


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


/* [helpstring] */ void __RPC_FAR *STDMETHODCALLTYPE IRequestInfo_GetCallBack_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_SetCallBack_Proxy( 
    IRequestInfo __RPC_FAR * This,
    void __RPC_FAR *callBack);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IRequestInfo_GetCommandsString_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_SetCommandsString_Proxy( 
    IRequestInfo __RPC_FAR * This,
    LPOLESTR menu);


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


/* [helpstring] */ long STDMETHODCALLTYPE IRequestInfo_GetMenuId_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_SetMenuId_Proxy( 
    IRequestInfo __RPC_FAR * This,
    long menuId);


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


/* [helpstring] */ long STDMETHODCALLTYPE IRequestInfo_GetCurrentCommand_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IRequestInfo_GetCursorName_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_SetCursorName_Proxy( 
    IRequestInfo __RPC_FAR * This,
    LPOLESTR cursor);


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


/* [helpstring] */ long STDMETHODCALLTYPE IRequestInfo_GetCursorId_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_SetCursorId_Proxy( 
    IRequestInfo __RPC_FAR * This,
    long cursorId);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IRequestInfo_GetTitle_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_SetTitle_Proxy( 
    IRequestInfo __RPC_FAR * This,
    LPOLESTR title);


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


/* [helpstring] */ LPMATECONSTRAINTCOLLECTION STDMETHODCALLTYPE IRequestInfo_GetMateConstraintCollection_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ LPPART STDMETHODCALLTYPE IRequestInfo_GetIPhantom_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_CreatePhantom_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IRequestInfo_GetProcessParam_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_SetProcessParam_Proxy( 
    IRequestInfo __RPC_FAR * This,
    LPUNKNOWN param);


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


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IRequestInfo_GetCallBackFeature_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_GetDynamicFiltering_Proxy( 
    IRequestInfo __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRequestInfo_SetDynamicFiltering_Proxy( 
    IRequestInfo __RPC_FAR * This,
    BOOL f);


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



#endif 	/* __IRequestInfo_INTERFACE_DEFINED__ */


#ifndef __IMateConstraint_INTERFACE_DEFINED__
#define __IMateConstraint_INTERFACE_DEFINED__

/* interface IMateConstraint */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IMateConstraint,0x7AA0E540,0x0314,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0314-11D4-A30E-00C026EE094F")
    IMateConstraint : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetConstraintType( 
            short type) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetConstraintType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetBaseObj( 
            short number,
            LPENTITY obj) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetBaseObj( 
            short number) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirection( 
            short direction) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetDirection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFixed( 
            short direction) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetFixed( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDistance( 
            double distance) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetDistance( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Create( void) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE GetFeature( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetEntityParams( 
            short number,
            VARIANT __RPC_FAR *params) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMateConstraintVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMateConstraint __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMateConstraint __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMateConstraint __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetConstraintType )( 
            IMateConstraint __RPC_FAR * This,
            short type);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetConstraintType )( 
            IMateConstraint __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetBaseObj )( 
            IMateConstraint __RPC_FAR * This,
            short number,
            LPENTITY obj);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetBaseObj )( 
            IMateConstraint __RPC_FAR * This,
            short number);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirection )( 
            IMateConstraint __RPC_FAR * This,
            short direction);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetDirection )( 
            IMateConstraint __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFixed )( 
            IMateConstraint __RPC_FAR * This,
            short direction);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetFixed )( 
            IMateConstraint __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDistance )( 
            IMateConstraint __RPC_FAR * This,
            double distance);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetDistance )( 
            IMateConstraint __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Create )( 
            IMateConstraint __RPC_FAR * This);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *GetFeature )( 
            IMateConstraint __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetEntityParams )( 
            IMateConstraint __RPC_FAR * This,
            short number,
            VARIANT __RPC_FAR *params);
        
        END_INTERFACE
    } IMateConstraintVtbl;

    interface IMateConstraint
    {
        CONST_VTBL struct IMateConstraintVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IMateConstraint_SetConstraintType(This,type)	\
    (This)->lpVtbl -> SetConstraintType(This,type)

#define IMateConstraint_GetConstraintType(This)	\
    (This)->lpVtbl -> GetConstraintType(This)

#define IMateConstraint_SetBaseObj(This,number,obj)	\
    (This)->lpVtbl -> SetBaseObj(This,number,obj)

#define IMateConstraint_GetBaseObj(This,number)	\
    (This)->lpVtbl -> GetBaseObj(This,number)

#define IMateConstraint_SetDirection(This,direction)	\
    (This)->lpVtbl -> SetDirection(This,direction)

#define IMateConstraint_GetDirection(This)	\
    (This)->lpVtbl -> GetDirection(This)

#define IMateConstraint_SetFixed(This,direction)	\
    (This)->lpVtbl -> SetFixed(This,direction)

#define IMateConstraint_GetFixed(This)	\
    (This)->lpVtbl -> GetFixed(This)

#define IMateConstraint_SetDistance(This,distance)	\
    (This)->lpVtbl -> SetDistance(This,distance)

#define IMateConstraint_GetDistance(This)	\
    (This)->lpVtbl -> GetDistance(This)

#define IMateConstraint_Create(This)	\
    (This)->lpVtbl -> Create(This)

#define IMateConstraint_GetFeature(This)	\
    (This)->lpVtbl -> GetFeature(This)

#define IMateConstraint_GetEntityParams(This,number,params)	\
    (This)->lpVtbl -> GetEntityParams(This,number,params)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IMateConstraint_SetConstraintType_Proxy( 
    IMateConstraint __RPC_FAR * This,
    short type);


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


/* [helpstring] */ short STDMETHODCALLTYPE IMateConstraint_GetConstraintType_Proxy( 
    IMateConstraint __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMateConstraint_SetBaseObj_Proxy( 
    IMateConstraint __RPC_FAR * This,
    short number,
    LPENTITY obj);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IMateConstraint_GetBaseObj_Proxy( 
    IMateConstraint __RPC_FAR * This,
    short number);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMateConstraint_SetDirection_Proxy( 
    IMateConstraint __RPC_FAR * This,
    short direction);


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


/* [helpstring] */ short STDMETHODCALLTYPE IMateConstraint_GetDirection_Proxy( 
    IMateConstraint __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMateConstraint_SetFixed_Proxy( 
    IMateConstraint __RPC_FAR * This,
    short direction);


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


/* [helpstring] */ short STDMETHODCALLTYPE IMateConstraint_GetFixed_Proxy( 
    IMateConstraint __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMateConstraint_SetDistance_Proxy( 
    IMateConstraint __RPC_FAR * This,
    double distance);


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


/* [helpstring] */ double STDMETHODCALLTYPE IMateConstraint_GetDistance_Proxy( 
    IMateConstraint __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMateConstraint_Create_Proxy( 
    IMateConstraint __RPC_FAR * This);


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


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IMateConstraint_GetFeature_Proxy( 
    IMateConstraint __RPC_FAR * This);


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


/* [helpstring] */ long STDMETHODCALLTYPE IMateConstraint_GetEntityParams_Proxy( 
    IMateConstraint __RPC_FAR * This,
    short number,
    VARIANT __RPC_FAR *params);


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



#endif 	/* __IMateConstraint_INTERFACE_DEFINED__ */


#ifndef __IRasterFormatParam_INTERFACE_DEFINED__
#define __IRasterFormatParam_INTERFACE_DEFINED__

/* interface IRasterFormatParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IRasterFormatParam,0x7AA0E540,0x0318,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0318-11D4-A30E-00C026EE094F")
    IRasterFormatParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetFormat( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFormat( 
            short f) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetColorBPP( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetColorBPP( 
            short f) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetGreyScale( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetGreyScale( 
            BOOL direction) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetExtResolution( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetExtResolution( 
            int f) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetExtScale( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetExtScale( 
            double f) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetColorType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetColorType( 
            short f) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetOnlyThinLine( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetOnlyThinLine( 
            BOOL direction) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetPages( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPages( 
            LPOLESTR p) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetRangeIndex( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetRangeIndex( 
            short f) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetMultiPageOutput( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetMultiPageOutput( 
            BOOL direction) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Init( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRasterFormatParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IRasterFormatParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IRasterFormatParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IRasterFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetFormat )( 
            IRasterFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFormat )( 
            IRasterFormatParam __RPC_FAR * This,
            short f);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetColorBPP )( 
            IRasterFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetColorBPP )( 
            IRasterFormatParam __RPC_FAR * This,
            short f);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetGreyScale )( 
            IRasterFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetGreyScale )( 
            IRasterFormatParam __RPC_FAR * This,
            BOOL direction);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetExtResolution )( 
            IRasterFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetExtResolution )( 
            IRasterFormatParam __RPC_FAR * This,
            int f);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetExtScale )( 
            IRasterFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetExtScale )( 
            IRasterFormatParam __RPC_FAR * This,
            double f);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetColorType )( 
            IRasterFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetColorType )( 
            IRasterFormatParam __RPC_FAR * This,
            short f);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetOnlyThinLine )( 
            IRasterFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetOnlyThinLine )( 
            IRasterFormatParam __RPC_FAR * This,
            BOOL direction);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetPages )( 
            IRasterFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPages )( 
            IRasterFormatParam __RPC_FAR * This,
            LPOLESTR p);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetRangeIndex )( 
            IRasterFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetRangeIndex )( 
            IRasterFormatParam __RPC_FAR * This,
            short f);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetMultiPageOutput )( 
            IRasterFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetMultiPageOutput )( 
            IRasterFormatParam __RPC_FAR * This,
            BOOL direction);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Init )( 
            IRasterFormatParam __RPC_FAR * This);
        
        END_INTERFACE
    } IRasterFormatParamVtbl;

    interface IRasterFormatParam
    {
        CONST_VTBL struct IRasterFormatParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRasterFormatParam_GetFormat(This)	\
    (This)->lpVtbl -> GetFormat(This)

#define IRasterFormatParam_SetFormat(This,f)	\
    (This)->lpVtbl -> SetFormat(This,f)

#define IRasterFormatParam_GetColorBPP(This)	\
    (This)->lpVtbl -> GetColorBPP(This)

#define IRasterFormatParam_SetColorBPP(This,f)	\
    (This)->lpVtbl -> SetColorBPP(This,f)

#define IRasterFormatParam_GetGreyScale(This)	\
    (This)->lpVtbl -> GetGreyScale(This)

#define IRasterFormatParam_SetGreyScale(This,direction)	\
    (This)->lpVtbl -> SetGreyScale(This,direction)

#define IRasterFormatParam_GetExtResolution(This)	\
    (This)->lpVtbl -> GetExtResolution(This)

#define IRasterFormatParam_SetExtResolution(This,f)	\
    (This)->lpVtbl -> SetExtResolution(This,f)

#define IRasterFormatParam_GetExtScale(This)	\
    (This)->lpVtbl -> GetExtScale(This)

#define IRasterFormatParam_SetExtScale(This,f)	\
    (This)->lpVtbl -> SetExtScale(This,f)

#define IRasterFormatParam_GetColorType(This)	\
    (This)->lpVtbl -> GetColorType(This)

#define IRasterFormatParam_SetColorType(This,f)	\
    (This)->lpVtbl -> SetColorType(This,f)

#define IRasterFormatParam_GetOnlyThinLine(This)	\
    (This)->lpVtbl -> GetOnlyThinLine(This)

#define IRasterFormatParam_SetOnlyThinLine(This,direction)	\
    (This)->lpVtbl -> SetOnlyThinLine(This,direction)

#define IRasterFormatParam_GetPages(This)	\
    (This)->lpVtbl -> GetPages(This)

#define IRasterFormatParam_SetPages(This,p)	\
    (This)->lpVtbl -> SetPages(This,p)

#define IRasterFormatParam_GetRangeIndex(This)	\
    (This)->lpVtbl -> GetRangeIndex(This)

#define IRasterFormatParam_SetRangeIndex(This,f)	\
    (This)->lpVtbl -> SetRangeIndex(This,f)

#define IRasterFormatParam_GetMultiPageOutput(This)	\
    (This)->lpVtbl -> GetMultiPageOutput(This)

#define IRasterFormatParam_SetMultiPageOutput(This,direction)	\
    (This)->lpVtbl -> SetMultiPageOutput(This,direction)

#define IRasterFormatParam_Init(This)	\
    (This)->lpVtbl -> Init(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ short STDMETHODCALLTYPE IRasterFormatParam_GetFormat_Proxy( 
    IRasterFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_SetFormat_Proxy( 
    IRasterFormatParam __RPC_FAR * This,
    short f);


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


/* [helpstring] */ short STDMETHODCALLTYPE IRasterFormatParam_GetColorBPP_Proxy( 
    IRasterFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_SetColorBPP_Proxy( 
    IRasterFormatParam __RPC_FAR * This,
    short f);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_GetGreyScale_Proxy( 
    IRasterFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_SetGreyScale_Proxy( 
    IRasterFormatParam __RPC_FAR * This,
    BOOL direction);


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


/* [helpstring] */ int STDMETHODCALLTYPE IRasterFormatParam_GetExtResolution_Proxy( 
    IRasterFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_SetExtResolution_Proxy( 
    IRasterFormatParam __RPC_FAR * This,
    int f);


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


/* [helpstring] */ double STDMETHODCALLTYPE IRasterFormatParam_GetExtScale_Proxy( 
    IRasterFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_SetExtScale_Proxy( 
    IRasterFormatParam __RPC_FAR * This,
    double f);


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


/* [helpstring] */ short STDMETHODCALLTYPE IRasterFormatParam_GetColorType_Proxy( 
    IRasterFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_SetColorType_Proxy( 
    IRasterFormatParam __RPC_FAR * This,
    short f);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_GetOnlyThinLine_Proxy( 
    IRasterFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_SetOnlyThinLine_Proxy( 
    IRasterFormatParam __RPC_FAR * This,
    BOOL direction);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IRasterFormatParam_GetPages_Proxy( 
    IRasterFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_SetPages_Proxy( 
    IRasterFormatParam __RPC_FAR * This,
    LPOLESTR p);


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


/* [helpstring] */ short STDMETHODCALLTYPE IRasterFormatParam_GetRangeIndex_Proxy( 
    IRasterFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_SetRangeIndex_Proxy( 
    IRasterFormatParam __RPC_FAR * This,
    short f);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_GetMultiPageOutput_Proxy( 
    IRasterFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_SetMultiPageOutput_Proxy( 
    IRasterFormatParam __RPC_FAR * This,
    BOOL direction);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRasterFormatParam_Init_Proxy( 
    IRasterFormatParam __RPC_FAR * This);


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



#endif 	/* __IRasterFormatParam_INTERFACE_DEFINED__ */


#ifndef __IAdditionFormatParam_INTERFACE_DEFINED__
#define __IAdditionFormatParam_INTERFACE_DEFINED__

/* interface IAdditionFormatParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IAdditionFormatParam,0x7AA0E540,0x0319,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0319-11D4-A30E-00C026EE094F")
    IAdditionFormatParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetFormat( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFormat( 
            short f) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFormatBinary( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFormatBinary( 
            BOOL direction) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetTopolgyIncluded( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTopolgyIncluded( 
            BOOL direction) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Init( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAdditionFormatParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IAdditionFormatParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IAdditionFormatParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IAdditionFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetFormat )( 
            IAdditionFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFormat )( 
            IAdditionFormatParam __RPC_FAR * This,
            short f);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFormatBinary )( 
            IAdditionFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFormatBinary )( 
            IAdditionFormatParam __RPC_FAR * This,
            BOOL direction);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetTopolgyIncluded )( 
            IAdditionFormatParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTopolgyIncluded )( 
            IAdditionFormatParam __RPC_FAR * This,
            BOOL direction);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Init )( 
            IAdditionFormatParam __RPC_FAR * This);
        
        END_INTERFACE
    } IAdditionFormatParamVtbl;

    interface IAdditionFormatParam
    {
        CONST_VTBL struct IAdditionFormatParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAdditionFormatParam_GetFormat(This)	\
    (This)->lpVtbl -> GetFormat(This)

#define IAdditionFormatParam_SetFormat(This,f)	\
    (This)->lpVtbl -> SetFormat(This,f)

#define IAdditionFormatParam_GetFormatBinary(This)	\
    (This)->lpVtbl -> GetFormatBinary(This)

#define IAdditionFormatParam_SetFormatBinary(This,direction)	\
    (This)->lpVtbl -> SetFormatBinary(This,direction)

#define IAdditionFormatParam_GetTopolgyIncluded(This)	\
    (This)->lpVtbl -> GetTopolgyIncluded(This)

#define IAdditionFormatParam_SetTopolgyIncluded(This,direction)	\
    (This)->lpVtbl -> SetTopolgyIncluded(This,direction)

#define IAdditionFormatParam_Init(This)	\
    (This)->lpVtbl -> Init(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ short STDMETHODCALLTYPE IAdditionFormatParam_GetFormat_Proxy( 
    IAdditionFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAdditionFormatParam_SetFormat_Proxy( 
    IAdditionFormatParam __RPC_FAR * This,
    short f);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAdditionFormatParam_GetFormatBinary_Proxy( 
    IAdditionFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAdditionFormatParam_SetFormatBinary_Proxy( 
    IAdditionFormatParam __RPC_FAR * This,
    BOOL direction);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAdditionFormatParam_GetTopolgyIncluded_Proxy( 
    IAdditionFormatParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAdditionFormatParam_SetTopolgyIncluded_Proxy( 
    IAdditionFormatParam __RPC_FAR * This,
    BOOL direction);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAdditionFormatParam_Init_Proxy( 
    IAdditionFormatParam __RPC_FAR * This);


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



#endif 	/* __IAdditionFormatParam_INTERFACE_DEFINED__ */


#ifndef __ISelectionMng_INTERFACE_DEFINED__
#define __ISelectionMng_INTERFACE_DEFINED__

/* interface ISelectionMng */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ISelectionMng,0x974e5e66,0x7948,0x401d,0x8d,0xae,0xc4,0x97,0xa6,0xbf,0x1e,0xbd);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("974e5e66-7948-401d-8dae-c497a6bf1ebd")
    ISelectionMng : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Select( 
            LPUNKNOWN obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Unselect( 
            LPUNKNOWN obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE UnselectAll( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsSelected( 
            LPUNKNOWN obj) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE GetObjectByIndex( 
            int index) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetObjectType( 
            int index) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISelectionMngVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ISelectionMng __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ISelectionMng __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ISelectionMng __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Select )( 
            ISelectionMng __RPC_FAR * This,
            LPUNKNOWN obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Unselect )( 
            ISelectionMng __RPC_FAR * This,
            LPUNKNOWN obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *UnselectAll )( 
            ISelectionMng __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsSelected )( 
            ISelectionMng __RPC_FAR * This,
            LPUNKNOWN obj);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            ISelectionMng __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            ISelectionMng __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            ISelectionMng __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            ISelectionMng __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            ISelectionMng __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *GetObjectByIndex )( 
            ISelectionMng __RPC_FAR * This,
            int index);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetObjectType )( 
            ISelectionMng __RPC_FAR * This,
            int index);
        
        END_INTERFACE
    } ISelectionMngVtbl;

    interface ISelectionMng
    {
        CONST_VTBL struct ISelectionMngVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISelectionMng_Select(This,obj)	\
    (This)->lpVtbl -> Select(This,obj)

#define ISelectionMng_Unselect(This,obj)	\
    (This)->lpVtbl -> Unselect(This,obj)

#define ISelectionMng_UnselectAll(This)	\
    (This)->lpVtbl -> UnselectAll(This)

#define ISelectionMng_IsSelected(This,obj)	\
    (This)->lpVtbl -> IsSelected(This,obj)

#define ISelectionMng_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define ISelectionMng_First(This)	\
    (This)->lpVtbl -> First(This)

#define ISelectionMng_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define ISelectionMng_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define ISelectionMng_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define ISelectionMng_GetObjectByIndex(This,index)	\
    (This)->lpVtbl -> GetObjectByIndex(This,index)

#define ISelectionMng_GetObjectType(This,index)	\
    (This)->lpVtbl -> GetObjectType(This,index)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ISelectionMng_Select_Proxy( 
    ISelectionMng __RPC_FAR * This,
    LPUNKNOWN obj);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISelectionMng_Unselect_Proxy( 
    ISelectionMng __RPC_FAR * This,
    LPUNKNOWN obj);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISelectionMng_UnselectAll_Proxy( 
    ISelectionMng __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISelectionMng_IsSelected_Proxy( 
    ISelectionMng __RPC_FAR * This,
    LPUNKNOWN obj);


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


/* [helpstring] */ int STDMETHODCALLTYPE ISelectionMng_GetCount_Proxy( 
    ISelectionMng __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE ISelectionMng_First_Proxy( 
    ISelectionMng __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE ISelectionMng_Last_Proxy( 
    ISelectionMng __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE ISelectionMng_Next_Proxy( 
    ISelectionMng __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE ISelectionMng_Prev_Proxy( 
    ISelectionMng __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE ISelectionMng_GetObjectByIndex_Proxy( 
    ISelectionMng __RPC_FAR * This,
    int index);


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


/* [helpstring] */ int STDMETHODCALLTYPE ISelectionMng_GetObjectType_Proxy( 
    ISelectionMng __RPC_FAR * This,
    int index);


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



#endif 	/* __ISelectionMng_INTERFACE_DEFINED__ */


#ifndef __IChooseMng_INTERFACE_DEFINED__
#define __IChooseMng_INTERFACE_DEFINED__

/* interface IChooseMng */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IChooseMng,0xbb679d6e,0x1c5a,0x4b90,0xa5,0x59,0xcb,0x37,0xba,0x1e,0x1f,0xa7);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("bb679d6e-1c5a-4b90-a559-cb37ba1e1fa7")
    IChooseMng : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Choose( 
            LPUNKNOWN obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE UnChoose( 
            LPUNKNOWN obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE UnChooseAll( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsChoosen( 
            LPUNKNOWN obj) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE GetObjectByIndex( 
            int index) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetObjectType( 
            int index) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IChooseMngVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IChooseMng __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IChooseMng __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IChooseMng __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Choose )( 
            IChooseMng __RPC_FAR * This,
            LPUNKNOWN obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *UnChoose )( 
            IChooseMng __RPC_FAR * This,
            LPUNKNOWN obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *UnChooseAll )( 
            IChooseMng __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsChoosen )( 
            IChooseMng __RPC_FAR * This,
            LPUNKNOWN obj);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IChooseMng __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IChooseMng __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IChooseMng __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IChooseMng __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IChooseMng __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *GetObjectByIndex )( 
            IChooseMng __RPC_FAR * This,
            int index);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetObjectType )( 
            IChooseMng __RPC_FAR * This,
            int index);
        
        END_INTERFACE
    } IChooseMngVtbl;

    interface IChooseMng
    {
        CONST_VTBL struct IChooseMngVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IChooseMng_Choose(This,obj)	\
    (This)->lpVtbl -> Choose(This,obj)

#define IChooseMng_UnChoose(This,obj)	\
    (This)->lpVtbl -> UnChoose(This,obj)

#define IChooseMng_UnChooseAll(This)	\
    (This)->lpVtbl -> UnChooseAll(This)

#define IChooseMng_IsChoosen(This,obj)	\
    (This)->lpVtbl -> IsChoosen(This,obj)

#define IChooseMng_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IChooseMng_First(This)	\
    (This)->lpVtbl -> First(This)

#define IChooseMng_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IChooseMng_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IChooseMng_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IChooseMng_GetObjectByIndex(This,index)	\
    (This)->lpVtbl -> GetObjectByIndex(This,index)

#define IChooseMng_GetObjectType(This,index)	\
    (This)->lpVtbl -> GetObjectType(This,index)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IChooseMng_Choose_Proxy( 
    IChooseMng __RPC_FAR * This,
    LPUNKNOWN obj);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IChooseMng_UnChoose_Proxy( 
    IChooseMng __RPC_FAR * This,
    LPUNKNOWN obj);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IChooseMng_UnChooseAll_Proxy( 
    IChooseMng __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IChooseMng_IsChoosen_Proxy( 
    IChooseMng __RPC_FAR * This,
    LPUNKNOWN obj);


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


/* [helpstring] */ int STDMETHODCALLTYPE IChooseMng_GetCount_Proxy( 
    IChooseMng __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IChooseMng_First_Proxy( 
    IChooseMng __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IChooseMng_Last_Proxy( 
    IChooseMng __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IChooseMng_Next_Proxy( 
    IChooseMng __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IChooseMng_Prev_Proxy( 
    IChooseMng __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IChooseMng_GetObjectByIndex_Proxy( 
    IChooseMng __RPC_FAR * This,
    int index);


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


/* [helpstring] */ int STDMETHODCALLTYPE IChooseMng_GetObjectType_Proxy( 
    IChooseMng __RPC_FAR * This,
    int index);


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



#endif 	/* __IChooseMng_INTERFACE_DEFINED__ */


#ifndef __IFeature_INTERFACE_DEFINED__
#define __IFeature_INTERFACE_DEFINED__

/* interface IFeature */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IFeature,0x1d15245b,0x695e,0x4f9f,0xaf,0xca,0xea,0xcb,0xc3,0xa0,0x55,0xbb);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1d15245b-695e-4f9f-afca-eacbc3a055bb")
    IFeature : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetName( void) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE GetUpdateStamp( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsModified( 
            BOOL recursive) = 0;
        
        virtual /* [helpstring] */ LPFEATURECOLLECTION STDMETHODCALLTYPE SubFeatureCollection( 
            BOOL through,
            BOOL libObject) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE GetOwnerFeature( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsValid( void) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetType( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE GetObject( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetExcluded( 
            BOOL excluded) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetExcluded( void) = 0;
        
        virtual /* [helpstring] */ LPATTRIBUTE3DCOLLECTION STDMETHODCALLTYPE AttributeCollection( 
            long key1,
            long key2,
            long key3,
            long key4,
            double numb) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE EntityCollection( 
            short objType) = 0;
        
        virtual /* [helpstring] */ LPVARIABLECOLLECTION STDMETHODCALLTYPE VariableCollection( void) = 0;
        
        virtual /* [helpstring] */ LPBODYCOLLECTION STDMETHODCALLTYPE BodyCollection( void) = 0;
        
        virtual /* [helpstring] */ LPATTRIBUTE3DCOLLECTION STDMETHODCALLTYPE AttributeCollectionEx( 
            long key1,
            long key2,
            long key3,
            long key4,
            double numb,
            LPPART sourcePart) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsRollBacked( void) = 0;
        
        virtual /* [helpstring] */ LPVARIABLECOLLECTION STDMETHODCALLTYPE VariableCollectionEx( 
            BOOL sourse) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetObjectError( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IFeatureVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IFeature __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IFeature __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IFeature __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetName )( 
            IFeature __RPC_FAR * This);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *GetUpdateStamp )( 
            IFeature __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsModified )( 
            IFeature __RPC_FAR * This,
            BOOL recursive);
        
        /* [helpstring] */ LPFEATURECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *SubFeatureCollection )( 
            IFeature __RPC_FAR * This,
            BOOL through,
            BOOL libObject);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *GetOwnerFeature )( 
            IFeature __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsValid )( 
            IFeature __RPC_FAR * This);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetType )( 
            IFeature __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *GetObject )( 
            IFeature __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetExcluded )( 
            IFeature __RPC_FAR * This,
            BOOL excluded);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetExcluded )( 
            IFeature __RPC_FAR * This);
        
        /* [helpstring] */ LPATTRIBUTE3DCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *AttributeCollection )( 
            IFeature __RPC_FAR * This,
            long key1,
            long key2,
            long key3,
            long key4,
            double numb);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *EntityCollection )( 
            IFeature __RPC_FAR * This,
            short objType);
        
        /* [helpstring] */ LPVARIABLECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *VariableCollection )( 
            IFeature __RPC_FAR * This);
        
        /* [helpstring] */ LPBODYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *BodyCollection )( 
            IFeature __RPC_FAR * This);
        
        /* [helpstring] */ LPATTRIBUTE3DCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *AttributeCollectionEx )( 
            IFeature __RPC_FAR * This,
            long key1,
            long key2,
            long key3,
            long key4,
            double numb,
            LPPART sourcePart);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsRollBacked )( 
            IFeature __RPC_FAR * This);
        
        /* [helpstring] */ LPVARIABLECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *VariableCollectionEx )( 
            IFeature __RPC_FAR * This,
            BOOL sourse);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetObjectError )( 
            IFeature __RPC_FAR * This);
        
        END_INTERFACE
    } IFeatureVtbl;

    interface IFeature
    {
        CONST_VTBL struct IFeatureVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IFeature_GetName(This)	\
    (This)->lpVtbl -> GetName(This)

#define IFeature_GetUpdateStamp(This)	\
    (This)->lpVtbl -> GetUpdateStamp(This)

#define IFeature_IsModified(This,recursive)	\
    (This)->lpVtbl -> IsModified(This,recursive)

#define IFeature_SubFeatureCollection(This,through,libObject)	\
    (This)->lpVtbl -> SubFeatureCollection(This,through,libObject)

#define IFeature_GetOwnerFeature(This)	\
    (This)->lpVtbl -> GetOwnerFeature(This)

#define IFeature_IsValid(This)	\
    (This)->lpVtbl -> IsValid(This)

#define IFeature_GetType(This)	\
    (This)->lpVtbl -> GetType(This)

#define IFeature_GetObject(This)	\
    (This)->lpVtbl -> GetObject(This)

#define IFeature_SetExcluded(This,excluded)	\
    (This)->lpVtbl -> SetExcluded(This,excluded)

#define IFeature_GetExcluded(This)	\
    (This)->lpVtbl -> GetExcluded(This)

#define IFeature_AttributeCollection(This,key1,key2,key3,key4,numb)	\
    (This)->lpVtbl -> AttributeCollection(This,key1,key2,key3,key4,numb)

#define IFeature_EntityCollection(This,objType)	\
    (This)->lpVtbl -> EntityCollection(This,objType)

#define IFeature_VariableCollection(This)	\
    (This)->lpVtbl -> VariableCollection(This)

#define IFeature_BodyCollection(This)	\
    (This)->lpVtbl -> BodyCollection(This)

#define IFeature_AttributeCollectionEx(This,key1,key2,key3,key4,numb,sourcePart)	\
    (This)->lpVtbl -> AttributeCollectionEx(This,key1,key2,key3,key4,numb,sourcePart)

#define IFeature_IsRollBacked(This)	\
    (This)->lpVtbl -> IsRollBacked(This)

#define IFeature_VariableCollectionEx(This,sourse)	\
    (This)->lpVtbl -> VariableCollectionEx(This,sourse)

#define IFeature_GetObjectError(This)	\
    (This)->lpVtbl -> GetObjectError(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IFeature_GetName_Proxy( 
    IFeature __RPC_FAR * This);


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


/* [helpstring] */ unsigned long STDMETHODCALLTYPE IFeature_GetUpdateStamp_Proxy( 
    IFeature __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeature_IsModified_Proxy( 
    IFeature __RPC_FAR * This,
    BOOL recursive);


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


/* [helpstring] */ LPFEATURECOLLECTION STDMETHODCALLTYPE IFeature_SubFeatureCollection_Proxy( 
    IFeature __RPC_FAR * This,
    BOOL through,
    BOOL libObject);


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


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IFeature_GetOwnerFeature_Proxy( 
    IFeature __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeature_IsValid_Proxy( 
    IFeature __RPC_FAR * This);


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


/* [helpstring] */ short STDMETHODCALLTYPE IFeature_GetType_Proxy( 
    IFeature __RPC_FAR * This);


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


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IFeature_GetObject_Proxy( 
    IFeature __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeature_SetExcluded_Proxy( 
    IFeature __RPC_FAR * This,
    BOOL excluded);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeature_GetExcluded_Proxy( 
    IFeature __RPC_FAR * This);


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


/* [helpstring] */ LPATTRIBUTE3DCOLLECTION STDMETHODCALLTYPE IFeature_AttributeCollection_Proxy( 
    IFeature __RPC_FAR * This,
    long key1,
    long key2,
    long key3,
    long key4,
    double numb);


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


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IFeature_EntityCollection_Proxy( 
    IFeature __RPC_FAR * This,
    short objType);


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


/* [helpstring] */ LPVARIABLECOLLECTION STDMETHODCALLTYPE IFeature_VariableCollection_Proxy( 
    IFeature __RPC_FAR * This);


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


/* [helpstring] */ LPBODYCOLLECTION STDMETHODCALLTYPE IFeature_BodyCollection_Proxy( 
    IFeature __RPC_FAR * This);


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


/* [helpstring] */ LPATTRIBUTE3DCOLLECTION STDMETHODCALLTYPE IFeature_AttributeCollectionEx_Proxy( 
    IFeature __RPC_FAR * This,
    long key1,
    long key2,
    long key3,
    long key4,
    double numb,
    LPPART sourcePart);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeature_IsRollBacked_Proxy( 
    IFeature __RPC_FAR * This);


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


/* [helpstring] */ LPVARIABLECOLLECTION STDMETHODCALLTYPE IFeature_VariableCollectionEx_Proxy( 
    IFeature __RPC_FAR * This,
    BOOL sourse);


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


/* [helpstring] */ long STDMETHODCALLTYPE IFeature_GetObjectError_Proxy( 
    IFeature __RPC_FAR * This);


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



#endif 	/* __IFeature_INTERFACE_DEFINED__ */


#ifndef __IViewProjection_INTERFACE_DEFINED__
#define __IViewProjection_INTERFACE_DEFINED__

/* interface IViewProjection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IViewProjection,0x737d35af,0xc407,0x420d,0x92,0x50,0xa2,0xcb,0xb4,0x16,0xdc,0xb9);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("737d35af-c407-420d-9250-a2cbb416dcb9")
    IViewProjection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsCurrent( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCurrent( void) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetName( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetName( 
            LPOLESTR projName) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetScale( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetScale( 
            double scale) = 0;
        
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE GetPlacement( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlacement( 
            LPPLACEMENT place) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetIndex( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetMatrix3D( 
            VARIANT Matrix3D) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IViewProjectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IViewProjection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IViewProjection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IViewProjection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsCurrent )( 
            IViewProjection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCurrent )( 
            IViewProjection __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetName )( 
            IViewProjection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetName )( 
            IViewProjection __RPC_FAR * This,
            LPOLESTR projName);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetScale )( 
            IViewProjection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetScale )( 
            IViewProjection __RPC_FAR * This,
            double scale);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            IViewProjection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlacement )( 
            IViewProjection __RPC_FAR * This,
            LPPLACEMENT place);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetIndex )( 
            IViewProjection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetMatrix3D )( 
            IViewProjection __RPC_FAR * This,
            VARIANT Matrix3D);
        
        END_INTERFACE
    } IViewProjectionVtbl;

    interface IViewProjection
    {
        CONST_VTBL struct IViewProjectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IViewProjection_IsCurrent(This)	\
    (This)->lpVtbl -> IsCurrent(This)

#define IViewProjection_SetCurrent(This)	\
    (This)->lpVtbl -> SetCurrent(This)

#define IViewProjection_GetName(This)	\
    (This)->lpVtbl -> GetName(This)

#define IViewProjection_SetName(This,projName)	\
    (This)->lpVtbl -> SetName(This,projName)

#define IViewProjection_GetScale(This)	\
    (This)->lpVtbl -> GetScale(This)

#define IViewProjection_SetScale(This,scale)	\
    (This)->lpVtbl -> SetScale(This,scale)

#define IViewProjection_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#define IViewProjection_SetPlacement(This,place)	\
    (This)->lpVtbl -> SetPlacement(This,place)

#define IViewProjection_GetIndex(This)	\
    (This)->lpVtbl -> GetIndex(This)

#define IViewProjection_SetMatrix3D(This,Matrix3D)	\
    (This)->lpVtbl -> SetMatrix3D(This,Matrix3D)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IViewProjection_IsCurrent_Proxy( 
    IViewProjection __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IViewProjection_SetCurrent_Proxy( 
    IViewProjection __RPC_FAR * This);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IViewProjection_GetName_Proxy( 
    IViewProjection __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IViewProjection_SetName_Proxy( 
    IViewProjection __RPC_FAR * This,
    LPOLESTR projName);


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


/* [helpstring] */ double STDMETHODCALLTYPE IViewProjection_GetScale_Proxy( 
    IViewProjection __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IViewProjection_SetScale_Proxy( 
    IViewProjection __RPC_FAR * This,
    double scale);


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


/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE IViewProjection_GetPlacement_Proxy( 
    IViewProjection __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IViewProjection_SetPlacement_Proxy( 
    IViewProjection __RPC_FAR * This,
    LPPLACEMENT place);


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


/* [helpstring] */ long STDMETHODCALLTYPE IViewProjection_GetIndex_Proxy( 
    IViewProjection __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IViewProjection_SetMatrix3D_Proxy( 
    IViewProjection __RPC_FAR * This,
    VARIANT Matrix3D);


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



#endif 	/* __IViewProjection_INTERFACE_DEFINED__ */


#ifndef __IVariable_INTERFACE_DEFINED__
#define __IVariable_INTERFACE_DEFINED__

/* interface IVariable */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IVariable,0x7AA0E540,0x0312,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0312-11D4-A30E-00C026EE094F")
    IVariable : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetName( void) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetNote( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetNote( 
            LPOLESTR note) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetValue( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetValue( 
            double val) = 0;
        
        virtual /* [helpstring] */ void __RPC_FAR *STDMETHODCALLTYPE GetParam( void) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetPseudonym( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPseudonym( 
            LPOLESTR val) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetExpression( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetExpression( 
            LPOLESTR exp) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetExternal( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetExternal( 
            BOOL fVal) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetParameterNote( void) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetLinkVarName( void) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetLinkDocName( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetLink( 
            LPOLESTR doc,
            LPOLESTR name) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetDisplayName( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetInformation( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetInformation( 
            BOOL fVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IVariableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IVariable __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IVariable __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetName )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetNote )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetNote )( 
            IVariable __RPC_FAR * This,
            LPOLESTR note);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetValue )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetValue )( 
            IVariable __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *GetParam )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetPseudonym )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPseudonym )( 
            IVariable __RPC_FAR * This,
            LPOLESTR val);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetExpression )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetExpression )( 
            IVariable __RPC_FAR * This,
            LPOLESTR exp);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetExternal )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetExternal )( 
            IVariable __RPC_FAR * This,
            BOOL fVal);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetParameterNote )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetLinkVarName )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetLinkDocName )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetLink )( 
            IVariable __RPC_FAR * This,
            LPOLESTR doc,
            LPOLESTR name);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetDisplayName )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetInformation )( 
            IVariable __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetInformation )( 
            IVariable __RPC_FAR * This,
            BOOL fVal);
        
        END_INTERFACE
    } IVariableVtbl;

    interface IVariable
    {
        CONST_VTBL struct IVariableVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVariable_GetName(This)	\
    (This)->lpVtbl -> GetName(This)

#define IVariable_GetNote(This)	\
    (This)->lpVtbl -> GetNote(This)

#define IVariable_SetNote(This,note)	\
    (This)->lpVtbl -> SetNote(This,note)

#define IVariable_GetValue(This)	\
    (This)->lpVtbl -> GetValue(This)

#define IVariable_SetValue(This,val)	\
    (This)->lpVtbl -> SetValue(This,val)

#define IVariable_GetParam(This)	\
    (This)->lpVtbl -> GetParam(This)

#define IVariable_GetPseudonym(This)	\
    (This)->lpVtbl -> GetPseudonym(This)

#define IVariable_SetPseudonym(This,val)	\
    (This)->lpVtbl -> SetPseudonym(This,val)

#define IVariable_GetExpression(This)	\
    (This)->lpVtbl -> GetExpression(This)

#define IVariable_SetExpression(This,exp)	\
    (This)->lpVtbl -> SetExpression(This,exp)

#define IVariable_GetExternal(This)	\
    (This)->lpVtbl -> GetExternal(This)

#define IVariable_SetExternal(This,fVal)	\
    (This)->lpVtbl -> SetExternal(This,fVal)

#define IVariable_GetParameterNote(This)	\
    (This)->lpVtbl -> GetParameterNote(This)

#define IVariable_GetLinkVarName(This)	\
    (This)->lpVtbl -> GetLinkVarName(This)

#define IVariable_GetLinkDocName(This)	\
    (This)->lpVtbl -> GetLinkDocName(This)

#define IVariable_SetLink(This,doc,name)	\
    (This)->lpVtbl -> SetLink(This,doc,name)

#define IVariable_GetDisplayName(This)	\
    (This)->lpVtbl -> GetDisplayName(This)

#define IVariable_GetInformation(This)	\
    (This)->lpVtbl -> GetInformation(This)

#define IVariable_SetInformation(This,fVal)	\
    (This)->lpVtbl -> SetInformation(This,fVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IVariable_GetName_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IVariable_GetNote_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVariable_SetNote_Proxy( 
    IVariable __RPC_FAR * This,
    LPOLESTR note);


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


/* [helpstring] */ double STDMETHODCALLTYPE IVariable_GetValue_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVariable_SetValue_Proxy( 
    IVariable __RPC_FAR * This,
    double val);


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


/* [helpstring] */ void __RPC_FAR *STDMETHODCALLTYPE IVariable_GetParam_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IVariable_GetPseudonym_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVariable_SetPseudonym_Proxy( 
    IVariable __RPC_FAR * This,
    LPOLESTR val);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IVariable_GetExpression_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVariable_SetExpression_Proxy( 
    IVariable __RPC_FAR * This,
    LPOLESTR exp);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVariable_GetExternal_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVariable_SetExternal_Proxy( 
    IVariable __RPC_FAR * This,
    BOOL fVal);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IVariable_GetParameterNote_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IVariable_GetLinkVarName_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IVariable_GetLinkDocName_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVariable_SetLink_Proxy( 
    IVariable __RPC_FAR * This,
    LPOLESTR doc,
    LPOLESTR name);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IVariable_GetDisplayName_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVariable_GetInformation_Proxy( 
    IVariable __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVariable_SetInformation_Proxy( 
    IVariable __RPC_FAR * This,
    BOOL fVal);


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



#endif 	/* __IVariable_INTERFACE_DEFINED__ */


#ifndef __IModelLibrary_INTERFACE_DEFINED__
#define __IModelLibrary_INTERFACE_DEFINED__

/* interface IModelLibrary */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IModelLibrary,0x7AA0E540,0x0316,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0316-11D4-A30E-00C026EE094F")
    IModelLibrary : public IUnknown
    {
    public:
        virtual /* [helpstring] */ long STDMETHODCALLTYPE ModelLibraryOperation( 
            LPOLESTR libName,
            long type) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE ChoiceModelFromLib( 
            LPOLESTR libFile,
            long __RPC_FAR *type) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE AddD3DocumentToLibrary( 
            LPOLESTR libName,
            LPOLESTR fileName) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE CheckModelLibrary( 
            LPOLESTR libName,
            BOOL possibleMessage) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE ExistModelInLibrary( 
            LPOLESTR name) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IModelLibraryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IModelLibrary __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IModelLibrary __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IModelLibrary __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *ModelLibraryOperation )( 
            IModelLibrary __RPC_FAR * This,
            LPOLESTR libName,
            long type);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *ChoiceModelFromLib )( 
            IModelLibrary __RPC_FAR * This,
            LPOLESTR libFile,
            long __RPC_FAR *type);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *AddD3DocumentToLibrary )( 
            IModelLibrary __RPC_FAR * This,
            LPOLESTR libName,
            LPOLESTR fileName);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *CheckModelLibrary )( 
            IModelLibrary __RPC_FAR * This,
            LPOLESTR libName,
            BOOL possibleMessage);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *ExistModelInLibrary )( 
            IModelLibrary __RPC_FAR * This,
            LPOLESTR name);
        
        END_INTERFACE
    } IModelLibraryVtbl;

    interface IModelLibrary
    {
        CONST_VTBL struct IModelLibraryVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IModelLibrary_ModelLibraryOperation(This,libName,type)	\
    (This)->lpVtbl -> ModelLibraryOperation(This,libName,type)

#define IModelLibrary_ChoiceModelFromLib(This,libFile,type)	\
    (This)->lpVtbl -> ChoiceModelFromLib(This,libFile,type)

#define IModelLibrary_AddD3DocumentToLibrary(This,libName,fileName)	\
    (This)->lpVtbl -> AddD3DocumentToLibrary(This,libName,fileName)

#define IModelLibrary_CheckModelLibrary(This,libName,possibleMessage)	\
    (This)->lpVtbl -> CheckModelLibrary(This,libName,possibleMessage)

#define IModelLibrary_ExistModelInLibrary(This,name)	\
    (This)->lpVtbl -> ExistModelInLibrary(This,name)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ long STDMETHODCALLTYPE IModelLibrary_ModelLibraryOperation_Proxy( 
    IModelLibrary __RPC_FAR * This,
    LPOLESTR libName,
    long type);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IModelLibrary_ChoiceModelFromLib_Proxy( 
    IModelLibrary __RPC_FAR * This,
    LPOLESTR libFile,
    long __RPC_FAR *type);


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


/* [helpstring] */ long STDMETHODCALLTYPE IModelLibrary_AddD3DocumentToLibrary_Proxy( 
    IModelLibrary __RPC_FAR * This,
    LPOLESTR libName,
    LPOLESTR fileName);


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


/* [helpstring] */ long STDMETHODCALLTYPE IModelLibrary_CheckModelLibrary_Proxy( 
    IModelLibrary __RPC_FAR * This,
    LPOLESTR libName,
    BOOL possibleMessage);


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


/* [helpstring] */ long STDMETHODCALLTYPE IModelLibrary_ExistModelInLibrary_Proxy( 
    IModelLibrary __RPC_FAR * This,
    LPOLESTR name);


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



#endif 	/* __IModelLibrary_INTERFACE_DEFINED__ */


#ifndef __IThinParam_INTERFACE_DEFINED__
#define __IThinParam_INTERFACE_DEFINED__

/* interface IThinParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IThinParam,0x7AA0E540,0x0306,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0306-11D4-A30E-00C026EE094F")
    IThinParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThin( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetThin( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BYTE STDMETHODCALLTYPE GetThinType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetThinType( 
            BYTE val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetNormalThickness( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetNormalThickness( 
            double val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetReverseThickness( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetReverseThickness( 
            double val) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IThinParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IThinParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IThinParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IThinParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThin )( 
            IThinParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetThin )( 
            IThinParam __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BYTE ( STDMETHODCALLTYPE __RPC_FAR *GetThinType )( 
            IThinParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetThinType )( 
            IThinParam __RPC_FAR * This,
            BYTE val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetNormalThickness )( 
            IThinParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetNormalThickness )( 
            IThinParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetReverseThickness )( 
            IThinParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetReverseThickness )( 
            IThinParam __RPC_FAR * This,
            double val);
        
        END_INTERFACE
    } IThinParamVtbl;

    interface IThinParam
    {
        CONST_VTBL struct IThinParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IThinParam_GetThin(This)	\
    (This)->lpVtbl -> GetThin(This)

#define IThinParam_SetThin(This,val)	\
    (This)->lpVtbl -> SetThin(This,val)

#define IThinParam_GetThinType(This)	\
    (This)->lpVtbl -> GetThinType(This)

#define IThinParam_SetThinType(This,val)	\
    (This)->lpVtbl -> SetThinType(This,val)

#define IThinParam_GetNormalThickness(This)	\
    (This)->lpVtbl -> GetNormalThickness(This)

#define IThinParam_SetNormalThickness(This,val)	\
    (This)->lpVtbl -> SetNormalThickness(This,val)

#define IThinParam_GetReverseThickness(This)	\
    (This)->lpVtbl -> GetReverseThickness(This)

#define IThinParam_SetReverseThickness(This,val)	\
    (This)->lpVtbl -> SetReverseThickness(This,val)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IThinParam_GetThin_Proxy( 
    IThinParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThinParam_SetThin_Proxy( 
    IThinParam __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BYTE STDMETHODCALLTYPE IThinParam_GetThinType_Proxy( 
    IThinParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThinParam_SetThinType_Proxy( 
    IThinParam __RPC_FAR * This,
    BYTE val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IThinParam_GetNormalThickness_Proxy( 
    IThinParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThinParam_SetNormalThickness_Proxy( 
    IThinParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IThinParam_GetReverseThickness_Proxy( 
    IThinParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThinParam_SetReverseThickness_Proxy( 
    IThinParam __RPC_FAR * This,
    double val);


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



#endif 	/* __IThinParam_INTERFACE_DEFINED__ */


#ifndef __IExtrusionParam_INTERFACE_DEFINED__
#define __IExtrusionParam_INTERFACE_DEFINED__

/* interface IExtrusionParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IExtrusionParam,0x7AA0E540,0x0307,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0307-11D4-A30E-00C026EE094F")
    IExtrusionParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BYTE STDMETHODCALLTYPE GetTypeNormal( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTypeNormal( 
            BYTE val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetDepthNormal( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDepthNormal( 
            double val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetDraftValueNormal( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDraftValueNormal( 
            double val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDraftOutwardNormal( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDraftOutwardNormal( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BYTE STDMETHODCALLTYPE GetTypeReverse( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTypeReverse( 
            BYTE val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetDepthReverse( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDepthReverse( 
            double val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetDraftValueReverse( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDraftValueReverse( 
            double val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDraftOutwardReverse( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDraftOutwardReverse( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetDirection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirection( 
            long val) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IExtrusionParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IExtrusionParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IExtrusionParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IExtrusionParam __RPC_FAR * This);
        
        /* [helpstring] */ BYTE ( STDMETHODCALLTYPE __RPC_FAR *GetTypeNormal )( 
            IExtrusionParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTypeNormal )( 
            IExtrusionParam __RPC_FAR * This,
            BYTE val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetDepthNormal )( 
            IExtrusionParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDepthNormal )( 
            IExtrusionParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetDraftValueNormal )( 
            IExtrusionParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDraftValueNormal )( 
            IExtrusionParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDraftOutwardNormal )( 
            IExtrusionParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDraftOutwardNormal )( 
            IExtrusionParam __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BYTE ( STDMETHODCALLTYPE __RPC_FAR *GetTypeReverse )( 
            IExtrusionParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTypeReverse )( 
            IExtrusionParam __RPC_FAR * This,
            BYTE val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetDepthReverse )( 
            IExtrusionParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDepthReverse )( 
            IExtrusionParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetDraftValueReverse )( 
            IExtrusionParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDraftValueReverse )( 
            IExtrusionParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDraftOutwardReverse )( 
            IExtrusionParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDraftOutwardReverse )( 
            IExtrusionParam __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetDirection )( 
            IExtrusionParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirection )( 
            IExtrusionParam __RPC_FAR * This,
            long val);
        
        END_INTERFACE
    } IExtrusionParamVtbl;

    interface IExtrusionParam
    {
        CONST_VTBL struct IExtrusionParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IExtrusionParam_GetTypeNormal(This)	\
    (This)->lpVtbl -> GetTypeNormal(This)

#define IExtrusionParam_SetTypeNormal(This,val)	\
    (This)->lpVtbl -> SetTypeNormal(This,val)

#define IExtrusionParam_GetDepthNormal(This)	\
    (This)->lpVtbl -> GetDepthNormal(This)

#define IExtrusionParam_SetDepthNormal(This,val)	\
    (This)->lpVtbl -> SetDepthNormal(This,val)

#define IExtrusionParam_GetDraftValueNormal(This)	\
    (This)->lpVtbl -> GetDraftValueNormal(This)

#define IExtrusionParam_SetDraftValueNormal(This,val)	\
    (This)->lpVtbl -> SetDraftValueNormal(This,val)

#define IExtrusionParam_GetDraftOutwardNormal(This)	\
    (This)->lpVtbl -> GetDraftOutwardNormal(This)

#define IExtrusionParam_SetDraftOutwardNormal(This,val)	\
    (This)->lpVtbl -> SetDraftOutwardNormal(This,val)

#define IExtrusionParam_GetTypeReverse(This)	\
    (This)->lpVtbl -> GetTypeReverse(This)

#define IExtrusionParam_SetTypeReverse(This,val)	\
    (This)->lpVtbl -> SetTypeReverse(This,val)

#define IExtrusionParam_GetDepthReverse(This)	\
    (This)->lpVtbl -> GetDepthReverse(This)

#define IExtrusionParam_SetDepthReverse(This,val)	\
    (This)->lpVtbl -> SetDepthReverse(This,val)

#define IExtrusionParam_GetDraftValueReverse(This)	\
    (This)->lpVtbl -> GetDraftValueReverse(This)

#define IExtrusionParam_SetDraftValueReverse(This,val)	\
    (This)->lpVtbl -> SetDraftValueReverse(This,val)

#define IExtrusionParam_GetDraftOutwardReverse(This)	\
    (This)->lpVtbl -> GetDraftOutwardReverse(This)

#define IExtrusionParam_SetDraftOutwardReverse(This,val)	\
    (This)->lpVtbl -> SetDraftOutwardReverse(This,val)

#define IExtrusionParam_GetDirection(This)	\
    (This)->lpVtbl -> GetDirection(This)

#define IExtrusionParam_SetDirection(This,val)	\
    (This)->lpVtbl -> SetDirection(This,val)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BYTE STDMETHODCALLTYPE IExtrusionParam_GetTypeNormal_Proxy( 
    IExtrusionParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionParam_SetTypeNormal_Proxy( 
    IExtrusionParam __RPC_FAR * This,
    BYTE val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IExtrusionParam_GetDepthNormal_Proxy( 
    IExtrusionParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionParam_SetDepthNormal_Proxy( 
    IExtrusionParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IExtrusionParam_GetDraftValueNormal_Proxy( 
    IExtrusionParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionParam_SetDraftValueNormal_Proxy( 
    IExtrusionParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionParam_GetDraftOutwardNormal_Proxy( 
    IExtrusionParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionParam_SetDraftOutwardNormal_Proxy( 
    IExtrusionParam __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ BYTE STDMETHODCALLTYPE IExtrusionParam_GetTypeReverse_Proxy( 
    IExtrusionParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionParam_SetTypeReverse_Proxy( 
    IExtrusionParam __RPC_FAR * This,
    BYTE val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IExtrusionParam_GetDepthReverse_Proxy( 
    IExtrusionParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionParam_SetDepthReverse_Proxy( 
    IExtrusionParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IExtrusionParam_GetDraftValueReverse_Proxy( 
    IExtrusionParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionParam_SetDraftValueReverse_Proxy( 
    IExtrusionParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionParam_GetDraftOutwardReverse_Proxy( 
    IExtrusionParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionParam_SetDraftOutwardReverse_Proxy( 
    IExtrusionParam __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ long STDMETHODCALLTYPE IExtrusionParam_GetDirection_Proxy( 
    IExtrusionParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionParam_SetDirection_Proxy( 
    IExtrusionParam __RPC_FAR * This,
    long val);


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



#endif 	/* __IExtrusionParam_INTERFACE_DEFINED__ */


#ifndef __IRotatedParam_INTERFACE_DEFINED__
#define __IRotatedParam_INTERFACE_DEFINED__

/* interface IRotatedParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IRotatedParam,0x7AA0E540,0x0308,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0308-11D4-A30E-00C026EE094F")
    IRotatedParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngleNormal( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngleNormal( 
            double val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngleReverse( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngleReverse( 
            double val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetToroidShape( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetToroidShape( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetDirection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirection( 
            long val) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRotatedParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IRotatedParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IRotatedParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IRotatedParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngleNormal )( 
            IRotatedParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngleNormal )( 
            IRotatedParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngleReverse )( 
            IRotatedParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngleReverse )( 
            IRotatedParam __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetToroidShape )( 
            IRotatedParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetToroidShape )( 
            IRotatedParam __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetDirection )( 
            IRotatedParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirection )( 
            IRotatedParam __RPC_FAR * This,
            long val);
        
        END_INTERFACE
    } IRotatedParamVtbl;

    interface IRotatedParam
    {
        CONST_VTBL struct IRotatedParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IRotatedParam_GetAngleNormal(This)	\
    (This)->lpVtbl -> GetAngleNormal(This)

#define IRotatedParam_SetAngleNormal(This,val)	\
    (This)->lpVtbl -> SetAngleNormal(This,val)

#define IRotatedParam_GetAngleReverse(This)	\
    (This)->lpVtbl -> GetAngleReverse(This)

#define IRotatedParam_SetAngleReverse(This,val)	\
    (This)->lpVtbl -> SetAngleReverse(This,val)

#define IRotatedParam_GetToroidShape(This)	\
    (This)->lpVtbl -> GetToroidShape(This)

#define IRotatedParam_SetToroidShape(This,val)	\
    (This)->lpVtbl -> SetToroidShape(This,val)

#define IRotatedParam_GetDirection(This)	\
    (This)->lpVtbl -> GetDirection(This)

#define IRotatedParam_SetDirection(This,val)	\
    (This)->lpVtbl -> SetDirection(This,val)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ double STDMETHODCALLTYPE IRotatedParam_GetAngleNormal_Proxy( 
    IRotatedParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedParam_SetAngleNormal_Proxy( 
    IRotatedParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IRotatedParam_GetAngleReverse_Proxy( 
    IRotatedParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedParam_SetAngleReverse_Proxy( 
    IRotatedParam __RPC_FAR * This,
    double val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedParam_GetToroidShape_Proxy( 
    IRotatedParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedParam_SetToroidShape_Proxy( 
    IRotatedParam __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ long STDMETHODCALLTYPE IRotatedParam_GetDirection_Proxy( 
    IRotatedParam __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedParam_SetDirection_Proxy( 
    IRotatedParam __RPC_FAR * This,
    long val);


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



#endif 	/* __IRotatedParam_INTERFACE_DEFINED__ */


#ifndef __IAttribute3D_INTERFACE_DEFINED__
#define __IAttribute3D_INTERFACE_DEFINED__

/* interface IAttribute3D */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IAttribute3D,0xF5529801,0xEDF2,0x42ae,0xB0,0xA4,0x8A,0xB6,0xF5,0x65,0x0A,0xE1);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F5529801-EDF2-42ae-B0A4-8AB6F5650AE1")
    IAttribute3D : public IUnknown
    {
    public:
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetReference( void) = 0;
        
        virtual /* [helpstring] */ LPFEATURECOLLECTION STDMETHODCALLTYPE FeatureCollection( 
            int objType) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetNameType( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAttribute3DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IAttribute3D __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IAttribute3D __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IAttribute3D __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetReference )( 
            IAttribute3D __RPC_FAR * This);
        
        /* [helpstring] */ LPFEATURECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *FeatureCollection )( 
            IAttribute3D __RPC_FAR * This,
            int objType);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetNameType )( 
            IAttribute3D __RPC_FAR * This);
        
        END_INTERFACE
    } IAttribute3DVtbl;

    interface IAttribute3D
    {
        CONST_VTBL struct IAttribute3DVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAttribute3D_GetReference(This)	\
    (This)->lpVtbl -> GetReference(This)

#define IAttribute3D_FeatureCollection(This,objType)	\
    (This)->lpVtbl -> FeatureCollection(This,objType)

#define IAttribute3D_GetNameType(This)	\
    (This)->lpVtbl -> GetNameType(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ long STDMETHODCALLTYPE IAttribute3D_GetReference_Proxy( 
    IAttribute3D __RPC_FAR * This);


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


/* [helpstring] */ LPFEATURECOLLECTION STDMETHODCALLTYPE IAttribute3D_FeatureCollection_Proxy( 
    IAttribute3D __RPC_FAR * This,
    int objType);


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


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IAttribute3D_GetNameType_Proxy( 
    IAttribute3D __RPC_FAR * This);


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



#endif 	/* __IAttribute3D_INTERFACE_DEFINED__ */


#ifndef __IComponentPositioner_INTERFACE_DEFINED__
#define __IComponentPositioner_INTERFACE_DEFINED__

/* interface IComponentPositioner */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IComponentPositioner,0x6B9D0CE9,0xC3E6,0x436b,0x9E,0xEE,0x02,0xF4,0x39,0xA4,0x5C,0x02);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6B9D0CE9-C3E6-436b-9EEE-02F439A45C02")
    IComponentPositioner : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlaneByPlacement( 
            LPPLACEMENT plane) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPUNKNOWN plane) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlaneByPoints( 
            double x1,
            double y1,
            double z1,
            double x2,
            double y2,
            double z2,
            double x3,
            double y3,
            double z3) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDragPoint( 
            double x,
            double y,
            double z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAxis( 
            LPUNKNOWN axis) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAxisByPoints( 
            double x1,
            double y1,
            double z1,
            double x2,
            double y2,
            double z2) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE Prepare( 
            LPPART part,
            long positionerType) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE MoveComponent( 
            double x,
            double y,
            double z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE RotateComponent( 
            double angl) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Finish( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IComponentPositionerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IComponentPositioner __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IComponentPositioner __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IComponentPositioner __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlaneByPlacement )( 
            IComponentPositioner __RPC_FAR * This,
            LPPLACEMENT plane);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IComponentPositioner __RPC_FAR * This,
            LPUNKNOWN plane);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlaneByPoints )( 
            IComponentPositioner __RPC_FAR * This,
            double x1,
            double y1,
            double z1,
            double x2,
            double y2,
            double z2,
            double x3,
            double y3,
            double z3);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDragPoint )( 
            IComponentPositioner __RPC_FAR * This,
            double x,
            double y,
            double z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAxis )( 
            IComponentPositioner __RPC_FAR * This,
            LPUNKNOWN axis);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAxisByPoints )( 
            IComponentPositioner __RPC_FAR * This,
            double x1,
            double y1,
            double z1,
            double x2,
            double y2,
            double z2);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *Prepare )( 
            IComponentPositioner __RPC_FAR * This,
            LPPART part,
            long positionerType);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *MoveComponent )( 
            IComponentPositioner __RPC_FAR * This,
            double x,
            double y,
            double z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *RotateComponent )( 
            IComponentPositioner __RPC_FAR * This,
            double angl);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Finish )( 
            IComponentPositioner __RPC_FAR * This);
        
        END_INTERFACE
    } IComponentPositionerVtbl;

    interface IComponentPositioner
    {
        CONST_VTBL struct IComponentPositionerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IComponentPositioner_SetPlaneByPlacement(This,plane)	\
    (This)->lpVtbl -> SetPlaneByPlacement(This,plane)

#define IComponentPositioner_SetPlane(This,plane)	\
    (This)->lpVtbl -> SetPlane(This,plane)

#define IComponentPositioner_SetPlaneByPoints(This,x1,y1,z1,x2,y2,z2,x3,y3,z3)	\
    (This)->lpVtbl -> SetPlaneByPoints(This,x1,y1,z1,x2,y2,z2,x3,y3,z3)

#define IComponentPositioner_SetDragPoint(This,x,y,z)	\
    (This)->lpVtbl -> SetDragPoint(This,x,y,z)

#define IComponentPositioner_SetAxis(This,axis)	\
    (This)->lpVtbl -> SetAxis(This,axis)

#define IComponentPositioner_SetAxisByPoints(This,x1,y1,z1,x2,y2,z2)	\
    (This)->lpVtbl -> SetAxisByPoints(This,x1,y1,z1,x2,y2,z2)

#define IComponentPositioner_Prepare(This,part,positionerType)	\
    (This)->lpVtbl -> Prepare(This,part,positionerType)

#define IComponentPositioner_MoveComponent(This,x,y,z)	\
    (This)->lpVtbl -> MoveComponent(This,x,y,z)

#define IComponentPositioner_RotateComponent(This,angl)	\
    (This)->lpVtbl -> RotateComponent(This,angl)

#define IComponentPositioner_Finish(This)	\
    (This)->lpVtbl -> Finish(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IComponentPositioner_SetPlaneByPlacement_Proxy( 
    IComponentPositioner __RPC_FAR * This,
    LPPLACEMENT plane);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IComponentPositioner_SetPlane_Proxy( 
    IComponentPositioner __RPC_FAR * This,
    LPUNKNOWN plane);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IComponentPositioner_SetPlaneByPoints_Proxy( 
    IComponentPositioner __RPC_FAR * This,
    double x1,
    double y1,
    double z1,
    double x2,
    double y2,
    double z2,
    double x3,
    double y3,
    double z3);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IComponentPositioner_SetDragPoint_Proxy( 
    IComponentPositioner __RPC_FAR * This,
    double x,
    double y,
    double z);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IComponentPositioner_SetAxis_Proxy( 
    IComponentPositioner __RPC_FAR * This,
    LPUNKNOWN axis);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IComponentPositioner_SetAxisByPoints_Proxy( 
    IComponentPositioner __RPC_FAR * This,
    double x1,
    double y1,
    double z1,
    double x2,
    double y2,
    double z2);


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


/* [helpstring] */ long STDMETHODCALLTYPE IComponentPositioner_Prepare_Proxy( 
    IComponentPositioner __RPC_FAR * This,
    LPPART part,
    long positionerType);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IComponentPositioner_MoveComponent_Proxy( 
    IComponentPositioner __RPC_FAR * This,
    double x,
    double y,
    double z);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IComponentPositioner_RotateComponent_Proxy( 
    IComponentPositioner __RPC_FAR * This,
    double angl);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IComponentPositioner_Finish_Proxy( 
    IComponentPositioner __RPC_FAR * This);


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



#endif 	/* __IComponentPositioner_INTERFACE_DEFINED__ */


#ifndef __IObjectsFilter3D_INTERFACE_DEFINED__
#define __IObjectsFilter3D_INTERFACE_DEFINED__

/* interface IObjectsFilter3D */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IObjectsFilter3D,0x16EAD9EF,0x671F,0x4557,0x99,0x54,0xBB,0x07,0x08,0x64,0xF6,0x38);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("16EAD9EF-671F-4557-9954-BB070864F638")
    IObjectsFilter3D : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFilterAll( void) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetFilterAll( 
            BOOL all) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFilterFaces( void) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetFilterFaces( 
            BOOL value) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFilterEdges( void) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetFilterEdges( 
            BOOL value) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFilterVertexs( void) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetFilterVertexs( 
            BOOL value) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFilterCPlanes( void) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetFilterCPlanes( 
            BOOL value) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFilterCAxis( void) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetFilterCAxis( 
            BOOL value) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IObjectsFilter3DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IObjectsFilter3D __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IObjectsFilter3D __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IObjectsFilter3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFilterAll )( 
            IObjectsFilter3D __RPC_FAR * This);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetFilterAll )( 
            IObjectsFilter3D __RPC_FAR * This,
            BOOL all);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFilterFaces )( 
            IObjectsFilter3D __RPC_FAR * This);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetFilterFaces )( 
            IObjectsFilter3D __RPC_FAR * This,
            BOOL value);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFilterEdges )( 
            IObjectsFilter3D __RPC_FAR * This);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetFilterEdges )( 
            IObjectsFilter3D __RPC_FAR * This,
            BOOL value);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFilterVertexs )( 
            IObjectsFilter3D __RPC_FAR * This);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetFilterVertexs )( 
            IObjectsFilter3D __RPC_FAR * This,
            BOOL value);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFilterCPlanes )( 
            IObjectsFilter3D __RPC_FAR * This);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetFilterCPlanes )( 
            IObjectsFilter3D __RPC_FAR * This,
            BOOL value);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFilterCAxis )( 
            IObjectsFilter3D __RPC_FAR * This);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetFilterCAxis )( 
            IObjectsFilter3D __RPC_FAR * This,
            BOOL value);
        
        END_INTERFACE
    } IObjectsFilter3DVtbl;

    interface IObjectsFilter3D
    {
        CONST_VTBL struct IObjectsFilter3DVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IObjectsFilter3D_GetFilterAll(This)	\
    (This)->lpVtbl -> GetFilterAll(This)

#define IObjectsFilter3D_SetFilterAll(This,all)	\
    (This)->lpVtbl -> SetFilterAll(This,all)

#define IObjectsFilter3D_GetFilterFaces(This)	\
    (This)->lpVtbl -> GetFilterFaces(This)

#define IObjectsFilter3D_SetFilterFaces(This,value)	\
    (This)->lpVtbl -> SetFilterFaces(This,value)

#define IObjectsFilter3D_GetFilterEdges(This)	\
    (This)->lpVtbl -> GetFilterEdges(This)

#define IObjectsFilter3D_SetFilterEdges(This,value)	\
    (This)->lpVtbl -> SetFilterEdges(This,value)

#define IObjectsFilter3D_GetFilterVertexs(This)	\
    (This)->lpVtbl -> GetFilterVertexs(This)

#define IObjectsFilter3D_SetFilterVertexs(This,value)	\
    (This)->lpVtbl -> SetFilterVertexs(This,value)

#define IObjectsFilter3D_GetFilterCPlanes(This)	\
    (This)->lpVtbl -> GetFilterCPlanes(This)

#define IObjectsFilter3D_SetFilterCPlanes(This,value)	\
    (This)->lpVtbl -> SetFilterCPlanes(This,value)

#define IObjectsFilter3D_GetFilterCAxis(This)	\
    (This)->lpVtbl -> GetFilterCAxis(This)

#define IObjectsFilter3D_SetFilterCAxis(This,value)	\
    (This)->lpVtbl -> SetFilterCAxis(This,value)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IObjectsFilter3D_GetFilterAll_Proxy( 
    IObjectsFilter3D __RPC_FAR * This);


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


/* [helpstring] */ void STDMETHODCALLTYPE IObjectsFilter3D_SetFilterAll_Proxy( 
    IObjectsFilter3D __RPC_FAR * This,
    BOOL all);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IObjectsFilter3D_GetFilterFaces_Proxy( 
    IObjectsFilter3D __RPC_FAR * This);


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


/* [helpstring] */ void STDMETHODCALLTYPE IObjectsFilter3D_SetFilterFaces_Proxy( 
    IObjectsFilter3D __RPC_FAR * This,
    BOOL value);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IObjectsFilter3D_GetFilterEdges_Proxy( 
    IObjectsFilter3D __RPC_FAR * This);


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


/* [helpstring] */ void STDMETHODCALLTYPE IObjectsFilter3D_SetFilterEdges_Proxy( 
    IObjectsFilter3D __RPC_FAR * This,
    BOOL value);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IObjectsFilter3D_GetFilterVertexs_Proxy( 
    IObjectsFilter3D __RPC_FAR * This);


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


/* [helpstring] */ void STDMETHODCALLTYPE IObjectsFilter3D_SetFilterVertexs_Proxy( 
    IObjectsFilter3D __RPC_FAR * This,
    BOOL value);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IObjectsFilter3D_GetFilterCPlanes_Proxy( 
    IObjectsFilter3D __RPC_FAR * This);


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


/* [helpstring] */ void STDMETHODCALLTYPE IObjectsFilter3D_SetFilterCPlanes_Proxy( 
    IObjectsFilter3D __RPC_FAR * This,
    BOOL value);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IObjectsFilter3D_GetFilterCAxis_Proxy( 
    IObjectsFilter3D __RPC_FAR * This);


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


/* [helpstring] */ void STDMETHODCALLTYPE IObjectsFilter3D_SetFilterCAxis_Proxy( 
    IObjectsFilter3D __RPC_FAR * This,
    BOOL value);


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



#endif 	/* __IObjectsFilter3D_INTERFACE_DEFINED__ */


#ifndef __IChooseBodies_INTERFACE_DEFINED__
#define __IChooseBodies_INTERFACE_DEFINED__

/* interface IChooseBodies */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IChooseBodies,0x67B417BA,0xF248,0x4b56,0xAD,0x03,0xC4,0x05,0x7C,0x7F,0x2E,0xEE);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("67B417BA-F248-4b56-AD03-C4057C7F2EEE")
    IChooseBodies : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetChooseBodiesType( 
            long val) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetChooseBodiesType( void) = 0;
        
        virtual /* [helpstring] */ LPBODYCOLLECTION STDMETHODCALLTYPE BodyCollection( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IChooseBodiesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IChooseBodies __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IChooseBodies __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IChooseBodies __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetChooseBodiesType )( 
            IChooseBodies __RPC_FAR * This,
            long val);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetChooseBodiesType )( 
            IChooseBodies __RPC_FAR * This);
        
        /* [helpstring] */ LPBODYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *BodyCollection )( 
            IChooseBodies __RPC_FAR * This);
        
        END_INTERFACE
    } IChooseBodiesVtbl;

    interface IChooseBodies
    {
        CONST_VTBL struct IChooseBodiesVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IChooseBodies_SetChooseBodiesType(This,val)	\
    (This)->lpVtbl -> SetChooseBodiesType(This,val)

#define IChooseBodies_GetChooseBodiesType(This)	\
    (This)->lpVtbl -> GetChooseBodiesType(This)

#define IChooseBodies_BodyCollection(This)	\
    (This)->lpVtbl -> BodyCollection(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IChooseBodies_SetChooseBodiesType_Proxy( 
    IChooseBodies __RPC_FAR * This,
    long val);


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


/* [helpstring] */ long STDMETHODCALLTYPE IChooseBodies_GetChooseBodiesType_Proxy( 
    IChooseBodies __RPC_FAR * This);


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


/* [helpstring] */ LPBODYCOLLECTION STDMETHODCALLTYPE IChooseBodies_BodyCollection_Proxy( 
    IChooseBodies __RPC_FAR * This);


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



#endif 	/* __IChooseBodies_INTERFACE_DEFINED__ */


#ifndef __IChooseParts_INTERFACE_DEFINED__
#define __IChooseParts_INTERFACE_DEFINED__

/* interface IChooseParts */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IChooseParts,0x2920B89D,0x636E,0x4dcc,0x8E,0x62,0x34,0xD2,0xF4,0xB4,0xBB,0x00);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2920B89D-636E-4dcc-8E62-34D2F4B4BB00")
    IChooseParts : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetChoosePartsType( 
            long val) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetChoosePartsType( void) = 0;
        
        virtual /* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE PartCollection( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IChoosePartsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IChooseParts __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IChooseParts __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IChooseParts __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetChoosePartsType )( 
            IChooseParts __RPC_FAR * This,
            long val);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetChoosePartsType )( 
            IChooseParts __RPC_FAR * This);
        
        /* [helpstring] */ LPPARTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PartCollection )( 
            IChooseParts __RPC_FAR * This);
        
        END_INTERFACE
    } IChoosePartsVtbl;

    interface IChooseParts
    {
        CONST_VTBL struct IChoosePartsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IChooseParts_SetChoosePartsType(This,val)	\
    (This)->lpVtbl -> SetChoosePartsType(This,val)

#define IChooseParts_GetChoosePartsType(This)	\
    (This)->lpVtbl -> GetChoosePartsType(This)

#define IChooseParts_PartCollection(This)	\
    (This)->lpVtbl -> PartCollection(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IChooseParts_SetChoosePartsType_Proxy( 
    IChooseParts __RPC_FAR * This,
    long val);


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


/* [helpstring] */ long STDMETHODCALLTYPE IChooseParts_GetChoosePartsType_Proxy( 
    IChooseParts __RPC_FAR * This);


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


/* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE IChooseParts_PartCollection_Proxy( 
    IChooseParts __RPC_FAR * This);


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



#endif 	/* __IChooseParts_INTERFACE_DEFINED__ */


#ifndef __IFaceDefinition_INTERFACE_DEFINED__
#define __IFaceDefinition_INTERFACE_DEFINED__

/* interface IFaceDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IFaceDefinition,0x7AA0E540,0x0322,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0322-11D4-A30E-00C026EE094F")
    IFaceDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsPlanar( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsCone( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsCylinder( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetCylinderParam( 
            double __RPC_FAR *h,
            double __RPC_FAR *r) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetOwnerEntity( void) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
        virtual /* [helpstring] */ LPLOOPCOLLECTION STDMETHODCALLTYPE LoopCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetNormalOrientation( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsConnectedWith( 
            LPFACEDEFINITION faceDefinition) = 0;
        
        virtual /* [helpstring] */ LPFACECOLLECTION STDMETHODCALLTYPE ConnectedFaceCollection( void) = 0;
        
        virtual /* [helpstring] */ LPEDGECOLLECTION STDMETHODCALLTYPE EdgeCollection( void) = 0;
        
        virtual /* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE GetNextFace( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsTorus( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsSphere( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsNurbsSurface( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsRevolved( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsSwept( void) = 0;
        
        virtual /* [helpstring] */ LPTESSELLATION STDMETHODCALLTYPE GetTessellation( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetArea( 
            unsigned long bitVector) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetEntity( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsValid( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IFaceDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IFaceDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IFaceDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsPlanar )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsCone )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsCylinder )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetCylinderParam )( 
            IFaceDefinition __RPC_FAR * This,
            double __RPC_FAR *h,
            double __RPC_FAR *r);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetOwnerEntity )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPLOOPCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *LoopCollection )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetNormalOrientation )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsConnectedWith )( 
            IFaceDefinition __RPC_FAR * This,
            LPFACEDEFINITION faceDefinition);
        
        /* [helpstring] */ LPFACECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *ConnectedFaceCollection )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPEDGECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *EdgeCollection )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPFACEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *GetNextFace )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsTorus )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsSphere )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsNurbsSurface )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsRevolved )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsSwept )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPTESSELLATION ( STDMETHODCALLTYPE __RPC_FAR *GetTessellation )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetArea )( 
            IFaceDefinition __RPC_FAR * This,
            unsigned long bitVector);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetEntity )( 
            IFaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsValid )( 
            IFaceDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IFaceDefinitionVtbl;

    interface IFaceDefinition
    {
        CONST_VTBL struct IFaceDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IFaceDefinition_IsPlanar(This)	\
    (This)->lpVtbl -> IsPlanar(This)

#define IFaceDefinition_IsCone(This)	\
    (This)->lpVtbl -> IsCone(This)

#define IFaceDefinition_IsCylinder(This)	\
    (This)->lpVtbl -> IsCylinder(This)

#define IFaceDefinition_GetCylinderParam(This,h,r)	\
    (This)->lpVtbl -> GetCylinderParam(This,h,r)

#define IFaceDefinition_GetOwnerEntity(This)	\
    (This)->lpVtbl -> GetOwnerEntity(This)

#define IFaceDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#define IFaceDefinition_LoopCollection(This)	\
    (This)->lpVtbl -> LoopCollection(This)

#define IFaceDefinition_GetNormalOrientation(This)	\
    (This)->lpVtbl -> GetNormalOrientation(This)

#define IFaceDefinition_IsConnectedWith(This,faceDefinition)	\
    (This)->lpVtbl -> IsConnectedWith(This,faceDefinition)

#define IFaceDefinition_ConnectedFaceCollection(This)	\
    (This)->lpVtbl -> ConnectedFaceCollection(This)

#define IFaceDefinition_EdgeCollection(This)	\
    (This)->lpVtbl -> EdgeCollection(This)

#define IFaceDefinition_GetNextFace(This)	\
    (This)->lpVtbl -> GetNextFace(This)

#define IFaceDefinition_IsTorus(This)	\
    (This)->lpVtbl -> IsTorus(This)

#define IFaceDefinition_IsSphere(This)	\
    (This)->lpVtbl -> IsSphere(This)

#define IFaceDefinition_IsNurbsSurface(This)	\
    (This)->lpVtbl -> IsNurbsSurface(This)

#define IFaceDefinition_IsRevolved(This)	\
    (This)->lpVtbl -> IsRevolved(This)

#define IFaceDefinition_IsSwept(This)	\
    (This)->lpVtbl -> IsSwept(This)

#define IFaceDefinition_GetTessellation(This)	\
    (This)->lpVtbl -> GetTessellation(This)

#define IFaceDefinition_GetArea(This,bitVector)	\
    (This)->lpVtbl -> GetArea(This,bitVector)

#define IFaceDefinition_GetEntity(This)	\
    (This)->lpVtbl -> GetEntity(This)

#define IFaceDefinition_IsValid(This)	\
    (This)->lpVtbl -> IsValid(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_IsPlanar_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_IsCone_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_IsCylinder_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_GetCylinderParam_Proxy( 
    IFaceDefinition __RPC_FAR * This,
    double __RPC_FAR *h,
    double __RPC_FAR *r);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IFaceDefinition_GetOwnerEntity_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IFaceDefinition_GetSurface_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPLOOPCOLLECTION STDMETHODCALLTYPE IFaceDefinition_LoopCollection_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_GetNormalOrientation_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_IsConnectedWith_Proxy( 
    IFaceDefinition __RPC_FAR * This,
    LPFACEDEFINITION faceDefinition);


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


/* [helpstring] */ LPFACECOLLECTION STDMETHODCALLTYPE IFaceDefinition_ConnectedFaceCollection_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPEDGECOLLECTION STDMETHODCALLTYPE IFaceDefinition_EdgeCollection_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE IFaceDefinition_GetNextFace_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_IsTorus_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_IsSphere_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_IsNurbsSurface_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_IsRevolved_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_IsSwept_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPTESSELLATION STDMETHODCALLTYPE IFaceDefinition_GetTessellation_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ double STDMETHODCALLTYPE IFaceDefinition_GetArea_Proxy( 
    IFaceDefinition __RPC_FAR * This,
    unsigned long bitVector);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IFaceDefinition_GetEntity_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceDefinition_IsValid_Proxy( 
    IFaceDefinition __RPC_FAR * This);


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



#endif 	/* __IFaceDefinition_INTERFACE_DEFINED__ */


#ifndef __IEdgeDefinition_INTERFACE_DEFINED__
#define __IEdgeDefinition_INTERFACE_DEFINED__

/* interface IEdgeDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IEdgeDefinition,0x7AA0E540,0x0321,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0321-11D4-A30E-00C026EE094F")
    IEdgeDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsStraight( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetOwnerEntity( void) = 0;
        
        virtual /* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE GetCurve3D( void) = 0;
        
        virtual /* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE GetAdjacentFace( 
            BOOL facePlus) = 0;
        
        virtual /* [helpstring] */ LPVERTEXDEFINITION STDMETHODCALLTYPE GetVertex( 
            BOOL start) = 0;
        
        virtual /* [helpstring] */ LPEDGECOLLECTION STDMETHODCALLTYPE EdgeCollection( 
            BOOL begin) = 0;
        
        virtual /* [helpstring] */ LPORIENTEDEDGECOLLECTION STDMETHODCALLTYPE OrientedEdgeCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsArc( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsCircle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsEllipse( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsNurbs( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsPeriodic( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetLength( 
            unsigned int bitVector) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetEntity( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsValid( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IEdgeDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IEdgeDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IEdgeDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsStraight )( 
            IEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetOwnerEntity )( 
            IEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPCURVE3D ( STDMETHODCALLTYPE __RPC_FAR *GetCurve3D )( 
            IEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPFACEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *GetAdjacentFace )( 
            IEdgeDefinition __RPC_FAR * This,
            BOOL facePlus);
        
        /* [helpstring] */ LPVERTEXDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *GetVertex )( 
            IEdgeDefinition __RPC_FAR * This,
            BOOL start);
        
        /* [helpstring] */ LPEDGECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *EdgeCollection )( 
            IEdgeDefinition __RPC_FAR * This,
            BOOL begin);
        
        /* [helpstring] */ LPORIENTEDEDGECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *OrientedEdgeCollection )( 
            IEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsArc )( 
            IEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsCircle )( 
            IEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsEllipse )( 
            IEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsNurbs )( 
            IEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsPeriodic )( 
            IEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetLength )( 
            IEdgeDefinition __RPC_FAR * This,
            unsigned int bitVector);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetEntity )( 
            IEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsValid )( 
            IEdgeDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IEdgeDefinitionVtbl;

    interface IEdgeDefinition
    {
        CONST_VTBL struct IEdgeDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IEdgeDefinition_IsStraight(This)	\
    (This)->lpVtbl -> IsStraight(This)

#define IEdgeDefinition_GetOwnerEntity(This)	\
    (This)->lpVtbl -> GetOwnerEntity(This)

#define IEdgeDefinition_GetCurve3D(This)	\
    (This)->lpVtbl -> GetCurve3D(This)

#define IEdgeDefinition_GetAdjacentFace(This,facePlus)	\
    (This)->lpVtbl -> GetAdjacentFace(This,facePlus)

#define IEdgeDefinition_GetVertex(This,start)	\
    (This)->lpVtbl -> GetVertex(This,start)

#define IEdgeDefinition_EdgeCollection(This,begin)	\
    (This)->lpVtbl -> EdgeCollection(This,begin)

#define IEdgeDefinition_OrientedEdgeCollection(This)	\
    (This)->lpVtbl -> OrientedEdgeCollection(This)

#define IEdgeDefinition_IsArc(This)	\
    (This)->lpVtbl -> IsArc(This)

#define IEdgeDefinition_IsCircle(This)	\
    (This)->lpVtbl -> IsCircle(This)

#define IEdgeDefinition_IsEllipse(This)	\
    (This)->lpVtbl -> IsEllipse(This)

#define IEdgeDefinition_IsNurbs(This)	\
    (This)->lpVtbl -> IsNurbs(This)

#define IEdgeDefinition_IsPeriodic(This)	\
    (This)->lpVtbl -> IsPeriodic(This)

#define IEdgeDefinition_GetLength(This,bitVector)	\
    (This)->lpVtbl -> GetLength(This,bitVector)

#define IEdgeDefinition_GetEntity(This)	\
    (This)->lpVtbl -> GetEntity(This)

#define IEdgeDefinition_IsValid(This)	\
    (This)->lpVtbl -> IsValid(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IEdgeDefinition_IsStraight_Proxy( 
    IEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IEdgeDefinition_GetOwnerEntity_Proxy( 
    IEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE IEdgeDefinition_GetCurve3D_Proxy( 
    IEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE IEdgeDefinition_GetAdjacentFace_Proxy( 
    IEdgeDefinition __RPC_FAR * This,
    BOOL facePlus);


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


/* [helpstring] */ LPVERTEXDEFINITION STDMETHODCALLTYPE IEdgeDefinition_GetVertex_Proxy( 
    IEdgeDefinition __RPC_FAR * This,
    BOOL start);


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


/* [helpstring] */ LPEDGECOLLECTION STDMETHODCALLTYPE IEdgeDefinition_EdgeCollection_Proxy( 
    IEdgeDefinition __RPC_FAR * This,
    BOOL begin);


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


/* [helpstring] */ LPORIENTEDEDGECOLLECTION STDMETHODCALLTYPE IEdgeDefinition_OrientedEdgeCollection_Proxy( 
    IEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEdgeDefinition_IsArc_Proxy( 
    IEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEdgeDefinition_IsCircle_Proxy( 
    IEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEdgeDefinition_IsEllipse_Proxy( 
    IEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEdgeDefinition_IsNurbs_Proxy( 
    IEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEdgeDefinition_IsPeriodic_Proxy( 
    IEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ double STDMETHODCALLTYPE IEdgeDefinition_GetLength_Proxy( 
    IEdgeDefinition __RPC_FAR * This,
    unsigned int bitVector);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IEdgeDefinition_GetEntity_Proxy( 
    IEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEdgeDefinition_IsValid_Proxy( 
    IEdgeDefinition __RPC_FAR * This);


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



#endif 	/* __IEdgeDefinition_INTERFACE_DEFINED__ */


#ifndef __IVertexDefinition_INTERFACE_DEFINED__
#define __IVertexDefinition_INTERFACE_DEFINED__

/* interface IVertexDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IVertexDefinition,0x7AA0E540,0x0320,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0320-11D4-A30E-00C026EE094F")
    IVertexDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPoint( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetOwnerEntity( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetTopologyVertex( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFreeVertex( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IVertexDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IVertexDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IVertexDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IVertexDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            IVertexDefinition __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetOwnerEntity )( 
            IVertexDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetTopologyVertex )( 
            IVertexDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFreeVertex )( 
            IVertexDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IVertexDefinitionVtbl;

    interface IVertexDefinition
    {
        CONST_VTBL struct IVertexDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IVertexDefinition_GetPoint(This,x,y,z)	\
    (This)->lpVtbl -> GetPoint(This,x,y,z)

#define IVertexDefinition_GetOwnerEntity(This)	\
    (This)->lpVtbl -> GetOwnerEntity(This)

#define IVertexDefinition_GetTopologyVertex(This)	\
    (This)->lpVtbl -> GetTopologyVertex(This)

#define IVertexDefinition_GetFreeVertex(This)	\
    (This)->lpVtbl -> GetFreeVertex(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IVertexDefinition_GetPoint_Proxy( 
    IVertexDefinition __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IVertexDefinition_GetOwnerEntity_Proxy( 
    IVertexDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVertexDefinition_GetTopologyVertex_Proxy( 
    IVertexDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVertexDefinition_GetFreeVertex_Proxy( 
    IVertexDefinition __RPC_FAR * This);


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



#endif 	/* __IVertexDefinition_INTERFACE_DEFINED__ */


#ifndef __ISketchDefinition_INTERFACE_DEFINED__
#define __ISketchDefinition_INTERFACE_DEFINED__

/* interface ISketchDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ISketchDefinition,0x7AA0E540,0x0323,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0323-11D4-A30E-00C026EE094F")
    ISketchDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY name) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetLocation( 
            double __RPC_FAR *x,
            double __RPC_FAR *y) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetLocation( 
            double x,
            double y) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngle( 
            double ang) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE UserSetPlacement( 
            LPOLESTR prompt) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE BeginEdit( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE EndEdit( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetLoftPoint( 
            double __RPC_FAR *x,
            double __RPC_FAR *y) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetLoftPoint( 
            double x,
            double y) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE AddProjectionOf( 
            LPENTITY entity) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE BeginEditEx( 
            BOOL readOnly) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISketchDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ISketchDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ISketchDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ISketchDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            ISketchDefinition __RPC_FAR * This,
            LPENTITY name);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            ISketchDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetLocation )( 
            ISketchDefinition __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetLocation )( 
            ISketchDefinition __RPC_FAR * This,
            double x,
            double y);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle )( 
            ISketchDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngle )( 
            ISketchDefinition __RPC_FAR * This,
            double ang);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *UserSetPlacement )( 
            ISketchDefinition __RPC_FAR * This,
            LPOLESTR prompt);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginEdit )( 
            ISketchDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *EndEdit )( 
            ISketchDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetLoftPoint )( 
            ISketchDefinition __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetLoftPoint )( 
            ISketchDefinition __RPC_FAR * This,
            double x,
            double y);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *AddProjectionOf )( 
            ISketchDefinition __RPC_FAR * This,
            LPENTITY entity);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            ISketchDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginEditEx )( 
            ISketchDefinition __RPC_FAR * This,
            BOOL readOnly);
        
        END_INTERFACE
    } ISketchDefinitionVtbl;

    interface ISketchDefinition
    {
        CONST_VTBL struct ISketchDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ISketchDefinition_SetPlane(This,name)	\
    (This)->lpVtbl -> SetPlane(This,name)

#define ISketchDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define ISketchDefinition_GetLocation(This,x,y)	\
    (This)->lpVtbl -> GetLocation(This,x,y)

#define ISketchDefinition_SetLocation(This,x,y)	\
    (This)->lpVtbl -> SetLocation(This,x,y)

#define ISketchDefinition_GetAngle(This)	\
    (This)->lpVtbl -> GetAngle(This)

#define ISketchDefinition_SetAngle(This,ang)	\
    (This)->lpVtbl -> SetAngle(This,ang)

#define ISketchDefinition_UserSetPlacement(This,prompt)	\
    (This)->lpVtbl -> UserSetPlacement(This,prompt)

#define ISketchDefinition_BeginEdit(This)	\
    (This)->lpVtbl -> BeginEdit(This)

#define ISketchDefinition_EndEdit(This)	\
    (This)->lpVtbl -> EndEdit(This)

#define ISketchDefinition_GetLoftPoint(This,x,y)	\
    (This)->lpVtbl -> GetLoftPoint(This,x,y)

#define ISketchDefinition_SetLoftPoint(This,x,y)	\
    (This)->lpVtbl -> SetLoftPoint(This,x,y)

#define ISketchDefinition_AddProjectionOf(This,entity)	\
    (This)->lpVtbl -> AddProjectionOf(This,entity)

#define ISketchDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#define ISketchDefinition_BeginEditEx(This,readOnly)	\
    (This)->lpVtbl -> BeginEditEx(This,readOnly)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ISketchDefinition_SetPlane_Proxy( 
    ISketchDefinition __RPC_FAR * This,
    LPENTITY name);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ISketchDefinition_GetPlane_Proxy( 
    ISketchDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISketchDefinition_GetLocation_Proxy( 
    ISketchDefinition __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISketchDefinition_SetLocation_Proxy( 
    ISketchDefinition __RPC_FAR * This,
    double x,
    double y);


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


/* [helpstring] */ double STDMETHODCALLTYPE ISketchDefinition_GetAngle_Proxy( 
    ISketchDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISketchDefinition_SetAngle_Proxy( 
    ISketchDefinition __RPC_FAR * This,
    double ang);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISketchDefinition_UserSetPlacement_Proxy( 
    ISketchDefinition __RPC_FAR * This,
    LPOLESTR prompt);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISketchDefinition_BeginEdit_Proxy( 
    ISketchDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISketchDefinition_EndEdit_Proxy( 
    ISketchDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISketchDefinition_GetLoftPoint_Proxy( 
    ISketchDefinition __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISketchDefinition_SetLoftPoint_Proxy( 
    ISketchDefinition __RPC_FAR * This,
    double x,
    double y);


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


/* [helpstring] */ long STDMETHODCALLTYPE ISketchDefinition_AddProjectionOf_Proxy( 
    ISketchDefinition __RPC_FAR * This,
    LPENTITY entity);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE ISketchDefinition_GetSurface_Proxy( 
    ISketchDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISketchDefinition_BeginEditEx_Proxy( 
    ISketchDefinition __RPC_FAR * This,
    BOOL readOnly);


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



#endif 	/* __ISketchDefinition_INTERFACE_DEFINED__ */


#ifndef __IThreadDefinition_INTERFACE_DEFINED__
#define __IThreadDefinition_INTERFACE_DEFINED__

/* interface IThreadDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IThreadDefinition,0x44abb63a,0xe6f2,0x47c5,0x94,0x5c,0x5c,0x17,0xd0,0x47,0x7c,0xe0);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("44abb63a-e6f2-47c5-945c-5c17d0477ce0")
    IThreadDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetDr( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDr( 
            double dr) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetLength( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetLength( 
            double length) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetP( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetP( 
            double p) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetOutside( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetAutoDefinDr( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAutoDefinDr( 
            BOOL autoDefinDr) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetAllLength( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAllLength( 
            BOOL allLength) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFaceValue( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFaceValue( 
            BOOL faceValue) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetBaseObject( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetBaseObject( 
            LPENTITY obj) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetFaceBegin( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFaceBegin( 
            LPENTITY face) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetFaceEnd( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFaceEnd( 
            LPENTITY face) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IThreadDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IThreadDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IThreadDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IThreadDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetDr )( 
            IThreadDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDr )( 
            IThreadDefinition __RPC_FAR * This,
            double dr);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetLength )( 
            IThreadDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetLength )( 
            IThreadDefinition __RPC_FAR * This,
            double length);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetP )( 
            IThreadDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetP )( 
            IThreadDefinition __RPC_FAR * This,
            double p);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetOutside )( 
            IThreadDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetAutoDefinDr )( 
            IThreadDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAutoDefinDr )( 
            IThreadDefinition __RPC_FAR * This,
            BOOL autoDefinDr);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetAllLength )( 
            IThreadDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAllLength )( 
            IThreadDefinition __RPC_FAR * This,
            BOOL allLength);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFaceValue )( 
            IThreadDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFaceValue )( 
            IThreadDefinition __RPC_FAR * This,
            BOOL faceValue);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetBaseObject )( 
            IThreadDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetBaseObject )( 
            IThreadDefinition __RPC_FAR * This,
            LPENTITY obj);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetFaceBegin )( 
            IThreadDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFaceBegin )( 
            IThreadDefinition __RPC_FAR * This,
            LPENTITY face);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetFaceEnd )( 
            IThreadDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFaceEnd )( 
            IThreadDefinition __RPC_FAR * This,
            LPENTITY face);
        
        END_INTERFACE
    } IThreadDefinitionVtbl;

    interface IThreadDefinition
    {
        CONST_VTBL struct IThreadDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IThreadDefinition_GetDr(This)	\
    (This)->lpVtbl -> GetDr(This)

#define IThreadDefinition_SetDr(This,dr)	\
    (This)->lpVtbl -> SetDr(This,dr)

#define IThreadDefinition_GetLength(This)	\
    (This)->lpVtbl -> GetLength(This)

#define IThreadDefinition_SetLength(This,length)	\
    (This)->lpVtbl -> SetLength(This,length)

#define IThreadDefinition_GetP(This)	\
    (This)->lpVtbl -> GetP(This)

#define IThreadDefinition_SetP(This,p)	\
    (This)->lpVtbl -> SetP(This,p)

#define IThreadDefinition_GetOutside(This)	\
    (This)->lpVtbl -> GetOutside(This)

#define IThreadDefinition_GetAutoDefinDr(This)	\
    (This)->lpVtbl -> GetAutoDefinDr(This)

#define IThreadDefinition_SetAutoDefinDr(This,autoDefinDr)	\
    (This)->lpVtbl -> SetAutoDefinDr(This,autoDefinDr)

#define IThreadDefinition_GetAllLength(This)	\
    (This)->lpVtbl -> GetAllLength(This)

#define IThreadDefinition_SetAllLength(This,allLength)	\
    (This)->lpVtbl -> SetAllLength(This,allLength)

#define IThreadDefinition_GetFaceValue(This)	\
    (This)->lpVtbl -> GetFaceValue(This)

#define IThreadDefinition_SetFaceValue(This,faceValue)	\
    (This)->lpVtbl -> SetFaceValue(This,faceValue)

#define IThreadDefinition_GetBaseObject(This)	\
    (This)->lpVtbl -> GetBaseObject(This)

#define IThreadDefinition_SetBaseObject(This,obj)	\
    (This)->lpVtbl -> SetBaseObject(This,obj)

#define IThreadDefinition_GetFaceBegin(This)	\
    (This)->lpVtbl -> GetFaceBegin(This)

#define IThreadDefinition_SetFaceBegin(This,face)	\
    (This)->lpVtbl -> SetFaceBegin(This,face)

#define IThreadDefinition_GetFaceEnd(This)	\
    (This)->lpVtbl -> GetFaceEnd(This)

#define IThreadDefinition_SetFaceEnd(This,face)	\
    (This)->lpVtbl -> SetFaceEnd(This,face)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ double STDMETHODCALLTYPE IThreadDefinition_GetDr_Proxy( 
    IThreadDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_SetDr_Proxy( 
    IThreadDefinition __RPC_FAR * This,
    double dr);


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


/* [helpstring] */ double STDMETHODCALLTYPE IThreadDefinition_GetLength_Proxy( 
    IThreadDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_SetLength_Proxy( 
    IThreadDefinition __RPC_FAR * This,
    double length);


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


/* [helpstring] */ double STDMETHODCALLTYPE IThreadDefinition_GetP_Proxy( 
    IThreadDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_SetP_Proxy( 
    IThreadDefinition __RPC_FAR * This,
    double p);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_GetOutside_Proxy( 
    IThreadDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_GetAutoDefinDr_Proxy( 
    IThreadDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_SetAutoDefinDr_Proxy( 
    IThreadDefinition __RPC_FAR * This,
    BOOL autoDefinDr);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_GetAllLength_Proxy( 
    IThreadDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_SetAllLength_Proxy( 
    IThreadDefinition __RPC_FAR * This,
    BOOL allLength);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_GetFaceValue_Proxy( 
    IThreadDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_SetFaceValue_Proxy( 
    IThreadDefinition __RPC_FAR * This,
    BOOL faceValue);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IThreadDefinition_GetBaseObject_Proxy( 
    IThreadDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_SetBaseObject_Proxy( 
    IThreadDefinition __RPC_FAR * This,
    LPENTITY obj);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IThreadDefinition_GetFaceBegin_Proxy( 
    IThreadDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_SetFaceBegin_Proxy( 
    IThreadDefinition __RPC_FAR * This,
    LPENTITY face);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IThreadDefinition_GetFaceEnd_Proxy( 
    IThreadDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IThreadDefinition_SetFaceEnd_Proxy( 
    IThreadDefinition __RPC_FAR * This,
    LPENTITY face);


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



#endif 	/* __IThreadDefinition_INTERFACE_DEFINED__ */


#ifndef __IAxis2PointsDefinition_INTERFACE_DEFINED__
#define __IAxis2PointsDefinition_INTERFACE_DEFINED__

/* interface IAxis2PointsDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IAxis2PointsDefinition,0x7AA0E540,0x0335,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0335-11D4-A30E-00C026EE094F")
    IAxis2PointsDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPoint( 
            long number) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPoint( 
            long number,
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE GetCurve3D( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAxis2PointsDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IAxis2PointsDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IAxis2PointsDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IAxis2PointsDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            IAxis2PointsDefinition __RPC_FAR * This,
            long number);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPoint )( 
            IAxis2PointsDefinition __RPC_FAR * This,
            long number,
            LPENTITY val);
        
        /* [helpstring] */ LPCURVE3D ( STDMETHODCALLTYPE __RPC_FAR *GetCurve3D )( 
            IAxis2PointsDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IAxis2PointsDefinitionVtbl;

    interface IAxis2PointsDefinition
    {
        CONST_VTBL struct IAxis2PointsDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAxis2PointsDefinition_GetPoint(This,number)	\
    (This)->lpVtbl -> GetPoint(This,number)

#define IAxis2PointsDefinition_SetPoint(This,number,val)	\
    (This)->lpVtbl -> SetPoint(This,number,val)

#define IAxis2PointsDefinition_GetCurve3D(This)	\
    (This)->lpVtbl -> GetCurve3D(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IAxis2PointsDefinition_GetPoint_Proxy( 
    IAxis2PointsDefinition __RPC_FAR * This,
    long number);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAxis2PointsDefinition_SetPoint_Proxy( 
    IAxis2PointsDefinition __RPC_FAR * This,
    long number,
    LPENTITY val);


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


/* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE IAxis2PointsDefinition_GetCurve3D_Proxy( 
    IAxis2PointsDefinition __RPC_FAR * This);


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



#endif 	/* __IAxis2PointsDefinition_INTERFACE_DEFINED__ */


#ifndef __IAxis2PlanesDefinition_INTERFACE_DEFINED__
#define __IAxis2PlanesDefinition_INTERFACE_DEFINED__

/* interface IAxis2PlanesDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IAxis2PlanesDefinition,0x7AA0E540,0x0336,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0336-11D4-A30E-00C026EE094F")
    IAxis2PlanesDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( 
            long number) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            long number,
            LPENTITY plane) = 0;
        
        virtual /* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE GetCurve3D( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAxis2PlanesDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IAxis2PlanesDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IAxis2PlanesDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IAxis2PlanesDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            IAxis2PlanesDefinition __RPC_FAR * This,
            long number);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IAxis2PlanesDefinition __RPC_FAR * This,
            long number,
            LPENTITY plane);
        
        /* [helpstring] */ LPCURVE3D ( STDMETHODCALLTYPE __RPC_FAR *GetCurve3D )( 
            IAxis2PlanesDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IAxis2PlanesDefinitionVtbl;

    interface IAxis2PlanesDefinition
    {
        CONST_VTBL struct IAxis2PlanesDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAxis2PlanesDefinition_GetPlane(This,number)	\
    (This)->lpVtbl -> GetPlane(This,number)

#define IAxis2PlanesDefinition_SetPlane(This,number,plane)	\
    (This)->lpVtbl -> SetPlane(This,number,plane)

#define IAxis2PlanesDefinition_GetCurve3D(This)	\
    (This)->lpVtbl -> GetCurve3D(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IAxis2PlanesDefinition_GetPlane_Proxy( 
    IAxis2PlanesDefinition __RPC_FAR * This,
    long number);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAxis2PlanesDefinition_SetPlane_Proxy( 
    IAxis2PlanesDefinition __RPC_FAR * This,
    long number,
    LPENTITY plane);


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


/* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE IAxis2PlanesDefinition_GetCurve3D_Proxy( 
    IAxis2PlanesDefinition __RPC_FAR * This);


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



#endif 	/* __IAxis2PlanesDefinition_INTERFACE_DEFINED__ */


#ifndef __IAxisOperationsDefinition_INTERFACE_DEFINED__
#define __IAxisOperationsDefinition_INTERFACE_DEFINED__

/* interface IAxisOperationsDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IAxisOperationsDefinition,0x7AA0E540,0x0337,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0337-11D4-A30E-00C026EE094F")
    IAxisOperationsDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetOperation( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetOperation( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE GetCurve3D( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAxisOperationsDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IAxisOperationsDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IAxisOperationsDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IAxisOperationsDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetOperation )( 
            IAxisOperationsDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetOperation )( 
            IAxisOperationsDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPCURVE3D ( STDMETHODCALLTYPE __RPC_FAR *GetCurve3D )( 
            IAxisOperationsDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IAxisOperationsDefinitionVtbl;

    interface IAxisOperationsDefinition
    {
        CONST_VTBL struct IAxisOperationsDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAxisOperationsDefinition_GetOperation(This)	\
    (This)->lpVtbl -> GetOperation(This)

#define IAxisOperationsDefinition_SetOperation(This,val)	\
    (This)->lpVtbl -> SetOperation(This,val)

#define IAxisOperationsDefinition_GetCurve3D(This)	\
    (This)->lpVtbl -> GetCurve3D(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IAxisOperationsDefinition_GetOperation_Proxy( 
    IAxisOperationsDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAxisOperationsDefinition_SetOperation_Proxy( 
    IAxisOperationsDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE IAxisOperationsDefinition_GetCurve3D_Proxy( 
    IAxisOperationsDefinition __RPC_FAR * This);


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



#endif 	/* __IAxisOperationsDefinition_INTERFACE_DEFINED__ */


#ifndef __IAxisEdgeDefinition_INTERFACE_DEFINED__
#define __IAxisEdgeDefinition_INTERFACE_DEFINED__

/* interface IAxisEdgeDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IAxisEdgeDefinition,0x7AA0E540,0x0339,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0339-11D4-A30E-00C026EE094F")
    IAxisEdgeDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetEdge( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetEdge( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE GetCurve3D( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAxisEdgeDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IAxisEdgeDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IAxisEdgeDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IAxisEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetEdge )( 
            IAxisEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetEdge )( 
            IAxisEdgeDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPCURVE3D ( STDMETHODCALLTYPE __RPC_FAR *GetCurve3D )( 
            IAxisEdgeDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IAxisEdgeDefinitionVtbl;

    interface IAxisEdgeDefinition
    {
        CONST_VTBL struct IAxisEdgeDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IAxisEdgeDefinition_GetEdge(This)	\
    (This)->lpVtbl -> GetEdge(This)

#define IAxisEdgeDefinition_SetEdge(This,val)	\
    (This)->lpVtbl -> SetEdge(This,val)

#define IAxisEdgeDefinition_GetCurve3D(This)	\
    (This)->lpVtbl -> GetCurve3D(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IAxisEdgeDefinition_GetEdge_Proxy( 
    IAxisEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAxisEdgeDefinition_SetEdge_Proxy( 
    IAxisEdgeDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE IAxisEdgeDefinition_GetCurve3D_Proxy( 
    IAxisEdgeDefinition __RPC_FAR * This);


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



#endif 	/* __IAxisEdgeDefinition_INTERFACE_DEFINED__ */


#ifndef __IPlaneOffsetDefinition_INTERFACE_DEFINED__
#define __IPlaneOffsetDefinition_INTERFACE_DEFINED__

/* interface IPlaneOffsetDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlaneOffsetDefinition,0x7AA0E540,0x0341,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0341-11D4-A30E-00C026EE094F")
    IPlaneOffsetDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDirection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirection( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetOffset( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetOffset( 
            double val) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlaneOffsetDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlaneOffsetDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlaneOffsetDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlaneOffsetDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDirection )( 
            IPlaneOffsetDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirection )( 
            IPlaneOffsetDefinition __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            IPlaneOffsetDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IPlaneOffsetDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetOffset )( 
            IPlaneOffsetDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetOffset )( 
            IPlaneOffsetDefinition __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IPlaneOffsetDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IPlaneOffsetDefinitionVtbl;

    interface IPlaneOffsetDefinition
    {
        CONST_VTBL struct IPlaneOffsetDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlaneOffsetDefinition_GetDirection(This)	\
    (This)->lpVtbl -> GetDirection(This)

#define IPlaneOffsetDefinition_SetDirection(This,val)	\
    (This)->lpVtbl -> SetDirection(This,val)

#define IPlaneOffsetDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define IPlaneOffsetDefinition_SetPlane(This,val)	\
    (This)->lpVtbl -> SetPlane(This,val)

#define IPlaneOffsetDefinition_GetOffset(This)	\
    (This)->lpVtbl -> GetOffset(This)

#define IPlaneOffsetDefinition_SetOffset(This,val)	\
    (This)->lpVtbl -> SetOffset(This,val)

#define IPlaneOffsetDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneOffsetDefinition_GetDirection_Proxy( 
    IPlaneOffsetDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneOffsetDefinition_SetDirection_Proxy( 
    IPlaneOffsetDefinition __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneOffsetDefinition_GetPlane_Proxy( 
    IPlaneOffsetDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneOffsetDefinition_SetPlane_Proxy( 
    IPlaneOffsetDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IPlaneOffsetDefinition_GetOffset_Proxy( 
    IPlaneOffsetDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneOffsetDefinition_SetOffset_Proxy( 
    IPlaneOffsetDefinition __RPC_FAR * This,
    double val);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IPlaneOffsetDefinition_GetSurface_Proxy( 
    IPlaneOffsetDefinition __RPC_FAR * This);


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



#endif 	/* __IPlaneOffsetDefinition_INTERFACE_DEFINED__ */


#ifndef __IPlane3PointsDefinition_INTERFACE_DEFINED__
#define __IPlane3PointsDefinition_INTERFACE_DEFINED__

/* interface IPlane3PointsDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlane3PointsDefinition,0x7AA0E540,0x0342,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0342-11D4-A30E-00C026EE094F")
    IPlane3PointsDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPoint( 
            long number) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPoint( 
            long number,
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlane3PointsDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlane3PointsDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlane3PointsDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlane3PointsDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            IPlane3PointsDefinition __RPC_FAR * This,
            long number);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPoint )( 
            IPlane3PointsDefinition __RPC_FAR * This,
            long number,
            LPENTITY val);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IPlane3PointsDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IPlane3PointsDefinitionVtbl;

    interface IPlane3PointsDefinition
    {
        CONST_VTBL struct IPlane3PointsDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlane3PointsDefinition_GetPoint(This,number)	\
    (This)->lpVtbl -> GetPoint(This,number)

#define IPlane3PointsDefinition_SetPoint(This,number,val)	\
    (This)->lpVtbl -> SetPoint(This,number,val)

#define IPlane3PointsDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlane3PointsDefinition_GetPoint_Proxy( 
    IPlane3PointsDefinition __RPC_FAR * This,
    long number);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlane3PointsDefinition_SetPoint_Proxy( 
    IPlane3PointsDefinition __RPC_FAR * This,
    long number,
    LPENTITY val);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IPlane3PointsDefinition_GetSurface_Proxy( 
    IPlane3PointsDefinition __RPC_FAR * This);


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



#endif 	/* __IPlane3PointsDefinition_INTERFACE_DEFINED__ */


#ifndef __IPlaneAngleDefinition_INTERFACE_DEFINED__
#define __IPlaneAngleDefinition_INTERFACE_DEFINED__

/* interface IPlaneAngleDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlaneAngleDefinition,0x7AA0E540,0x0343,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0343-11D4-A30E-00C026EE094F")
    IPlaneAngleDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY plane) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetAxis( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAxis( 
            LPENTITY axis) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngle( 
            double val) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlaneAngleDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlaneAngleDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlaneAngleDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlaneAngleDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            IPlaneAngleDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IPlaneAngleDefinition __RPC_FAR * This,
            LPENTITY plane);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetAxis )( 
            IPlaneAngleDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAxis )( 
            IPlaneAngleDefinition __RPC_FAR * This,
            LPENTITY axis);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle )( 
            IPlaneAngleDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngle )( 
            IPlaneAngleDefinition __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IPlaneAngleDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IPlaneAngleDefinitionVtbl;

    interface IPlaneAngleDefinition
    {
        CONST_VTBL struct IPlaneAngleDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlaneAngleDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define IPlaneAngleDefinition_SetPlane(This,plane)	\
    (This)->lpVtbl -> SetPlane(This,plane)

#define IPlaneAngleDefinition_GetAxis(This)	\
    (This)->lpVtbl -> GetAxis(This)

#define IPlaneAngleDefinition_SetAxis(This,axis)	\
    (This)->lpVtbl -> SetAxis(This,axis)

#define IPlaneAngleDefinition_GetAngle(This)	\
    (This)->lpVtbl -> GetAngle(This)

#define IPlaneAngleDefinition_SetAngle(This,val)	\
    (This)->lpVtbl -> SetAngle(This,val)

#define IPlaneAngleDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneAngleDefinition_GetPlane_Proxy( 
    IPlaneAngleDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneAngleDefinition_SetPlane_Proxy( 
    IPlaneAngleDefinition __RPC_FAR * This,
    LPENTITY plane);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneAngleDefinition_GetAxis_Proxy( 
    IPlaneAngleDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneAngleDefinition_SetAxis_Proxy( 
    IPlaneAngleDefinition __RPC_FAR * This,
    LPENTITY axis);


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


/* [helpstring] */ double STDMETHODCALLTYPE IPlaneAngleDefinition_GetAngle_Proxy( 
    IPlaneAngleDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneAngleDefinition_SetAngle_Proxy( 
    IPlaneAngleDefinition __RPC_FAR * This,
    double val);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IPlaneAngleDefinition_GetSurface_Proxy( 
    IPlaneAngleDefinition __RPC_FAR * This);


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



#endif 	/* __IPlaneAngleDefinition_INTERFACE_DEFINED__ */


#ifndef __IPlaneEdgePointDefinition_INTERFACE_DEFINED__
#define __IPlaneEdgePointDefinition_INTERFACE_DEFINED__

/* interface IPlaneEdgePointDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlaneEdgePointDefinition,0x7AA0E540,0x0344,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0344-11D4-A30E-00C026EE094F")
    IPlaneEdgePointDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetEdge( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetEdge( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPoint( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPoint( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlaneEdgePointDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlaneEdgePointDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlaneEdgePointDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlaneEdgePointDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetEdge )( 
            IPlaneEdgePointDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetEdge )( 
            IPlaneEdgePointDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            IPlaneEdgePointDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPoint )( 
            IPlaneEdgePointDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IPlaneEdgePointDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IPlaneEdgePointDefinitionVtbl;

    interface IPlaneEdgePointDefinition
    {
        CONST_VTBL struct IPlaneEdgePointDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlaneEdgePointDefinition_GetEdge(This)	\
    (This)->lpVtbl -> GetEdge(This)

#define IPlaneEdgePointDefinition_SetEdge(This,val)	\
    (This)->lpVtbl -> SetEdge(This,val)

#define IPlaneEdgePointDefinition_GetPoint(This)	\
    (This)->lpVtbl -> GetPoint(This)

#define IPlaneEdgePointDefinition_SetPoint(This,val)	\
    (This)->lpVtbl -> SetPoint(This,val)

#define IPlaneEdgePointDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneEdgePointDefinition_GetEdge_Proxy( 
    IPlaneEdgePointDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneEdgePointDefinition_SetEdge_Proxy( 
    IPlaneEdgePointDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneEdgePointDefinition_GetPoint_Proxy( 
    IPlaneEdgePointDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneEdgePointDefinition_SetPoint_Proxy( 
    IPlaneEdgePointDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IPlaneEdgePointDefinition_GetSurface_Proxy( 
    IPlaneEdgePointDefinition __RPC_FAR * This);


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



#endif 	/* __IPlaneEdgePointDefinition_INTERFACE_DEFINED__ */


#ifndef __IPlaneParallelDefinition_INTERFACE_DEFINED__
#define __IPlaneParallelDefinition_INTERFACE_DEFINED__

/* interface IPlaneParallelDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlaneParallelDefinition,0x7AA0E540,0x0345,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0345-11D4-A30E-00C026EE094F")
    IPlaneParallelDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPoint( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPoint( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlaneParallelDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlaneParallelDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlaneParallelDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlaneParallelDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            IPlaneParallelDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IPlaneParallelDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            IPlaneParallelDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPoint )( 
            IPlaneParallelDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IPlaneParallelDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IPlaneParallelDefinitionVtbl;

    interface IPlaneParallelDefinition
    {
        CONST_VTBL struct IPlaneParallelDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlaneParallelDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define IPlaneParallelDefinition_SetPlane(This,val)	\
    (This)->lpVtbl -> SetPlane(This,val)

#define IPlaneParallelDefinition_GetPoint(This)	\
    (This)->lpVtbl -> GetPoint(This)

#define IPlaneParallelDefinition_SetPoint(This,val)	\
    (This)->lpVtbl -> SetPoint(This,val)

#define IPlaneParallelDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneParallelDefinition_GetPlane_Proxy( 
    IPlaneParallelDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneParallelDefinition_SetPlane_Proxy( 
    IPlaneParallelDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneParallelDefinition_GetPoint_Proxy( 
    IPlaneParallelDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneParallelDefinition_SetPoint_Proxy( 
    IPlaneParallelDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IPlaneParallelDefinition_GetSurface_Proxy( 
    IPlaneParallelDefinition __RPC_FAR * This);


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



#endif 	/* __IPlaneParallelDefinition_INTERFACE_DEFINED__ */


#ifndef __IPlanePerpendicularDefinition_INTERFACE_DEFINED__
#define __IPlanePerpendicularDefinition_INTERFACE_DEFINED__

/* interface IPlanePerpendicularDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlanePerpendicularDefinition,0x7AA0E540,0x0346,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0346-11D4-A30E-00C026EE094F")
    IPlanePerpendicularDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetEdge( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetEdge( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPoint( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPoint( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlanePerpendicularDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlanePerpendicularDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlanePerpendicularDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlanePerpendicularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetEdge )( 
            IPlanePerpendicularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetEdge )( 
            IPlanePerpendicularDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            IPlanePerpendicularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPoint )( 
            IPlanePerpendicularDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IPlanePerpendicularDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IPlanePerpendicularDefinitionVtbl;

    interface IPlanePerpendicularDefinition
    {
        CONST_VTBL struct IPlanePerpendicularDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlanePerpendicularDefinition_GetEdge(This)	\
    (This)->lpVtbl -> GetEdge(This)

#define IPlanePerpendicularDefinition_SetEdge(This,val)	\
    (This)->lpVtbl -> SetEdge(This,val)

#define IPlanePerpendicularDefinition_GetPoint(This)	\
    (This)->lpVtbl -> GetPoint(This)

#define IPlanePerpendicularDefinition_SetPoint(This,val)	\
    (This)->lpVtbl -> SetPoint(This,val)

#define IPlanePerpendicularDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlanePerpendicularDefinition_GetEdge_Proxy( 
    IPlanePerpendicularDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlanePerpendicularDefinition_SetEdge_Proxy( 
    IPlanePerpendicularDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlanePerpendicularDefinition_GetPoint_Proxy( 
    IPlanePerpendicularDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlanePerpendicularDefinition_SetPoint_Proxy( 
    IPlanePerpendicularDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IPlanePerpendicularDefinition_GetSurface_Proxy( 
    IPlanePerpendicularDefinition __RPC_FAR * This);


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



#endif 	/* __IPlanePerpendicularDefinition_INTERFACE_DEFINED__ */


#ifndef __IPlaneNormalToSurfaceDefinition_INTERFACE_DEFINED__
#define __IPlaneNormalToSurfaceDefinition_INTERFACE_DEFINED__

/* interface IPlaneNormalToSurfaceDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlaneNormalToSurfaceDefinition,0x7AA0E540,0x0347,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0347-11D4-A30E-00C026EE094F")
    IPlaneNormalToSurfaceDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetFace( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFace( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngle( 
            double ang) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlaneNormalToSurfaceDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlaneNormalToSurfaceDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlaneNormalToSurfaceDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlaneNormalToSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetFace )( 
            IPlaneNormalToSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFace )( 
            IPlaneNormalToSurfaceDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            IPlaneNormalToSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IPlaneNormalToSurfaceDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle )( 
            IPlaneNormalToSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngle )( 
            IPlaneNormalToSurfaceDefinition __RPC_FAR * This,
            double ang);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IPlaneNormalToSurfaceDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IPlaneNormalToSurfaceDefinitionVtbl;

    interface IPlaneNormalToSurfaceDefinition
    {
        CONST_VTBL struct IPlaneNormalToSurfaceDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlaneNormalToSurfaceDefinition_GetFace(This)	\
    (This)->lpVtbl -> GetFace(This)

#define IPlaneNormalToSurfaceDefinition_SetFace(This,val)	\
    (This)->lpVtbl -> SetFace(This,val)

#define IPlaneNormalToSurfaceDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define IPlaneNormalToSurfaceDefinition_SetPlane(This,val)	\
    (This)->lpVtbl -> SetPlane(This,val)

#define IPlaneNormalToSurfaceDefinition_GetAngle(This)	\
    (This)->lpVtbl -> GetAngle(This)

#define IPlaneNormalToSurfaceDefinition_SetAngle(This,ang)	\
    (This)->lpVtbl -> SetAngle(This,ang)

#define IPlaneNormalToSurfaceDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneNormalToSurfaceDefinition_GetFace_Proxy( 
    IPlaneNormalToSurfaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneNormalToSurfaceDefinition_SetFace_Proxy( 
    IPlaneNormalToSurfaceDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneNormalToSurfaceDefinition_GetPlane_Proxy( 
    IPlaneNormalToSurfaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneNormalToSurfaceDefinition_SetPlane_Proxy( 
    IPlaneNormalToSurfaceDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ double STDMETHODCALLTYPE IPlaneNormalToSurfaceDefinition_GetAngle_Proxy( 
    IPlaneNormalToSurfaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneNormalToSurfaceDefinition_SetAngle_Proxy( 
    IPlaneNormalToSurfaceDefinition __RPC_FAR * This,
    double ang);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IPlaneNormalToSurfaceDefinition_GetSurface_Proxy( 
    IPlaneNormalToSurfaceDefinition __RPC_FAR * This);


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



#endif 	/* __IPlaneNormalToSurfaceDefinition_INTERFACE_DEFINED__ */


#ifndef __IPlaneTangentToSurfaceDefinition_INTERFACE_DEFINED__
#define __IPlaneTangentToSurfaceDefinition_INTERFACE_DEFINED__

/* interface IPlaneTangentToSurfaceDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlaneTangentToSurfaceDefinition,0x7AA0E540,0x0348,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0348-11D4-A30E-00C026EE094F")
    IPlaneTangentToSurfaceDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetFace( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFace( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetChoosePlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetChoosePlane( 
            short choose) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngle( 
            double ang) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlaneTangentToSurfaceDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetFace )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFace )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetChoosePlane )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetChoosePlane )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This,
            short choose);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngle )( 
            IPlaneTangentToSurfaceDefinition __RPC_FAR * This,
            double ang);
        
        END_INTERFACE
    } IPlaneTangentToSurfaceDefinitionVtbl;

    interface IPlaneTangentToSurfaceDefinition
    {
        CONST_VTBL struct IPlaneTangentToSurfaceDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlaneTangentToSurfaceDefinition_GetFace(This)	\
    (This)->lpVtbl -> GetFace(This)

#define IPlaneTangentToSurfaceDefinition_SetFace(This,val)	\
    (This)->lpVtbl -> SetFace(This,val)

#define IPlaneTangentToSurfaceDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define IPlaneTangentToSurfaceDefinition_SetPlane(This,val)	\
    (This)->lpVtbl -> SetPlane(This,val)

#define IPlaneTangentToSurfaceDefinition_GetChoosePlane(This)	\
    (This)->lpVtbl -> GetChoosePlane(This)

#define IPlaneTangentToSurfaceDefinition_SetChoosePlane(This,choose)	\
    (This)->lpVtbl -> SetChoosePlane(This,choose)

#define IPlaneTangentToSurfaceDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#define IPlaneTangentToSurfaceDefinition_GetAngle(This)	\
    (This)->lpVtbl -> GetAngle(This)

#define IPlaneTangentToSurfaceDefinition_SetAngle(This,ang)	\
    (This)->lpVtbl -> SetAngle(This,ang)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneTangentToSurfaceDefinition_GetFace_Proxy( 
    IPlaneTangentToSurfaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneTangentToSurfaceDefinition_SetFace_Proxy( 
    IPlaneTangentToSurfaceDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneTangentToSurfaceDefinition_GetPlane_Proxy( 
    IPlaneTangentToSurfaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneTangentToSurfaceDefinition_SetPlane_Proxy( 
    IPlaneTangentToSurfaceDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ short STDMETHODCALLTYPE IPlaneTangentToSurfaceDefinition_GetChoosePlane_Proxy( 
    IPlaneTangentToSurfaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneTangentToSurfaceDefinition_SetChoosePlane_Proxy( 
    IPlaneTangentToSurfaceDefinition __RPC_FAR * This,
    short choose);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IPlaneTangentToSurfaceDefinition_GetSurface_Proxy( 
    IPlaneTangentToSurfaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ double STDMETHODCALLTYPE IPlaneTangentToSurfaceDefinition_GetAngle_Proxy( 
    IPlaneTangentToSurfaceDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneTangentToSurfaceDefinition_SetAngle_Proxy( 
    IPlaneTangentToSurfaceDefinition __RPC_FAR * This,
    double ang);


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



#endif 	/* __IPlaneTangentToSurfaceDefinition_INTERFACE_DEFINED__ */


#ifndef __IPlaneLineToEdgeDefinition_INTERFACE_DEFINED__
#define __IPlaneLineToEdgeDefinition_INTERFACE_DEFINED__

/* interface IPlaneLineToEdgeDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlaneLineToEdgeDefinition,0x7AA0E540,0x0349,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0349-11D4-A30E-00C026EE094F")
    IPlaneLineToEdgeDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetEdgeFirst( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetEdgeFirst( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetEdgeSecond( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetEdgeSecond( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetParallel( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetParallel( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlaneLineToEdgeDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlaneLineToEdgeDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlaneLineToEdgeDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlaneLineToEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetEdgeFirst )( 
            IPlaneLineToEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetEdgeFirst )( 
            IPlaneLineToEdgeDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetEdgeSecond )( 
            IPlaneLineToEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetEdgeSecond )( 
            IPlaneLineToEdgeDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetParallel )( 
            IPlaneLineToEdgeDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetParallel )( 
            IPlaneLineToEdgeDefinition __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IPlaneLineToEdgeDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IPlaneLineToEdgeDefinitionVtbl;

    interface IPlaneLineToEdgeDefinition
    {
        CONST_VTBL struct IPlaneLineToEdgeDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlaneLineToEdgeDefinition_GetEdgeFirst(This)	\
    (This)->lpVtbl -> GetEdgeFirst(This)

#define IPlaneLineToEdgeDefinition_SetEdgeFirst(This,val)	\
    (This)->lpVtbl -> SetEdgeFirst(This,val)

#define IPlaneLineToEdgeDefinition_GetEdgeSecond(This)	\
    (This)->lpVtbl -> GetEdgeSecond(This)

#define IPlaneLineToEdgeDefinition_SetEdgeSecond(This,val)	\
    (This)->lpVtbl -> SetEdgeSecond(This,val)

#define IPlaneLineToEdgeDefinition_GetParallel(This)	\
    (This)->lpVtbl -> GetParallel(This)

#define IPlaneLineToEdgeDefinition_SetParallel(This,val)	\
    (This)->lpVtbl -> SetParallel(This,val)

#define IPlaneLineToEdgeDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneLineToEdgeDefinition_GetEdgeFirst_Proxy( 
    IPlaneLineToEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneLineToEdgeDefinition_SetEdgeFirst_Proxy( 
    IPlaneLineToEdgeDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneLineToEdgeDefinition_GetEdgeSecond_Proxy( 
    IPlaneLineToEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneLineToEdgeDefinition_SetEdgeSecond_Proxy( 
    IPlaneLineToEdgeDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneLineToEdgeDefinition_GetParallel_Proxy( 
    IPlaneLineToEdgeDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneLineToEdgeDefinition_SetParallel_Proxy( 
    IPlaneLineToEdgeDefinition __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IPlaneLineToEdgeDefinition_GetSurface_Proxy( 
    IPlaneLineToEdgeDefinition __RPC_FAR * This);


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



#endif 	/* __IPlaneLineToEdgeDefinition_INTERFACE_DEFINED__ */


#ifndef __IPlaneLineToPlaneDefinition_INTERFACE_DEFINED__
#define __IPlaneLineToPlaneDefinition_INTERFACE_DEFINED__

/* interface IPlaneLineToPlaneDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlaneLineToPlaneDefinition,0x7AA0E540,0x0350,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0350-11D4-A30E-00C026EE094F")
    IPlaneLineToPlaneDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetEdge( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetEdge( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetParallel( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetParallel( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlaneLineToPlaneDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlaneLineToPlaneDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlaneLineToPlaneDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlaneLineToPlaneDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetEdge )( 
            IPlaneLineToPlaneDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetEdge )( 
            IPlaneLineToPlaneDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            IPlaneLineToPlaneDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IPlaneLineToPlaneDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetParallel )( 
            IPlaneLineToPlaneDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetParallel )( 
            IPlaneLineToPlaneDefinition __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IPlaneLineToPlaneDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IPlaneLineToPlaneDefinitionVtbl;

    interface IPlaneLineToPlaneDefinition
    {
        CONST_VTBL struct IPlaneLineToPlaneDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IPlaneLineToPlaneDefinition_GetEdge(This)	\
    (This)->lpVtbl -> GetEdge(This)

#define IPlaneLineToPlaneDefinition_SetEdge(This,val)	\
    (This)->lpVtbl -> SetEdge(This,val)

#define IPlaneLineToPlaneDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define IPlaneLineToPlaneDefinition_SetPlane(This,val)	\
    (This)->lpVtbl -> SetPlane(This,val)

#define IPlaneLineToPlaneDefinition_GetParallel(This)	\
    (This)->lpVtbl -> GetParallel(This)

#define IPlaneLineToPlaneDefinition_SetParallel(This,val)	\
    (This)->lpVtbl -> SetParallel(This,val)

#define IPlaneLineToPlaneDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneLineToPlaneDefinition_GetEdge_Proxy( 
    IPlaneLineToPlaneDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneLineToPlaneDefinition_SetEdge_Proxy( 
    IPlaneLineToPlaneDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneLineToPlaneDefinition_GetPlane_Proxy( 
    IPlaneLineToPlaneDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneLineToPlaneDefinition_SetPlane_Proxy( 
    IPlaneLineToPlaneDefinition __RPC_FAR * This,
    LPENTITY val);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneLineToPlaneDefinition_GetParallel_Proxy( 
    IPlaneLineToPlaneDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneLineToPlaneDefinition_SetParallel_Proxy( 
    IPlaneLineToPlaneDefinition __RPC_FAR * This,
    BOOL val);


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


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IPlaneLineToPlaneDefinition_GetSurface_Proxy( 
    IPlaneLineToPlaneDefinition __RPC_FAR * This);


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



#endif 	/* __IPlaneLineToPlaneDefinition_INTERFACE_DEFINED__ */


#ifndef __IBaseExtrusionDefinition_INTERFACE_DEFINED__
#define __IBaseExtrusionDefinition_INTERFACE_DEFINED__

/* interface IBaseExtrusionDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IBaseExtrusionDefinition,0x7AA0E540,0x0355,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0355-11D4-A30E-00C026EE094F")
    IBaseExtrusionDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY name) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSideParam( 
            BOOL forward,
            BYTE __RPC_FAR *type,
            double __RPC_FAR *depth,
            double __RPC_FAR *draftValue,
            BOOL __RPC_FAR *draftOutward) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetSideParam( 
            BOOL forward,
            BYTE type,
            double depth,
            double draftValue,
            BOOL draftOutward) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirectionType( 
            long dirType) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetDirectionType( void) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ LPEXTRUSIONPARAM STDMETHODCALLTYPE ExtrusionParam( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetDepthObject( 
            BOOL normal) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDepthObject( 
            BOOL normal,
            LPENTITY obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE ResetDepthObject( 
            BOOL normal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBaseExtrusionDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBaseExtrusionDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBaseExtrusionDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBaseExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            IBaseExtrusionDefinition __RPC_FAR * This,
            LPENTITY name);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            IBaseExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSideParam )( 
            IBaseExtrusionDefinition __RPC_FAR * This,
            BOOL forward,
            BYTE __RPC_FAR *type,
            double __RPC_FAR *depth,
            double __RPC_FAR *draftValue,
            BOOL __RPC_FAR *draftOutward);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetSideParam )( 
            IBaseExtrusionDefinition __RPC_FAR * This,
            BOOL forward,
            BYTE type,
            double depth,
            double draftValue,
            BOOL draftOutward);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            IBaseExtrusionDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            IBaseExtrusionDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirectionType )( 
            IBaseExtrusionDefinition __RPC_FAR * This,
            long dirType);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetDirectionType )( 
            IBaseExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            IBaseExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPEXTRUSIONPARAM ( STDMETHODCALLTYPE __RPC_FAR *ExtrusionParam )( 
            IBaseExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetDepthObject )( 
            IBaseExtrusionDefinition __RPC_FAR * This,
            BOOL normal);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDepthObject )( 
            IBaseExtrusionDefinition __RPC_FAR * This,
            BOOL normal,
            LPENTITY obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *ResetDepthObject )( 
            IBaseExtrusionDefinition __RPC_FAR * This,
            BOOL normal);
        
        END_INTERFACE
    } IBaseExtrusionDefinitionVtbl;

    interface IBaseExtrusionDefinition
    {
        CONST_VTBL struct IBaseExtrusionDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IBaseExtrusionDefinition_SetSketch(This,name)	\
    (This)->lpVtbl -> SetSketch(This,name)

#define IBaseExtrusionDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define IBaseExtrusionDefinition_GetSideParam(This,forward,type,depth,draftValue,draftOutward)	\
    (This)->lpVtbl -> GetSideParam(This,forward,type,depth,draftValue,draftOutward)

#define IBaseExtrusionDefinition_SetSideParam(This,forward,type,depth,draftValue,draftOutward)	\
    (This)->lpVtbl -> SetSideParam(This,forward,type,depth,draftValue,draftOutward)

#define IBaseExtrusionDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBaseExtrusionDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBaseExtrusionDefinition_SetDirectionType(This,dirType)	\
    (This)->lpVtbl -> SetDirectionType(This,dirType)

#define IBaseExtrusionDefinition_GetDirectionType(This)	\
    (This)->lpVtbl -> GetDirectionType(This)

#define IBaseExtrusionDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define IBaseExtrusionDefinition_ExtrusionParam(This)	\
    (This)->lpVtbl -> ExtrusionParam(This)

#define IBaseExtrusionDefinition_GetDepthObject(This,normal)	\
    (This)->lpVtbl -> GetDepthObject(This,normal)

#define IBaseExtrusionDefinition_SetDepthObject(This,normal,obj)	\
    (This)->lpVtbl -> SetDepthObject(This,normal,obj)

#define IBaseExtrusionDefinition_ResetDepthObject(This,normal)	\
    (This)->lpVtbl -> ResetDepthObject(This,normal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseExtrusionDefinition_SetSketch_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This,
    LPENTITY name);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IBaseExtrusionDefinition_GetSketch_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseExtrusionDefinition_GetSideParam_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This,
    BOOL forward,
    BYTE __RPC_FAR *type,
    double __RPC_FAR *depth,
    double __RPC_FAR *draftValue,
    BOOL __RPC_FAR *draftOutward);


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


/* [helpstring] */ void STDMETHODCALLTYPE IBaseExtrusionDefinition_SetSideParam_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This,
    BOOL forward,
    BYTE type,
    double depth,
    double draftValue,
    BOOL draftOutward);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseExtrusionDefinition_GetThinParam_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


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


/* [helpstring] */ void STDMETHODCALLTYPE IBaseExtrusionDefinition_SetThinParam_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseExtrusionDefinition_SetDirectionType_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This,
    long dirType);


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


/* [helpstring] */ long STDMETHODCALLTYPE IBaseExtrusionDefinition_GetDirectionType_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE IBaseExtrusionDefinition_ThinParam_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPEXTRUSIONPARAM STDMETHODCALLTYPE IBaseExtrusionDefinition_ExtrusionParam_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IBaseExtrusionDefinition_GetDepthObject_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This,
    BOOL normal);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseExtrusionDefinition_SetDepthObject_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This,
    BOOL normal,
    LPENTITY obj);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseExtrusionDefinition_ResetDepthObject_Proxy( 
    IBaseExtrusionDefinition __RPC_FAR * This,
    BOOL normal);


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



#endif 	/* __IBaseExtrusionDefinition_INTERFACE_DEFINED__ */


#ifndef __IBossExtrusionDefinition_INTERFACE_DEFINED__
#define __IBossExtrusionDefinition_INTERFACE_DEFINED__

/* interface IBossExtrusionDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IBossExtrusionDefinition,0x7AA0E540,0x0356,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0356-11D4-A30E-00C026EE094F")
    IBossExtrusionDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY name) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSideParam( 
            BOOL forward,
            BYTE __RPC_FAR *type,
            double __RPC_FAR *depth,
            double __RPC_FAR *draftValue,
            BOOL __RPC_FAR *draftOutward) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetSideParam( 
            BOOL forward,
            BYTE type,
            double depth,
            double depthToObj,
            BOOL draftOutward) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirectionType( 
            long dirType) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetDirectionType( void) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ LPEXTRUSIONPARAM STDMETHODCALLTYPE ExtrusionParam( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetDepthObject( 
            BOOL normal) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDepthObject( 
            BOOL normal,
            LPENTITY obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE ResetDepthObject( 
            BOOL normal) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ChooseBodies( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBossExtrusionDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBossExtrusionDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBossExtrusionDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBossExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            IBossExtrusionDefinition __RPC_FAR * This,
            LPENTITY name);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            IBossExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSideParam )( 
            IBossExtrusionDefinition __RPC_FAR * This,
            BOOL forward,
            BYTE __RPC_FAR *type,
            double __RPC_FAR *depth,
            double __RPC_FAR *draftValue,
            BOOL __RPC_FAR *draftOutward);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetSideParam )( 
            IBossExtrusionDefinition __RPC_FAR * This,
            BOOL forward,
            BYTE type,
            double depth,
            double depthToObj,
            BOOL draftOutward);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            IBossExtrusionDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            IBossExtrusionDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirectionType )( 
            IBossExtrusionDefinition __RPC_FAR * This,
            long dirType);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetDirectionType )( 
            IBossExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            IBossExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPEXTRUSIONPARAM ( STDMETHODCALLTYPE __RPC_FAR *ExtrusionParam )( 
            IBossExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetDepthObject )( 
            IBossExtrusionDefinition __RPC_FAR * This,
            BOOL normal);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDepthObject )( 
            IBossExtrusionDefinition __RPC_FAR * This,
            BOOL normal,
            LPENTITY obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *ResetDepthObject )( 
            IBossExtrusionDefinition __RPC_FAR * This,
            BOOL normal);
        
        /* [helpstring] */ LPCHOOSEBODIES ( STDMETHODCALLTYPE __RPC_FAR *ChooseBodies )( 
            IBossExtrusionDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IBossExtrusionDefinitionVtbl;

    interface IBossExtrusionDefinition
    {
        CONST_VTBL struct IBossExtrusionDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IBossExtrusionDefinition_SetSketch(This,name)	\
    (This)->lpVtbl -> SetSketch(This,name)

#define IBossExtrusionDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define IBossExtrusionDefinition_GetSideParam(This,forward,type,depth,draftValue,draftOutward)	\
    (This)->lpVtbl -> GetSideParam(This,forward,type,depth,draftValue,draftOutward)

#define IBossExtrusionDefinition_SetSideParam(This,forward,type,depth,depthToObj,draftOutward)	\
    (This)->lpVtbl -> SetSideParam(This,forward,type,depth,depthToObj,draftOutward)

#define IBossExtrusionDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBossExtrusionDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBossExtrusionDefinition_SetDirectionType(This,dirType)	\
    (This)->lpVtbl -> SetDirectionType(This,dirType)

#define IBossExtrusionDefinition_GetDirectionType(This)	\
    (This)->lpVtbl -> GetDirectionType(This)

#define IBossExtrusionDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define IBossExtrusionDefinition_ExtrusionParam(This)	\
    (This)->lpVtbl -> ExtrusionParam(This)

#define IBossExtrusionDefinition_GetDepthObject(This,normal)	\
    (This)->lpVtbl -> GetDepthObject(This,normal)

#define IBossExtrusionDefinition_SetDepthObject(This,normal,obj)	\
    (This)->lpVtbl -> SetDepthObject(This,normal,obj)

#define IBossExtrusionDefinition_ResetDepthObject(This,normal)	\
    (This)->lpVtbl -> ResetDepthObject(This,normal)

#define IBossExtrusionDefinition_ChooseBodies(This)	\
    (This)->lpVtbl -> ChooseBodies(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossExtrusionDefinition_SetSketch_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This,
    LPENTITY name);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IBossExtrusionDefinition_GetSketch_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossExtrusionDefinition_GetSideParam_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This,
    BOOL forward,
    BYTE __RPC_FAR *type,
    double __RPC_FAR *depth,
    double __RPC_FAR *draftValue,
    BOOL __RPC_FAR *draftOutward);


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


/* [helpstring] */ void STDMETHODCALLTYPE IBossExtrusionDefinition_SetSideParam_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This,
    BOOL forward,
    BYTE type,
    double depth,
    double depthToObj,
    BOOL draftOutward);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossExtrusionDefinition_GetThinParam_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


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


/* [helpstring] */ void STDMETHODCALLTYPE IBossExtrusionDefinition_SetThinParam_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossExtrusionDefinition_SetDirectionType_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This,
    long dirType);


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


/* [helpstring] */ long STDMETHODCALLTYPE IBossExtrusionDefinition_GetDirectionType_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE IBossExtrusionDefinition_ThinParam_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPEXTRUSIONPARAM STDMETHODCALLTYPE IBossExtrusionDefinition_ExtrusionParam_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IBossExtrusionDefinition_GetDepthObject_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This,
    BOOL normal);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossExtrusionDefinition_SetDepthObject_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This,
    BOOL normal,
    LPENTITY obj);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossExtrusionDefinition_ResetDepthObject_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This,
    BOOL normal);


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


/* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE IBossExtrusionDefinition_ChooseBodies_Proxy( 
    IBossExtrusionDefinition __RPC_FAR * This);


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



#endif 	/* __IBossExtrusionDefinition_INTERFACE_DEFINED__ */


#ifndef __ICutExtrusionDefinition_INTERFACE_DEFINED__
#define __ICutExtrusionDefinition_INTERFACE_DEFINED__

/* interface ICutExtrusionDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICutExtrusionDefinition,0x7AA0E540,0x0357,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0357-11D4-A30E-00C026EE094F")
    ICutExtrusionDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY name) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSideParam( 
            BOOL forward,
            BYTE __RPC_FAR *type,
            double __RPC_FAR *depth,
            double __RPC_FAR *draftValue,
            BOOL __RPC_FAR *draftOutward) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetSideParam( 
            BOOL forward,
            BYTE type,
            double depth,
            double depthToObj,
            BOOL draftOutward) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirectionType( 
            long dirType) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetDirectionType( void) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ LPEXTRUSIONPARAM STDMETHODCALLTYPE ExtrusionParam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetCut( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCut( 
            BOOL cut) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetDepthObject( 
            BOOL normal) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDepthObject( 
            BOOL normal,
            LPENTITY obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE ResetDepthObject( 
            BOOL normal) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ChooseBodies( void) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ChooseParts( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetChooseType( 
            long val) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetChooseType( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICutExtrusionDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICutExtrusionDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICutExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            LPENTITY name);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            ICutExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSideParam )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            BOOL forward,
            BYTE __RPC_FAR *type,
            double __RPC_FAR *depth,
            double __RPC_FAR *draftValue,
            BOOL __RPC_FAR *draftOutward);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetSideParam )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            BOOL forward,
            BYTE type,
            double depth,
            double depthToObj,
            BOOL draftOutward);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirectionType )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            long dirType);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetDirectionType )( 
            ICutExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            ICutExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPEXTRUSIONPARAM ( STDMETHODCALLTYPE __RPC_FAR *ExtrusionParam )( 
            ICutExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetCut )( 
            ICutExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCut )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            BOOL cut);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetDepthObject )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            BOOL normal);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDepthObject )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            BOOL normal,
            LPENTITY obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *ResetDepthObject )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            BOOL normal);
        
        /* [helpstring] */ LPCHOOSEBODIES ( STDMETHODCALLTYPE __RPC_FAR *ChooseBodies )( 
            ICutExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPCHOOSEPARTS ( STDMETHODCALLTYPE __RPC_FAR *ChooseParts )( 
            ICutExtrusionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetChooseType )( 
            ICutExtrusionDefinition __RPC_FAR * This,
            long val);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetChooseType )( 
            ICutExtrusionDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } ICutExtrusionDefinitionVtbl;

    interface ICutExtrusionDefinition
    {
        CONST_VTBL struct ICutExtrusionDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICutExtrusionDefinition_SetSketch(This,name)	\
    (This)->lpVtbl -> SetSketch(This,name)

#define ICutExtrusionDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define ICutExtrusionDefinition_GetSideParam(This,forward,type,depth,draftValue,draftOutward)	\
    (This)->lpVtbl -> GetSideParam(This,forward,type,depth,draftValue,draftOutward)

#define ICutExtrusionDefinition_SetSideParam(This,forward,type,depth,depthToObj,draftOutward)	\
    (This)->lpVtbl -> SetSideParam(This,forward,type,depth,depthToObj,draftOutward)

#define ICutExtrusionDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define ICutExtrusionDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define ICutExtrusionDefinition_SetDirectionType(This,dirType)	\
    (This)->lpVtbl -> SetDirectionType(This,dirType)

#define ICutExtrusionDefinition_GetDirectionType(This)	\
    (This)->lpVtbl -> GetDirectionType(This)

#define ICutExtrusionDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define ICutExtrusionDefinition_ExtrusionParam(This)	\
    (This)->lpVtbl -> ExtrusionParam(This)

#define ICutExtrusionDefinition_GetCut(This)	\
    (This)->lpVtbl -> GetCut(This)

#define ICutExtrusionDefinition_SetCut(This,cut)	\
    (This)->lpVtbl -> SetCut(This,cut)

#define ICutExtrusionDefinition_GetDepthObject(This,normal)	\
    (This)->lpVtbl -> GetDepthObject(This,normal)

#define ICutExtrusionDefinition_SetDepthObject(This,normal,obj)	\
    (This)->lpVtbl -> SetDepthObject(This,normal,obj)

#define ICutExtrusionDefinition_ResetDepthObject(This,normal)	\
    (This)->lpVtbl -> ResetDepthObject(This,normal)

#define ICutExtrusionDefinition_ChooseBodies(This)	\
    (This)->lpVtbl -> ChooseBodies(This)

#define ICutExtrusionDefinition_ChooseParts(This)	\
    (This)->lpVtbl -> ChooseParts(This)

#define ICutExtrusionDefinition_SetChooseType(This,val)	\
    (This)->lpVtbl -> SetChooseType(This,val)

#define ICutExtrusionDefinition_GetChooseType(This)	\
    (This)->lpVtbl -> GetChooseType(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutExtrusionDefinition_SetSketch_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This,
    LPENTITY name);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICutExtrusionDefinition_GetSketch_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutExtrusionDefinition_GetSideParam_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This,
    BOOL forward,
    BYTE __RPC_FAR *type,
    double __RPC_FAR *depth,
    double __RPC_FAR *draftValue,
    BOOL __RPC_FAR *draftOutward);


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


/* [helpstring] */ void STDMETHODCALLTYPE ICutExtrusionDefinition_SetSideParam_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This,
    BOOL forward,
    BYTE type,
    double depth,
    double depthToObj,
    BOOL draftOutward);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutExtrusionDefinition_GetThinParam_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


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


/* [helpstring] */ void STDMETHODCALLTYPE ICutExtrusionDefinition_SetThinParam_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutExtrusionDefinition_SetDirectionType_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This,
    long dirType);


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


/* [helpstring] */ long STDMETHODCALLTYPE ICutExtrusionDefinition_GetDirectionType_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ICutExtrusionDefinition_ThinParam_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPEXTRUSIONPARAM STDMETHODCALLTYPE ICutExtrusionDefinition_ExtrusionParam_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutExtrusionDefinition_GetCut_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutExtrusionDefinition_SetCut_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This,
    BOOL cut);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICutExtrusionDefinition_GetDepthObject_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This,
    BOOL normal);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutExtrusionDefinition_SetDepthObject_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This,
    BOOL normal,
    LPENTITY obj);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutExtrusionDefinition_ResetDepthObject_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This,
    BOOL normal);


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


/* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ICutExtrusionDefinition_ChooseBodies_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ICutExtrusionDefinition_ChooseParts_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutExtrusionDefinition_SetChooseType_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This,
    long val);


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


/* [helpstring] */ long STDMETHODCALLTYPE ICutExtrusionDefinition_GetChooseType_Proxy( 
    ICutExtrusionDefinition __RPC_FAR * This);


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



#endif 	/* __ICutExtrusionDefinition_INTERFACE_DEFINED__ */


#ifndef __IBaseRotatedDefinition_INTERFACE_DEFINED__
#define __IBaseRotatedDefinition_INTERFACE_DEFINED__

/* interface IBaseRotatedDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IBaseRotatedDefinition,0x7AA0E540,0x0358,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0358-11D4-A30E-00C026EE094F")
    IBaseRotatedDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY name) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSideParam( 
            BOOL forward,
            double __RPC_FAR *angle) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetSideParam( 
            BOOL forward,
            double angle) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirectionType( 
            long dirType) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetDirectionType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetToroidShapeType( 
            BOOL dirType) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetToroidShapeType( void) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ LPROTATEDPARAM STDMETHODCALLTYPE RotatedParam( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBaseRotatedDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBaseRotatedDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBaseRotatedDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBaseRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            IBaseRotatedDefinition __RPC_FAR * This,
            LPENTITY name);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            IBaseRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSideParam )( 
            IBaseRotatedDefinition __RPC_FAR * This,
            BOOL forward,
            double __RPC_FAR *angle);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetSideParam )( 
            IBaseRotatedDefinition __RPC_FAR * This,
            BOOL forward,
            double angle);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            IBaseRotatedDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            IBaseRotatedDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirectionType )( 
            IBaseRotatedDefinition __RPC_FAR * This,
            long dirType);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetDirectionType )( 
            IBaseRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetToroidShapeType )( 
            IBaseRotatedDefinition __RPC_FAR * This,
            BOOL dirType);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetToroidShapeType )( 
            IBaseRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            IBaseRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPROTATEDPARAM ( STDMETHODCALLTYPE __RPC_FAR *RotatedParam )( 
            IBaseRotatedDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IBaseRotatedDefinitionVtbl;

    interface IBaseRotatedDefinition
    {
        CONST_VTBL struct IBaseRotatedDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IBaseRotatedDefinition_SetSketch(This,name)	\
    (This)->lpVtbl -> SetSketch(This,name)

#define IBaseRotatedDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define IBaseRotatedDefinition_GetSideParam(This,forward,angle)	\
    (This)->lpVtbl -> GetSideParam(This,forward,angle)

#define IBaseRotatedDefinition_SetSideParam(This,forward,angle)	\
    (This)->lpVtbl -> SetSideParam(This,forward,angle)

#define IBaseRotatedDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBaseRotatedDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBaseRotatedDefinition_SetDirectionType(This,dirType)	\
    (This)->lpVtbl -> SetDirectionType(This,dirType)

#define IBaseRotatedDefinition_GetDirectionType(This)	\
    (This)->lpVtbl -> GetDirectionType(This)

#define IBaseRotatedDefinition_SetToroidShapeType(This,dirType)	\
    (This)->lpVtbl -> SetToroidShapeType(This,dirType)

#define IBaseRotatedDefinition_GetToroidShapeType(This)	\
    (This)->lpVtbl -> GetToroidShapeType(This)

#define IBaseRotatedDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define IBaseRotatedDefinition_RotatedParam(This)	\
    (This)->lpVtbl -> RotatedParam(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseRotatedDefinition_SetSketch_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This,
    LPENTITY name);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IBaseRotatedDefinition_GetSketch_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseRotatedDefinition_GetSideParam_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This,
    BOOL forward,
    double __RPC_FAR *angle);


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


/* [helpstring] */ void STDMETHODCALLTYPE IBaseRotatedDefinition_SetSideParam_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This,
    BOOL forward,
    double angle);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseRotatedDefinition_GetThinParam_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


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


/* [helpstring] */ void STDMETHODCALLTYPE IBaseRotatedDefinition_SetThinParam_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseRotatedDefinition_SetDirectionType_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This,
    long dirType);


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


/* [helpstring] */ long STDMETHODCALLTYPE IBaseRotatedDefinition_GetDirectionType_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseRotatedDefinition_SetToroidShapeType_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This,
    BOOL dirType);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseRotatedDefinition_GetToroidShapeType_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE IBaseRotatedDefinition_ThinParam_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPROTATEDPARAM STDMETHODCALLTYPE IBaseRotatedDefinition_RotatedParam_Proxy( 
    IBaseRotatedDefinition __RPC_FAR * This);


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



#endif 	/* __IBaseRotatedDefinition_INTERFACE_DEFINED__ */


#ifndef __IBossRotatedDefinition_INTERFACE_DEFINED__
#define __IBossRotatedDefinition_INTERFACE_DEFINED__

/* interface IBossRotatedDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IBossRotatedDefinition,0x7AA0E540,0x0359,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0359-11D4-A30E-00C026EE094F")
    IBossRotatedDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY name) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSideParam( 
            BOOL forward,
            double __RPC_FAR *angle) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetSideParam( 
            BOOL forward,
            double angle) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirectionType( 
            long dirType) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetDirectionType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetToroidShapeType( 
            BOOL dirType) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetToroidShapeType( void) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ LPROTATEDPARAM STDMETHODCALLTYPE RotatedParam( void) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ChooseBodies( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBossRotatedDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBossRotatedDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBossRotatedDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBossRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            IBossRotatedDefinition __RPC_FAR * This,
            LPENTITY name);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            IBossRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSideParam )( 
            IBossRotatedDefinition __RPC_FAR * This,
            BOOL forward,
            double __RPC_FAR *angle);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetSideParam )( 
            IBossRotatedDefinition __RPC_FAR * This,
            BOOL forward,
            double angle);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            IBossRotatedDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            IBossRotatedDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirectionType )( 
            IBossRotatedDefinition __RPC_FAR * This,
            long dirType);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetDirectionType )( 
            IBossRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetToroidShapeType )( 
            IBossRotatedDefinition __RPC_FAR * This,
            BOOL dirType);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetToroidShapeType )( 
            IBossRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            IBossRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPROTATEDPARAM ( STDMETHODCALLTYPE __RPC_FAR *RotatedParam )( 
            IBossRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPCHOOSEBODIES ( STDMETHODCALLTYPE __RPC_FAR *ChooseBodies )( 
            IBossRotatedDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IBossRotatedDefinitionVtbl;

    interface IBossRotatedDefinition
    {
        CONST_VTBL struct IBossRotatedDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IBossRotatedDefinition_SetSketch(This,name)	\
    (This)->lpVtbl -> SetSketch(This,name)

#define IBossRotatedDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define IBossRotatedDefinition_GetSideParam(This,forward,angle)	\
    (This)->lpVtbl -> GetSideParam(This,forward,angle)

#define IBossRotatedDefinition_SetSideParam(This,forward,angle)	\
    (This)->lpVtbl -> SetSideParam(This,forward,angle)

#define IBossRotatedDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBossRotatedDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBossRotatedDefinition_SetDirectionType(This,dirType)	\
    (This)->lpVtbl -> SetDirectionType(This,dirType)

#define IBossRotatedDefinition_GetDirectionType(This)	\
    (This)->lpVtbl -> GetDirectionType(This)

#define IBossRotatedDefinition_SetToroidShapeType(This,dirType)	\
    (This)->lpVtbl -> SetToroidShapeType(This,dirType)

#define IBossRotatedDefinition_GetToroidShapeType(This)	\
    (This)->lpVtbl -> GetToroidShapeType(This)

#define IBossRotatedDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define IBossRotatedDefinition_RotatedParam(This)	\
    (This)->lpVtbl -> RotatedParam(This)

#define IBossRotatedDefinition_ChooseBodies(This)	\
    (This)->lpVtbl -> ChooseBodies(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossRotatedDefinition_SetSketch_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This,
    LPENTITY name);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IBossRotatedDefinition_GetSketch_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossRotatedDefinition_GetSideParam_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This,
    BOOL forward,
    double __RPC_FAR *angle);


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


/* [helpstring] */ void STDMETHODCALLTYPE IBossRotatedDefinition_SetSideParam_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This,
    BOOL forward,
    double angle);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossRotatedDefinition_GetThinParam_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


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


/* [helpstring] */ void STDMETHODCALLTYPE IBossRotatedDefinition_SetThinParam_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossRotatedDefinition_SetDirectionType_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This,
    long dirType);


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


/* [helpstring] */ long STDMETHODCALLTYPE IBossRotatedDefinition_GetDirectionType_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossRotatedDefinition_SetToroidShapeType_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This,
    BOOL dirType);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossRotatedDefinition_GetToroidShapeType_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE IBossRotatedDefinition_ThinParam_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPROTATEDPARAM STDMETHODCALLTYPE IBossRotatedDefinition_RotatedParam_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This);


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


/* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE IBossRotatedDefinition_ChooseBodies_Proxy( 
    IBossRotatedDefinition __RPC_FAR * This);


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



#endif 	/* __IBossRotatedDefinition_INTERFACE_DEFINED__ */


#ifndef __ICutRotatedDefinition_INTERFACE_DEFINED__
#define __ICutRotatedDefinition_INTERFACE_DEFINED__

/* interface ICutRotatedDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICutRotatedDefinition,0x7AA0E540,0x0360,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0360-11D4-A30E-00C026EE094F")
    ICutRotatedDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY name) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSideParam( 
            BOOL forward,
            double __RPC_FAR *angle) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetSideParam( 
            BOOL forward,
            double angle) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirectionType( 
            long dirType) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetDirectionType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetToroidShapeType( 
            BOOL dirType) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetToroidShapeType( void) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ LPROTATEDPARAM STDMETHODCALLTYPE RotatedParam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetCut( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCut( 
            BOOL cut) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ChooseBodies( void) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ChooseParts( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetChooseType( 
            long val) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetChooseType( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICutRotatedDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICutRotatedDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICutRotatedDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICutRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            ICutRotatedDefinition __RPC_FAR * This,
            LPENTITY name);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            ICutRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSideParam )( 
            ICutRotatedDefinition __RPC_FAR * This,
            BOOL forward,
            double __RPC_FAR *angle);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetSideParam )( 
            ICutRotatedDefinition __RPC_FAR * This,
            BOOL forward,
            double angle);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            ICutRotatedDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            ICutRotatedDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirectionType )( 
            ICutRotatedDefinition __RPC_FAR * This,
            long dirType);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetDirectionType )( 
            ICutRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetToroidShapeType )( 
            ICutRotatedDefinition __RPC_FAR * This,
            BOOL dirType);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetToroidShapeType )( 
            ICutRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            ICutRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPROTATEDPARAM ( STDMETHODCALLTYPE __RPC_FAR *RotatedParam )( 
            ICutRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetCut )( 
            ICutRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCut )( 
            ICutRotatedDefinition __RPC_FAR * This,
            BOOL cut);
        
        /* [helpstring] */ LPCHOOSEBODIES ( STDMETHODCALLTYPE __RPC_FAR *ChooseBodies )( 
            ICutRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPCHOOSEPARTS ( STDMETHODCALLTYPE __RPC_FAR *ChooseParts )( 
            ICutRotatedDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetChooseType )( 
            ICutRotatedDefinition __RPC_FAR * This,
            long val);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetChooseType )( 
            ICutRotatedDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } ICutRotatedDefinitionVtbl;

    interface ICutRotatedDefinition
    {
        CONST_VTBL struct ICutRotatedDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define ICutRotatedDefinition_SetSketch(This,name)	\
    (This)->lpVtbl -> SetSketch(This,name)

#define ICutRotatedDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define ICutRotatedDefinition_GetSideParam(This,forward,angle)	\
    (This)->lpVtbl -> GetSideParam(This,forward,angle)

#define ICutRotatedDefinition_SetSideParam(This,forward,angle)	\
    (This)->lpVtbl -> SetSideParam(This,forward,angle)

#define ICutRotatedDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define ICutRotatedDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define ICutRotatedDefinition_SetDirectionType(This,dirType)	\
    (This)->lpVtbl -> SetDirectionType(This,dirType)

#define ICutRotatedDefinition_GetDirectionType(This)	\
    (This)->lpVtbl -> GetDirectionType(This)

#define ICutRotatedDefinition_SetToroidShapeType(This,dirType)	\
    (This)->lpVtbl -> SetToroidShapeType(This,dirType)

#define ICutRotatedDefinition_GetToroidShapeType(This)	\
    (This)->lpVtbl -> GetToroidShapeType(This)

#define ICutRotatedDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define ICutRotatedDefinition_RotatedParam(This)	\
    (This)->lpVtbl -> RotatedParam(This)

#define ICutRotatedDefinition_GetCut(This)	\
    (This)->lpVtbl -> GetCut(This)

#define ICutRotatedDefinition_SetCut(This,cut)	\
    (This)->lpVtbl -> SetCut(This,cut)

#define ICutRotatedDefinition_ChooseBodies(This)	\
    (This)->lpVtbl -> ChooseBodies(This)

#define ICutRotatedDefinition_ChooseParts(This)	\
    (This)->lpVtbl -> ChooseParts(This)

#define ICutRotatedDefinition_SetChooseType(This,val)	\
    (This)->lpVtbl -> SetChooseType(This,val)

#define ICutRotatedDefinition_GetChooseType(This)	\
    (This)->lpVtbl -> GetChooseType(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutRotatedDefinition_SetSketch_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This,
    LPENTITY name);


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


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICutRotatedDefinition_GetSketch_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutRotatedDefinition_GetSideParam_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This,
    BOOL forward,
    double __RPC_FAR *angle);


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


/* [helpstring] */ void STDMETHODCALLTYPE ICutRotatedDefinition_SetSideParam_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This,
    BOOL forward,
    double angle);


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


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutRotatedDefinition_GetThinParam_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


void __RPC_STUB ICutRotatedDefinition_GetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE ICutRotatedDefinition_SetThinParam_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


void __RPC_STUB ICutRotatedDefinition_SetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutRotatedDefinition_SetDirectionType_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This,
    long dirType);


void __RPC_STUB ICutRotatedDefinition_SetDirectionType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICutRotatedDefinition_GetDirectionType_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This);


void __RPC_STUB ICutRotatedDefinition_GetDirectionType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutRotatedDefinition_SetToroidShapeType_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This,
    BOOL dirType);


void __RPC_STUB ICutRotatedDefinition_SetToroidShapeType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutRotatedDefinition_GetToroidShapeType_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This);


void __RPC_STUB ICutRotatedDefinition_GetToroidShapeType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ICutRotatedDefinition_ThinParam_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This);


void __RPC_STUB ICutRotatedDefinition_ThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPROTATEDPARAM STDMETHODCALLTYPE ICutRotatedDefinition_RotatedParam_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This);


void __RPC_STUB ICutRotatedDefinition_RotatedParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutRotatedDefinition_GetCut_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This);


void __RPC_STUB ICutRotatedDefinition_GetCut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutRotatedDefinition_SetCut_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This,
    BOOL cut);


void __RPC_STUB ICutRotatedDefinition_SetCut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ICutRotatedDefinition_ChooseBodies_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This);


void __RPC_STUB ICutRotatedDefinition_ChooseBodies_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ICutRotatedDefinition_ChooseParts_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This);


void __RPC_STUB ICutRotatedDefinition_ChooseParts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutRotatedDefinition_SetChooseType_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This,
    long val);


void __RPC_STUB ICutRotatedDefinition_SetChooseType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICutRotatedDefinition_GetChooseType_Proxy( 
    ICutRotatedDefinition __RPC_FAR * This);


void __RPC_STUB ICutRotatedDefinition_GetChooseType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICutRotatedDefinition_INTERFACE_DEFINED__ */


#ifndef __IBaseLoftDefinition_INTERFACE_DEFINED__
#define __IBaseLoftDefinition_INTERFACE_DEFINED__

/* interface IBaseLoftDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IBaseLoftDefinition,0x7AA0E540,0x0361,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0361-11D4-A30E-00C026EE094F")
    IBaseLoftDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetLoftParam( 
            BOOL __RPC_FAR *closed,
            BOOL __RPC_FAR *flipVertex,
            BOOL __RPC_FAR *autoPath) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetLoftParam( 
            BOOL closed,
            BOOL flipVertex,
            BOOL autoPath) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE Sketchs( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBaseLoftDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBaseLoftDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBaseLoftDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBaseLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetLoftParam )( 
            IBaseLoftDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *closed,
            BOOL __RPC_FAR *flipVertex,
            BOOL __RPC_FAR *autoPath);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetLoftParam )( 
            IBaseLoftDefinition __RPC_FAR * This,
            BOOL closed,
            BOOL flipVertex,
            BOOL autoPath);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            IBaseLoftDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            IBaseLoftDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            IBaseLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *Sketchs )( 
            IBaseLoftDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IBaseLoftDefinitionVtbl;

    interface IBaseLoftDefinition
    {
        CONST_VTBL struct IBaseLoftDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IBaseLoftDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IBaseLoftDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IBaseLoftDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IBaseLoftDefinition_GetLoftParam(This,closed,flipVertex,autoPath)	\
    (This)->lpVtbl -> GetLoftParam(This,closed,flipVertex,autoPath)

#define IBaseLoftDefinition_SetLoftParam(This,closed,flipVertex,autoPath)	\
    (This)->lpVtbl -> SetLoftParam(This,closed,flipVertex,autoPath)

#define IBaseLoftDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBaseLoftDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBaseLoftDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define IBaseLoftDefinition_Sketchs(This)	\
    (This)->lpVtbl -> Sketchs(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseLoftDefinition_GetLoftParam_Proxy( 
    IBaseLoftDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *closed,
    BOOL __RPC_FAR *flipVertex,
    BOOL __RPC_FAR *autoPath);


void __RPC_STUB IBaseLoftDefinition_GetLoftParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IBaseLoftDefinition_SetLoftParam_Proxy( 
    IBaseLoftDefinition __RPC_FAR * This,
    BOOL closed,
    BOOL flipVertex,
    BOOL autoPath);


void __RPC_STUB IBaseLoftDefinition_SetLoftParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseLoftDefinition_GetThinParam_Proxy( 
    IBaseLoftDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


void __RPC_STUB IBaseLoftDefinition_GetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IBaseLoftDefinition_SetThinParam_Proxy( 
    IBaseLoftDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


void __RPC_STUB IBaseLoftDefinition_SetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE IBaseLoftDefinition_ThinParam_Proxy( 
    IBaseLoftDefinition __RPC_FAR * This);


void __RPC_STUB IBaseLoftDefinition_ThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IBaseLoftDefinition_Sketchs_Proxy( 
    IBaseLoftDefinition __RPC_FAR * This);


void __RPC_STUB IBaseLoftDefinition_Sketchs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IBaseLoftDefinition_INTERFACE_DEFINED__ */


#ifndef __IBossLoftDefinition_INTERFACE_DEFINED__
#define __IBossLoftDefinition_INTERFACE_DEFINED__

/* interface IBossLoftDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IBossLoftDefinition,0x7AA0E540,0x0362,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0362-11D4-A30E-00C026EE094F")
    IBossLoftDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetLoftParam( 
            BOOL __RPC_FAR *closed,
            BOOL __RPC_FAR *flipVertex,
            BOOL __RPC_FAR *autoPath) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetLoftParam( 
            BOOL closed,
            BOOL flipVertex,
            BOOL autoPath) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE Sketchs( void) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ChooseBodies( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetDirectionalLine( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirectionalLine( 
            LPENTITY sketch) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBossLoftDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBossLoftDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBossLoftDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBossLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetLoftParam )( 
            IBossLoftDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *closed,
            BOOL __RPC_FAR *flipVertex,
            BOOL __RPC_FAR *autoPath);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetLoftParam )( 
            IBossLoftDefinition __RPC_FAR * This,
            BOOL closed,
            BOOL flipVertex,
            BOOL autoPath);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            IBossLoftDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            IBossLoftDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            IBossLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *Sketchs )( 
            IBossLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPCHOOSEBODIES ( STDMETHODCALLTYPE __RPC_FAR *ChooseBodies )( 
            IBossLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetDirectionalLine )( 
            IBossLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirectionalLine )( 
            IBossLoftDefinition __RPC_FAR * This,
            LPENTITY sketch);
        
        END_INTERFACE
    } IBossLoftDefinitionVtbl;

    interface IBossLoftDefinition
    {
        CONST_VTBL struct IBossLoftDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IBossLoftDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IBossLoftDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IBossLoftDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IBossLoftDefinition_GetLoftParam(This,closed,flipVertex,autoPath)	\
    (This)->lpVtbl -> GetLoftParam(This,closed,flipVertex,autoPath)

#define IBossLoftDefinition_SetLoftParam(This,closed,flipVertex,autoPath)	\
    (This)->lpVtbl -> SetLoftParam(This,closed,flipVertex,autoPath)

#define IBossLoftDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBossLoftDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBossLoftDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define IBossLoftDefinition_Sketchs(This)	\
    (This)->lpVtbl -> Sketchs(This)

#define IBossLoftDefinition_ChooseBodies(This)	\
    (This)->lpVtbl -> ChooseBodies(This)

#define IBossLoftDefinition_GetDirectionalLine(This)	\
    (This)->lpVtbl -> GetDirectionalLine(This)

#define IBossLoftDefinition_SetDirectionalLine(This,sketch)	\
    (This)->lpVtbl -> SetDirectionalLine(This,sketch)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossLoftDefinition_GetLoftParam_Proxy( 
    IBossLoftDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *closed,
    BOOL __RPC_FAR *flipVertex,
    BOOL __RPC_FAR *autoPath);


void __RPC_STUB IBossLoftDefinition_GetLoftParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IBossLoftDefinition_SetLoftParam_Proxy( 
    IBossLoftDefinition __RPC_FAR * This,
    BOOL closed,
    BOOL flipVertex,
    BOOL autoPath);


void __RPC_STUB IBossLoftDefinition_SetLoftParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossLoftDefinition_GetThinParam_Proxy( 
    IBossLoftDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


void __RPC_STUB IBossLoftDefinition_GetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IBossLoftDefinition_SetThinParam_Proxy( 
    IBossLoftDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


void __RPC_STUB IBossLoftDefinition_SetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE IBossLoftDefinition_ThinParam_Proxy( 
    IBossLoftDefinition __RPC_FAR * This);


void __RPC_STUB IBossLoftDefinition_ThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IBossLoftDefinition_Sketchs_Proxy( 
    IBossLoftDefinition __RPC_FAR * This);


void __RPC_STUB IBossLoftDefinition_Sketchs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE IBossLoftDefinition_ChooseBodies_Proxy( 
    IBossLoftDefinition __RPC_FAR * This);


void __RPC_STUB IBossLoftDefinition_ChooseBodies_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IBossLoftDefinition_GetDirectionalLine_Proxy( 
    IBossLoftDefinition __RPC_FAR * This);


void __RPC_STUB IBossLoftDefinition_GetDirectionalLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossLoftDefinition_SetDirectionalLine_Proxy( 
    IBossLoftDefinition __RPC_FAR * This,
    LPENTITY sketch);


void __RPC_STUB IBossLoftDefinition_SetDirectionalLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IBossLoftDefinition_INTERFACE_DEFINED__ */


#ifndef __ICutLoftDefinition_INTERFACE_DEFINED__
#define __ICutLoftDefinition_INTERFACE_DEFINED__

/* interface ICutLoftDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICutLoftDefinition,0x7AA0E540,0x0363,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0363-11D4-A30E-00C026EE094F")
    ICutLoftDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetLoftParam( 
            BOOL __RPC_FAR *closed,
            BOOL __RPC_FAR *flipVertex,
            BOOL __RPC_FAR *autoPath) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetLoftParam( 
            BOOL closed,
            BOOL flipVertex,
            BOOL autoPath) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE Sketchs( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetCut( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCut( 
            BOOL cut) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ChooseBodies( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetDirectionalLine( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirectionalLine( 
            LPENTITY sketch) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ChooseParts( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetChooseType( 
            long val) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetChooseType( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICutLoftDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICutLoftDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICutLoftDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICutLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetLoftParam )( 
            ICutLoftDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *closed,
            BOOL __RPC_FAR *flipVertex,
            BOOL __RPC_FAR *autoPath);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetLoftParam )( 
            ICutLoftDefinition __RPC_FAR * This,
            BOOL closed,
            BOOL flipVertex,
            BOOL autoPath);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            ICutLoftDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            ICutLoftDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            ICutLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *Sketchs )( 
            ICutLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetCut )( 
            ICutLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCut )( 
            ICutLoftDefinition __RPC_FAR * This,
            BOOL cut);
        
        /* [helpstring] */ LPCHOOSEBODIES ( STDMETHODCALLTYPE __RPC_FAR *ChooseBodies )( 
            ICutLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetDirectionalLine )( 
            ICutLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirectionalLine )( 
            ICutLoftDefinition __RPC_FAR * This,
            LPENTITY sketch);
        
        /* [helpstring] */ LPCHOOSEPARTS ( STDMETHODCALLTYPE __RPC_FAR *ChooseParts )( 
            ICutLoftDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetChooseType )( 
            ICutLoftDefinition __RPC_FAR * This,
            long val);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetChooseType )( 
            ICutLoftDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } ICutLoftDefinitionVtbl;

    interface ICutLoftDefinition
    {
        CONST_VTBL struct ICutLoftDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICutLoftDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICutLoftDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICutLoftDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICutLoftDefinition_GetLoftParam(This,closed,flipVertex,autoPath)	\
    (This)->lpVtbl -> GetLoftParam(This,closed,flipVertex,autoPath)

#define ICutLoftDefinition_SetLoftParam(This,closed,flipVertex,autoPath)	\
    (This)->lpVtbl -> SetLoftParam(This,closed,flipVertex,autoPath)

#define ICutLoftDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define ICutLoftDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define ICutLoftDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define ICutLoftDefinition_Sketchs(This)	\
    (This)->lpVtbl -> Sketchs(This)

#define ICutLoftDefinition_GetCut(This)	\
    (This)->lpVtbl -> GetCut(This)

#define ICutLoftDefinition_SetCut(This,cut)	\
    (This)->lpVtbl -> SetCut(This,cut)

#define ICutLoftDefinition_ChooseBodies(This)	\
    (This)->lpVtbl -> ChooseBodies(This)

#define ICutLoftDefinition_GetDirectionalLine(This)	\
    (This)->lpVtbl -> GetDirectionalLine(This)

#define ICutLoftDefinition_SetDirectionalLine(This,sketch)	\
    (This)->lpVtbl -> SetDirectionalLine(This,sketch)

#define ICutLoftDefinition_ChooseParts(This)	\
    (This)->lpVtbl -> ChooseParts(This)

#define ICutLoftDefinition_SetChooseType(This,val)	\
    (This)->lpVtbl -> SetChooseType(This,val)

#define ICutLoftDefinition_GetChooseType(This)	\
    (This)->lpVtbl -> GetChooseType(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutLoftDefinition_GetLoftParam_Proxy( 
    ICutLoftDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *closed,
    BOOL __RPC_FAR *flipVertex,
    BOOL __RPC_FAR *autoPath);


void __RPC_STUB ICutLoftDefinition_GetLoftParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE ICutLoftDefinition_SetLoftParam_Proxy( 
    ICutLoftDefinition __RPC_FAR * This,
    BOOL closed,
    BOOL flipVertex,
    BOOL autoPath);


void __RPC_STUB ICutLoftDefinition_SetLoftParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutLoftDefinition_GetThinParam_Proxy( 
    ICutLoftDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


void __RPC_STUB ICutLoftDefinition_GetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE ICutLoftDefinition_SetThinParam_Proxy( 
    ICutLoftDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


void __RPC_STUB ICutLoftDefinition_SetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ICutLoftDefinition_ThinParam_Proxy( 
    ICutLoftDefinition __RPC_FAR * This);


void __RPC_STUB ICutLoftDefinition_ThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE ICutLoftDefinition_Sketchs_Proxy( 
    ICutLoftDefinition __RPC_FAR * This);


void __RPC_STUB ICutLoftDefinition_Sketchs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutLoftDefinition_GetCut_Proxy( 
    ICutLoftDefinition __RPC_FAR * This);


void __RPC_STUB ICutLoftDefinition_GetCut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutLoftDefinition_SetCut_Proxy( 
    ICutLoftDefinition __RPC_FAR * This,
    BOOL cut);


void __RPC_STUB ICutLoftDefinition_SetCut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ICutLoftDefinition_ChooseBodies_Proxy( 
    ICutLoftDefinition __RPC_FAR * This);


void __RPC_STUB ICutLoftDefinition_ChooseBodies_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICutLoftDefinition_GetDirectionalLine_Proxy( 
    ICutLoftDefinition __RPC_FAR * This);


void __RPC_STUB ICutLoftDefinition_GetDirectionalLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutLoftDefinition_SetDirectionalLine_Proxy( 
    ICutLoftDefinition __RPC_FAR * This,
    LPENTITY sketch);


void __RPC_STUB ICutLoftDefinition_SetDirectionalLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ICutLoftDefinition_ChooseParts_Proxy( 
    ICutLoftDefinition __RPC_FAR * This);


void __RPC_STUB ICutLoftDefinition_ChooseParts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutLoftDefinition_SetChooseType_Proxy( 
    ICutLoftDefinition __RPC_FAR * This,
    long val);


void __RPC_STUB ICutLoftDefinition_SetChooseType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICutLoftDefinition_GetChooseType_Proxy( 
    ICutLoftDefinition __RPC_FAR * This);


void __RPC_STUB ICutLoftDefinition_GetChooseType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICutLoftDefinition_INTERFACE_DEFINED__ */


#ifndef __IBaseEvolutionDefinition_INTERFACE_DEFINED__
#define __IBaseEvolutionDefinition_INTERFACE_DEFINED__

/* interface IBaseEvolutionDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IBaseEvolutionDefinition,0x7AA0E540,0x0364,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0364-11D4-A30E-00C026EE094F")
    IBaseEvolutionDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY sketch) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE PathPartArray( void) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetSketchShiftType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketchShiftType( 
            short s) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetPathLength( 
            unsigned int bitVector) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBaseEvolutionDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBaseEvolutionDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBaseEvolutionDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBaseEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            IBaseEvolutionDefinition __RPC_FAR * This,
            LPENTITY sketch);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            IBaseEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PathPartArray )( 
            IBaseEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetSketchShiftType )( 
            IBaseEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketchShiftType )( 
            IBaseEvolutionDefinition __RPC_FAR * This,
            short s);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            IBaseEvolutionDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            IBaseEvolutionDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            IBaseEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetPathLength )( 
            IBaseEvolutionDefinition __RPC_FAR * This,
            unsigned int bitVector);
        
        END_INTERFACE
    } IBaseEvolutionDefinitionVtbl;

    interface IBaseEvolutionDefinition
    {
        CONST_VTBL struct IBaseEvolutionDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IBaseEvolutionDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IBaseEvolutionDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IBaseEvolutionDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IBaseEvolutionDefinition_SetSketch(This,sketch)	\
    (This)->lpVtbl -> SetSketch(This,sketch)

#define IBaseEvolutionDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define IBaseEvolutionDefinition_PathPartArray(This)	\
    (This)->lpVtbl -> PathPartArray(This)

#define IBaseEvolutionDefinition_GetSketchShiftType(This)	\
    (This)->lpVtbl -> GetSketchShiftType(This)

#define IBaseEvolutionDefinition_SetSketchShiftType(This,s)	\
    (This)->lpVtbl -> SetSketchShiftType(This,s)

#define IBaseEvolutionDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBaseEvolutionDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBaseEvolutionDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define IBaseEvolutionDefinition_GetPathLength(This,bitVector)	\
    (This)->lpVtbl -> GetPathLength(This,bitVector)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseEvolutionDefinition_SetSketch_Proxy( 
    IBaseEvolutionDefinition __RPC_FAR * This,
    LPENTITY sketch);


void __RPC_STUB IBaseEvolutionDefinition_SetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IBaseEvolutionDefinition_GetSketch_Proxy( 
    IBaseEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB IBaseEvolutionDefinition_GetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IBaseEvolutionDefinition_PathPartArray_Proxy( 
    IBaseEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB IBaseEvolutionDefinition_PathPartArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ short STDMETHODCALLTYPE IBaseEvolutionDefinition_GetSketchShiftType_Proxy( 
    IBaseEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB IBaseEvolutionDefinition_GetSketchShiftType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseEvolutionDefinition_SetSketchShiftType_Proxy( 
    IBaseEvolutionDefinition __RPC_FAR * This,
    short s);


void __RPC_STUB IBaseEvolutionDefinition_SetSketchShiftType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBaseEvolutionDefinition_GetThinParam_Proxy( 
    IBaseEvolutionDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


void __RPC_STUB IBaseEvolutionDefinition_GetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IBaseEvolutionDefinition_SetThinParam_Proxy( 
    IBaseEvolutionDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


void __RPC_STUB IBaseEvolutionDefinition_SetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE IBaseEvolutionDefinition_ThinParam_Proxy( 
    IBaseEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB IBaseEvolutionDefinition_ThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IBaseEvolutionDefinition_GetPathLength_Proxy( 
    IBaseEvolutionDefinition __RPC_FAR * This,
    unsigned int bitVector);


void __RPC_STUB IBaseEvolutionDefinition_GetPathLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IBaseEvolutionDefinition_INTERFACE_DEFINED__ */


#ifndef __IBossEvolutionDefinition_INTERFACE_DEFINED__
#define __IBossEvolutionDefinition_INTERFACE_DEFINED__

/* interface IBossEvolutionDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IBossEvolutionDefinition,0x7AA0E540,0x0365,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0365-11D4-A30E-00C026EE094F")
    IBossEvolutionDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY sketch) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE PathPartArray( void) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetSketchShiftType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketchShiftType( 
            short sketchShiftType) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ChooseBodies( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetPathLength( 
            unsigned int bitVector) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBossEvolutionDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBossEvolutionDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBossEvolutionDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBossEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            IBossEvolutionDefinition __RPC_FAR * This,
            LPENTITY sketch);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            IBossEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PathPartArray )( 
            IBossEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetSketchShiftType )( 
            IBossEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketchShiftType )( 
            IBossEvolutionDefinition __RPC_FAR * This,
            short sketchShiftType);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            IBossEvolutionDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            IBossEvolutionDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            IBossEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPCHOOSEBODIES ( STDMETHODCALLTYPE __RPC_FAR *ChooseBodies )( 
            IBossEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetPathLength )( 
            IBossEvolutionDefinition __RPC_FAR * This,
            unsigned int bitVector);
        
        END_INTERFACE
    } IBossEvolutionDefinitionVtbl;

    interface IBossEvolutionDefinition
    {
        CONST_VTBL struct IBossEvolutionDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IBossEvolutionDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IBossEvolutionDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IBossEvolutionDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IBossEvolutionDefinition_SetSketch(This,sketch)	\
    (This)->lpVtbl -> SetSketch(This,sketch)

#define IBossEvolutionDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define IBossEvolutionDefinition_PathPartArray(This)	\
    (This)->lpVtbl -> PathPartArray(This)

#define IBossEvolutionDefinition_GetSketchShiftType(This)	\
    (This)->lpVtbl -> GetSketchShiftType(This)

#define IBossEvolutionDefinition_SetSketchShiftType(This,sketchShiftType)	\
    (This)->lpVtbl -> SetSketchShiftType(This,sketchShiftType)

#define IBossEvolutionDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBossEvolutionDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define IBossEvolutionDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define IBossEvolutionDefinition_ChooseBodies(This)	\
    (This)->lpVtbl -> ChooseBodies(This)

#define IBossEvolutionDefinition_GetPathLength(This,bitVector)	\
    (This)->lpVtbl -> GetPathLength(This,bitVector)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossEvolutionDefinition_SetSketch_Proxy( 
    IBossEvolutionDefinition __RPC_FAR * This,
    LPENTITY sketch);


void __RPC_STUB IBossEvolutionDefinition_SetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IBossEvolutionDefinition_GetSketch_Proxy( 
    IBossEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB IBossEvolutionDefinition_GetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IBossEvolutionDefinition_PathPartArray_Proxy( 
    IBossEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB IBossEvolutionDefinition_PathPartArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ short STDMETHODCALLTYPE IBossEvolutionDefinition_GetSketchShiftType_Proxy( 
    IBossEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB IBossEvolutionDefinition_GetSketchShiftType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossEvolutionDefinition_SetSketchShiftType_Proxy( 
    IBossEvolutionDefinition __RPC_FAR * This,
    short sketchShiftType);


void __RPC_STUB IBossEvolutionDefinition_SetSketchShiftType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBossEvolutionDefinition_GetThinParam_Proxy( 
    IBossEvolutionDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


void __RPC_STUB IBossEvolutionDefinition_GetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IBossEvolutionDefinition_SetThinParam_Proxy( 
    IBossEvolutionDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


void __RPC_STUB IBossEvolutionDefinition_SetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE IBossEvolutionDefinition_ThinParam_Proxy( 
    IBossEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB IBossEvolutionDefinition_ThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE IBossEvolutionDefinition_ChooseBodies_Proxy( 
    IBossEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB IBossEvolutionDefinition_ChooseBodies_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IBossEvolutionDefinition_GetPathLength_Proxy( 
    IBossEvolutionDefinition __RPC_FAR * This,
    unsigned int bitVector);


void __RPC_STUB IBossEvolutionDefinition_GetPathLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IBossEvolutionDefinition_INTERFACE_DEFINED__ */


#ifndef __ICutEvolutionDefinition_INTERFACE_DEFINED__
#define __ICutEvolutionDefinition_INTERFACE_DEFINED__

/* interface ICutEvolutionDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICutEvolutionDefinition,0x7AA0E540,0x0366,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0366-11D4-A30E-00C026EE094F")
    ICutEvolutionDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY sketch) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE PathPartArray( void) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetSketchShiftType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketchShiftType( 
            short sketchShiftType) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetCut( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCut( 
            BOOL cut) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ChooseBodies( void) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ChooseParts( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetChooseType( 
            long val) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetChooseType( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetPathLength( 
            unsigned int bitVector) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICutEvolutionDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICutEvolutionDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICutEvolutionDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICutEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            ICutEvolutionDefinition __RPC_FAR * This,
            LPENTITY sketch);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            ICutEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PathPartArray )( 
            ICutEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetSketchShiftType )( 
            ICutEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketchShiftType )( 
            ICutEvolutionDefinition __RPC_FAR * This,
            short sketchShiftType);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetCut )( 
            ICutEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCut )( 
            ICutEvolutionDefinition __RPC_FAR * This,
            BOOL cut);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            ICutEvolutionDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *thin,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            ICutEvolutionDefinition __RPC_FAR * This,
            BOOL thin,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            ICutEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPCHOOSEBODIES ( STDMETHODCALLTYPE __RPC_FAR *ChooseBodies )( 
            ICutEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPCHOOSEPARTS ( STDMETHODCALLTYPE __RPC_FAR *ChooseParts )( 
            ICutEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetChooseType )( 
            ICutEvolutionDefinition __RPC_FAR * This,
            long val);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetChooseType )( 
            ICutEvolutionDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetPathLength )( 
            ICutEvolutionDefinition __RPC_FAR * This,
            unsigned int bitVector);
        
        END_INTERFACE
    } ICutEvolutionDefinitionVtbl;

    interface ICutEvolutionDefinition
    {
        CONST_VTBL struct ICutEvolutionDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICutEvolutionDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICutEvolutionDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICutEvolutionDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICutEvolutionDefinition_SetSketch(This,sketch)	\
    (This)->lpVtbl -> SetSketch(This,sketch)

#define ICutEvolutionDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define ICutEvolutionDefinition_PathPartArray(This)	\
    (This)->lpVtbl -> PathPartArray(This)

#define ICutEvolutionDefinition_GetSketchShiftType(This)	\
    (This)->lpVtbl -> GetSketchShiftType(This)

#define ICutEvolutionDefinition_SetSketchShiftType(This,sketchShiftType)	\
    (This)->lpVtbl -> SetSketchShiftType(This,sketchShiftType)

#define ICutEvolutionDefinition_GetCut(This)	\
    (This)->lpVtbl -> GetCut(This)

#define ICutEvolutionDefinition_SetCut(This,cut)	\
    (This)->lpVtbl -> SetCut(This,cut)

#define ICutEvolutionDefinition_GetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define ICutEvolutionDefinition_SetThinParam(This,thin,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thin,thinType,normalThickness,reverseThickness)

#define ICutEvolutionDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#define ICutEvolutionDefinition_ChooseBodies(This)	\
    (This)->lpVtbl -> ChooseBodies(This)

#define ICutEvolutionDefinition_ChooseParts(This)	\
    (This)->lpVtbl -> ChooseParts(This)

#define ICutEvolutionDefinition_SetChooseType(This,val)	\
    (This)->lpVtbl -> SetChooseType(This,val)

#define ICutEvolutionDefinition_GetChooseType(This)	\
    (This)->lpVtbl -> GetChooseType(This)

#define ICutEvolutionDefinition_GetPathLength(This,bitVector)	\
    (This)->lpVtbl -> GetPathLength(This,bitVector)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutEvolutionDefinition_SetSketch_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This,
    LPENTITY sketch);


void __RPC_STUB ICutEvolutionDefinition_SetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICutEvolutionDefinition_GetSketch_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB ICutEvolutionDefinition_GetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE ICutEvolutionDefinition_PathPartArray_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB ICutEvolutionDefinition_PathPartArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ short STDMETHODCALLTYPE ICutEvolutionDefinition_GetSketchShiftType_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB ICutEvolutionDefinition_GetSketchShiftType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutEvolutionDefinition_SetSketchShiftType_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This,
    short sketchShiftType);


void __RPC_STUB ICutEvolutionDefinition_SetSketchShiftType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutEvolutionDefinition_GetCut_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB ICutEvolutionDefinition_GetCut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutEvolutionDefinition_SetCut_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This,
    BOOL cut);


void __RPC_STUB ICutEvolutionDefinition_SetCut_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutEvolutionDefinition_GetThinParam_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *thin,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


void __RPC_STUB ICutEvolutionDefinition_GetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE ICutEvolutionDefinition_SetThinParam_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This,
    BOOL thin,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


void __RPC_STUB ICutEvolutionDefinition_SetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ICutEvolutionDefinition_ThinParam_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB ICutEvolutionDefinition_ThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ICutEvolutionDefinition_ChooseBodies_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB ICutEvolutionDefinition_ChooseBodies_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ICutEvolutionDefinition_ChooseParts_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB ICutEvolutionDefinition_ChooseParts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutEvolutionDefinition_SetChooseType_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This,
    long val);


void __RPC_STUB ICutEvolutionDefinition_SetChooseType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICutEvolutionDefinition_GetChooseType_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This);


void __RPC_STUB ICutEvolutionDefinition_GetChooseType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICutEvolutionDefinition_GetPathLength_Proxy( 
    ICutEvolutionDefinition __RPC_FAR * This,
    unsigned int bitVector);


void __RPC_STUB ICutEvolutionDefinition_GetPathLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICutEvolutionDefinition_INTERFACE_DEFINED__ */


#ifndef __IFilletDefinition_INTERFACE_DEFINED__
#define __IFilletDefinition_INTERFACE_DEFINED__

/* interface IFilletDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IFilletDefinition,0x7AA0E540,0x0367,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0367-11D4-A30E-00C026EE094F")
    IFilletDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetRadius( void) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetRadius( 
            double radius) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetTangent( void) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetTangent( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE Array( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IFilletDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IFilletDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IFilletDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IFilletDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetRadius )( 
            IFilletDefinition __RPC_FAR * This);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetRadius )( 
            IFilletDefinition __RPC_FAR * This,
            double radius);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetTangent )( 
            IFilletDefinition __RPC_FAR * This);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetTangent )( 
            IFilletDefinition __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *Array )( 
            IFilletDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IFilletDefinitionVtbl;

    interface IFilletDefinition
    {
        CONST_VTBL struct IFilletDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IFilletDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IFilletDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IFilletDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IFilletDefinition_GetRadius(This)	\
    (This)->lpVtbl -> GetRadius(This)

#define IFilletDefinition_SetRadius(This,radius)	\
    (This)->lpVtbl -> SetRadius(This,radius)

#define IFilletDefinition_GetTangent(This)	\
    (This)->lpVtbl -> GetTangent(This)

#define IFilletDefinition_SetTangent(This,val)	\
    (This)->lpVtbl -> SetTangent(This,val)

#define IFilletDefinition_Array(This)	\
    (This)->lpVtbl -> Array(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ double STDMETHODCALLTYPE IFilletDefinition_GetRadius_Proxy( 
    IFilletDefinition __RPC_FAR * This);


void __RPC_STUB IFilletDefinition_GetRadius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IFilletDefinition_SetRadius_Proxy( 
    IFilletDefinition __RPC_FAR * This,
    double radius);


void __RPC_STUB IFilletDefinition_SetRadius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFilletDefinition_GetTangent_Proxy( 
    IFilletDefinition __RPC_FAR * This);


void __RPC_STUB IFilletDefinition_GetTangent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IFilletDefinition_SetTangent_Proxy( 
    IFilletDefinition __RPC_FAR * This,
    BOOL val);


void __RPC_STUB IFilletDefinition_SetTangent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IFilletDefinition_Array_Proxy( 
    IFilletDefinition __RPC_FAR * This);


void __RPC_STUB IFilletDefinition_Array_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IFilletDefinition_INTERFACE_DEFINED__ */


#ifndef __IChamferDefinition_INTERFACE_DEFINED__
#define __IChamferDefinition_INTERFACE_DEFINED__

/* interface IChamferDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IChamferDefinition,0x7AA0E540,0x0368,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0368-11D4-A30E-00C026EE094F")
    IChamferDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetChamferParam( 
            BOOL __RPC_FAR *transfer,
            double __RPC_FAR *distance1,
            double __RPC_FAR *distance2) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetChamferParam( 
            BOOL transfer,
            double distance1,
            double distance2) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetTangent( void) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetTangent( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE Array( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IChamferDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IChamferDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IChamferDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IChamferDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetChamferParam )( 
            IChamferDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *transfer,
            double __RPC_FAR *distance1,
            double __RPC_FAR *distance2);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetChamferParam )( 
            IChamferDefinition __RPC_FAR * This,
            BOOL transfer,
            double distance1,
            double distance2);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetTangent )( 
            IChamferDefinition __RPC_FAR * This);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetTangent )( 
            IChamferDefinition __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *Array )( 
            IChamferDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IChamferDefinitionVtbl;

    interface IChamferDefinition
    {
        CONST_VTBL struct IChamferDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IChamferDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IChamferDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IChamferDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IChamferDefinition_GetChamferParam(This,transfer,distance1,distance2)	\
    (This)->lpVtbl -> GetChamferParam(This,transfer,distance1,distance2)

#define IChamferDefinition_SetChamferParam(This,transfer,distance1,distance2)	\
    (This)->lpVtbl -> SetChamferParam(This,transfer,distance1,distance2)

#define IChamferDefinition_GetTangent(This)	\
    (This)->lpVtbl -> GetTangent(This)

#define IChamferDefinition_SetTangent(This,val)	\
    (This)->lpVtbl -> SetTangent(This,val)

#define IChamferDefinition_Array(This)	\
    (This)->lpVtbl -> Array(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IChamferDefinition_GetChamferParam_Proxy( 
    IChamferDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *transfer,
    double __RPC_FAR *distance1,
    double __RPC_FAR *distance2);


void __RPC_STUB IChamferDefinition_GetChamferParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IChamferDefinition_SetChamferParam_Proxy( 
    IChamferDefinition __RPC_FAR * This,
    BOOL transfer,
    double distance1,
    double distance2);


void __RPC_STUB IChamferDefinition_SetChamferParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IChamferDefinition_GetTangent_Proxy( 
    IChamferDefinition __RPC_FAR * This);


void __RPC_STUB IChamferDefinition_GetTangent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IChamferDefinition_SetTangent_Proxy( 
    IChamferDefinition __RPC_FAR * This,
    BOOL val);


void __RPC_STUB IChamferDefinition_SetTangent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IChamferDefinition_Array_Proxy( 
    IChamferDefinition __RPC_FAR * This);


void __RPC_STUB IChamferDefinition_Array_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IChamferDefinition_INTERFACE_DEFINED__ */


#ifndef __IShellDefinition_INTERFACE_DEFINED__
#define __IShellDefinition_INTERFACE_DEFINED__

/* interface IShellDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IShellDefinition,0x7AA0E540,0x0369,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0369-11D4-A30E-00C026EE094F")
    IShellDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE FaceArray( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetThinType( 
            BOOL thinType) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetThickness( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetThickness( 
            double thickness) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IShellDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IShellDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IShellDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IShellDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *FaceArray )( 
            IShellDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinType )( 
            IShellDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetThinType )( 
            IShellDefinition __RPC_FAR * This,
            BOOL thinType);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetThickness )( 
            IShellDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetThickness )( 
            IShellDefinition __RPC_FAR * This,
            double thickness);
        
        END_INTERFACE
    } IShellDefinitionVtbl;

    interface IShellDefinition
    {
        CONST_VTBL struct IShellDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IShellDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IShellDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IShellDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IShellDefinition_FaceArray(This)	\
    (This)->lpVtbl -> FaceArray(This)

#define IShellDefinition_GetThinType(This)	\
    (This)->lpVtbl -> GetThinType(This)

#define IShellDefinition_SetThinType(This,thinType)	\
    (This)->lpVtbl -> SetThinType(This,thinType)

#define IShellDefinition_GetThickness(This)	\
    (This)->lpVtbl -> GetThickness(This)

#define IShellDefinition_SetThickness(This,thickness)	\
    (This)->lpVtbl -> SetThickness(This,thickness)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IShellDefinition_FaceArray_Proxy( 
    IShellDefinition __RPC_FAR * This);


void __RPC_STUB IShellDefinition_FaceArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IShellDefinition_GetThinType_Proxy( 
    IShellDefinition __RPC_FAR * This);


void __RPC_STUB IShellDefinition_GetThinType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IShellDefinition_SetThinType_Proxy( 
    IShellDefinition __RPC_FAR * This,
    BOOL thinType);


void __RPC_STUB IShellDefinition_SetThinType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IShellDefinition_GetThickness_Proxy( 
    IShellDefinition __RPC_FAR * This);


void __RPC_STUB IShellDefinition_GetThickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IShellDefinition_SetThickness_Proxy( 
    IShellDefinition __RPC_FAR * This,
    double thickness);


void __RPC_STUB IShellDefinition_SetThickness_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IShellDefinition_INTERFACE_DEFINED__ */


#ifndef __ICopyMeshDefinition_INTERFACE_DEFINED__
#define __ICopyMeshDefinition_INTERFACE_DEFINED__

/* interface ICopyMeshDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICopyMeshDefinition,0x7AA0E540,0x0370,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0370-11D4-A30E-00C026EE094F")
    ICopyMeshDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE OperationArray( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngle1( 
            double angle) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCount1( 
            long count) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep1( 
            double step) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFactor1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFactor1( 
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngle2( 
            double angle) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCount2( 
            long count) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep2( 
            double step) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFactor2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFactor2( 
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetInsideFlag( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetInsideFlag( 
            BOOL flag) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetCopyParamAlongAxis( 
            BOOL firstAxis,
            double __RPC_FAR *angle,
            long __RPC_FAR *count,
            double __RPC_FAR *step,
            BOOL __RPC_FAR *factor) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCopyParamAlongAxis( 
            BOOL firstAxis,
            double angle,
            long count,
            double step,
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE DeletedCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetGeomArray( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetGeomArray( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetAxis1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAxis1( 
            LPENTITY axis) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetAxis2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAxis2( 
            LPENTITY axis) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICopyMeshDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICopyMeshDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *OperationArray )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle1 )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngle1 )( 
            ICopyMeshDefinition __RPC_FAR * This,
            double angle);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount1 )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCount1 )( 
            ICopyMeshDefinition __RPC_FAR * This,
            long count);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep1 )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep1 )( 
            ICopyMeshDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFactor1 )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFactor1 )( 
            ICopyMeshDefinition __RPC_FAR * This,
            BOOL factor);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle2 )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngle2 )( 
            ICopyMeshDefinition __RPC_FAR * This,
            double angle);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount2 )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCount2 )( 
            ICopyMeshDefinition __RPC_FAR * This,
            long count);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep2 )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep2 )( 
            ICopyMeshDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFactor2 )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFactor2 )( 
            ICopyMeshDefinition __RPC_FAR * This,
            BOOL factor);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetInsideFlag )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetInsideFlag )( 
            ICopyMeshDefinition __RPC_FAR * This,
            BOOL flag);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetCopyParamAlongAxis )( 
            ICopyMeshDefinition __RPC_FAR * This,
            BOOL firstAxis,
            double __RPC_FAR *angle,
            long __RPC_FAR *count,
            double __RPC_FAR *step,
            BOOL __RPC_FAR *factor);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCopyParamAlongAxis )( 
            ICopyMeshDefinition __RPC_FAR * This,
            BOOL firstAxis,
            double angle,
            long count,
            double step,
            BOOL factor);
        
        /* [helpstring] */ LPDELETEDCOPYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *DeletedCollection )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetGeomArray )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetGeomArray )( 
            ICopyMeshDefinition __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetAxis1 )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAxis1 )( 
            ICopyMeshDefinition __RPC_FAR * This,
            LPENTITY axis);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetAxis2 )( 
            ICopyMeshDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAxis2 )( 
            ICopyMeshDefinition __RPC_FAR * This,
            LPENTITY axis);
        
        END_INTERFACE
    } ICopyMeshDefinitionVtbl;

    interface ICopyMeshDefinition
    {
        CONST_VTBL struct ICopyMeshDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICopyMeshDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICopyMeshDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICopyMeshDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICopyMeshDefinition_OperationArray(This)	\
    (This)->lpVtbl -> OperationArray(This)

#define ICopyMeshDefinition_GetAngle1(This)	\
    (This)->lpVtbl -> GetAngle1(This)

#define ICopyMeshDefinition_SetAngle1(This,angle)	\
    (This)->lpVtbl -> SetAngle1(This,angle)

#define ICopyMeshDefinition_GetCount1(This)	\
    (This)->lpVtbl -> GetCount1(This)

#define ICopyMeshDefinition_SetCount1(This,count)	\
    (This)->lpVtbl -> SetCount1(This,count)

#define ICopyMeshDefinition_GetStep1(This)	\
    (This)->lpVtbl -> GetStep1(This)

#define ICopyMeshDefinition_SetStep1(This,step)	\
    (This)->lpVtbl -> SetStep1(This,step)

#define ICopyMeshDefinition_GetFactor1(This)	\
    (This)->lpVtbl -> GetFactor1(This)

#define ICopyMeshDefinition_SetFactor1(This,factor)	\
    (This)->lpVtbl -> SetFactor1(This,factor)

#define ICopyMeshDefinition_GetAngle2(This)	\
    (This)->lpVtbl -> GetAngle2(This)

#define ICopyMeshDefinition_SetAngle2(This,angle)	\
    (This)->lpVtbl -> SetAngle2(This,angle)

#define ICopyMeshDefinition_GetCount2(This)	\
    (This)->lpVtbl -> GetCount2(This)

#define ICopyMeshDefinition_SetCount2(This,count)	\
    (This)->lpVtbl -> SetCount2(This,count)

#define ICopyMeshDefinition_GetStep2(This)	\
    (This)->lpVtbl -> GetStep2(This)

#define ICopyMeshDefinition_SetStep2(This,step)	\
    (This)->lpVtbl -> SetStep2(This,step)

#define ICopyMeshDefinition_GetFactor2(This)	\
    (This)->lpVtbl -> GetFactor2(This)

#define ICopyMeshDefinition_SetFactor2(This,factor)	\
    (This)->lpVtbl -> SetFactor2(This,factor)

#define ICopyMeshDefinition_GetInsideFlag(This)	\
    (This)->lpVtbl -> GetInsideFlag(This)

#define ICopyMeshDefinition_SetInsideFlag(This,flag)	\
    (This)->lpVtbl -> SetInsideFlag(This,flag)

#define ICopyMeshDefinition_GetCopyParamAlongAxis(This,firstAxis,angle,count,step,factor)	\
    (This)->lpVtbl -> GetCopyParamAlongAxis(This,firstAxis,angle,count,step,factor)

#define ICopyMeshDefinition_SetCopyParamAlongAxis(This,firstAxis,angle,count,step,factor)	\
    (This)->lpVtbl -> SetCopyParamAlongAxis(This,firstAxis,angle,count,step,factor)

#define ICopyMeshDefinition_DeletedCollection(This)	\
    (This)->lpVtbl -> DeletedCollection(This)

#define ICopyMeshDefinition_GetGeomArray(This)	\
    (This)->lpVtbl -> GetGeomArray(This)

#define ICopyMeshDefinition_SetGeomArray(This,val)	\
    (This)->lpVtbl -> SetGeomArray(This,val)

#define ICopyMeshDefinition_GetAxis1(This)	\
    (This)->lpVtbl -> GetAxis1(This)

#define ICopyMeshDefinition_SetAxis1(This,axis)	\
    (This)->lpVtbl -> SetAxis1(This,axis)

#define ICopyMeshDefinition_GetAxis2(This)	\
    (This)->lpVtbl -> GetAxis2(This)

#define ICopyMeshDefinition_SetAxis2(This,axis)	\
    (This)->lpVtbl -> SetAxis2(This,axis)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE ICopyMeshDefinition_OperationArray_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_OperationArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICopyMeshDefinition_GetAngle1_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetAngle1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetAngle1_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    double angle);


void __RPC_STUB ICopyMeshDefinition_SetAngle1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICopyMeshDefinition_GetCount1_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetCount1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetCount1_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    long count);


void __RPC_STUB ICopyMeshDefinition_SetCount1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICopyMeshDefinition_GetStep1_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetStep1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetStep1_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB ICopyMeshDefinition_SetStep1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_GetFactor1_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetFactor1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetFactor1_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    BOOL factor);


void __RPC_STUB ICopyMeshDefinition_SetFactor1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICopyMeshDefinition_GetAngle2_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetAngle2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetAngle2_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    double angle);


void __RPC_STUB ICopyMeshDefinition_SetAngle2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICopyMeshDefinition_GetCount2_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetCount2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetCount2_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    long count);


void __RPC_STUB ICopyMeshDefinition_SetCount2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICopyMeshDefinition_GetStep2_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetStep2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetStep2_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB ICopyMeshDefinition_SetStep2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_GetFactor2_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetFactor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetFactor2_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    BOOL factor);


void __RPC_STUB ICopyMeshDefinition_SetFactor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_GetInsideFlag_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetInsideFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetInsideFlag_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    BOOL flag);


void __RPC_STUB ICopyMeshDefinition_SetInsideFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_GetCopyParamAlongAxis_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    BOOL firstAxis,
    double __RPC_FAR *angle,
    long __RPC_FAR *count,
    double __RPC_FAR *step,
    BOOL __RPC_FAR *factor);


void __RPC_STUB ICopyMeshDefinition_GetCopyParamAlongAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetCopyParamAlongAxis_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    BOOL firstAxis,
    double angle,
    long count,
    double step,
    BOOL factor);


void __RPC_STUB ICopyMeshDefinition_SetCopyParamAlongAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE ICopyMeshDefinition_DeletedCollection_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_DeletedCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_GetGeomArray_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetGeomArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetGeomArray_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    BOOL val);


void __RPC_STUB ICopyMeshDefinition_SetGeomArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICopyMeshDefinition_GetAxis1_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetAxis1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetAxis1_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    LPENTITY axis);


void __RPC_STUB ICopyMeshDefinition_SetAxis1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICopyMeshDefinition_GetAxis2_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This);


void __RPC_STUB ICopyMeshDefinition_GetAxis2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyMeshDefinition_SetAxis2_Proxy( 
    ICopyMeshDefinition __RPC_FAR * This,
    LPENTITY axis);


void __RPC_STUB ICopyMeshDefinition_SetAxis2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICopyMeshDefinition_INTERFACE_DEFINED__ */


#ifndef __ICopyCircularDefinition_INTERFACE_DEFINED__
#define __ICopyCircularDefinition_INTERFACE_DEFINED__

/* interface ICopyCircularDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICopyCircularDefinition,0x7AA0E540,0x0371,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0371-11D4-A30E-00C026EE094F")
    ICopyCircularDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE GetOperationArray( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetAxis( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAxis( 
            LPENTITY axis) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCount1( 
            long count) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep1( 
            double step) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFactor1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFactor1( 
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCount2( 
            long count) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep2( 
            double step) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFactor2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFactor2( 
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetInverce( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetInverce( 
            BOOL inverce) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetCopyParamAlongDir( 
            long __RPC_FAR *count,
            double __RPC_FAR *step,
            BOOL __RPC_FAR *factor,
            BOOL dir) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCopyParamAlongDir( 
            long count,
            double step,
            BOOL factor,
            BOOL dir) = 0;
        
        virtual /* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE DeletedCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetGeomArray( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetGeomArray( 
            BOOL val) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICopyCircularDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICopyCircularDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *GetOperationArray )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetAxis )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAxis )( 
            ICopyCircularDefinition __RPC_FAR * This,
            LPENTITY axis);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount1 )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCount1 )( 
            ICopyCircularDefinition __RPC_FAR * This,
            long count);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep1 )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep1 )( 
            ICopyCircularDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFactor1 )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFactor1 )( 
            ICopyCircularDefinition __RPC_FAR * This,
            BOOL factor);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount2 )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCount2 )( 
            ICopyCircularDefinition __RPC_FAR * This,
            long count);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep2 )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep2 )( 
            ICopyCircularDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFactor2 )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFactor2 )( 
            ICopyCircularDefinition __RPC_FAR * This,
            BOOL factor);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetInverce )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetInverce )( 
            ICopyCircularDefinition __RPC_FAR * This,
            BOOL inverce);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetCopyParamAlongDir )( 
            ICopyCircularDefinition __RPC_FAR * This,
            long __RPC_FAR *count,
            double __RPC_FAR *step,
            BOOL __RPC_FAR *factor,
            BOOL dir);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCopyParamAlongDir )( 
            ICopyCircularDefinition __RPC_FAR * This,
            long count,
            double step,
            BOOL factor,
            BOOL dir);
        
        /* [helpstring] */ LPDELETEDCOPYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *DeletedCollection )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetGeomArray )( 
            ICopyCircularDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetGeomArray )( 
            ICopyCircularDefinition __RPC_FAR * This,
            BOOL val);
        
        END_INTERFACE
    } ICopyCircularDefinitionVtbl;

    interface ICopyCircularDefinition
    {
        CONST_VTBL struct ICopyCircularDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICopyCircularDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICopyCircularDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICopyCircularDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICopyCircularDefinition_GetOperationArray(This)	\
    (This)->lpVtbl -> GetOperationArray(This)

#define ICopyCircularDefinition_GetAxis(This)	\
    (This)->lpVtbl -> GetAxis(This)

#define ICopyCircularDefinition_SetAxis(This,axis)	\
    (This)->lpVtbl -> SetAxis(This,axis)

#define ICopyCircularDefinition_GetCount1(This)	\
    (This)->lpVtbl -> GetCount1(This)

#define ICopyCircularDefinition_SetCount1(This,count)	\
    (This)->lpVtbl -> SetCount1(This,count)

#define ICopyCircularDefinition_GetStep1(This)	\
    (This)->lpVtbl -> GetStep1(This)

#define ICopyCircularDefinition_SetStep1(This,step)	\
    (This)->lpVtbl -> SetStep1(This,step)

#define ICopyCircularDefinition_GetFactor1(This)	\
    (This)->lpVtbl -> GetFactor1(This)

#define ICopyCircularDefinition_SetFactor1(This,factor)	\
    (This)->lpVtbl -> SetFactor1(This,factor)

#define ICopyCircularDefinition_GetCount2(This)	\
    (This)->lpVtbl -> GetCount2(This)

#define ICopyCircularDefinition_SetCount2(This,count)	\
    (This)->lpVtbl -> SetCount2(This,count)

#define ICopyCircularDefinition_GetStep2(This)	\
    (This)->lpVtbl -> GetStep2(This)

#define ICopyCircularDefinition_SetStep2(This,step)	\
    (This)->lpVtbl -> SetStep2(This,step)

#define ICopyCircularDefinition_GetFactor2(This)	\
    (This)->lpVtbl -> GetFactor2(This)

#define ICopyCircularDefinition_SetFactor2(This,factor)	\
    (This)->lpVtbl -> SetFactor2(This,factor)

#define ICopyCircularDefinition_GetInverce(This)	\
    (This)->lpVtbl -> GetInverce(This)

#define ICopyCircularDefinition_SetInverce(This,inverce)	\
    (This)->lpVtbl -> SetInverce(This,inverce)

#define ICopyCircularDefinition_GetCopyParamAlongDir(This,count,step,factor,dir)	\
    (This)->lpVtbl -> GetCopyParamAlongDir(This,count,step,factor,dir)

#define ICopyCircularDefinition_SetCopyParamAlongDir(This,count,step,factor,dir)	\
    (This)->lpVtbl -> SetCopyParamAlongDir(This,count,step,factor,dir)

#define ICopyCircularDefinition_DeletedCollection(This)	\
    (This)->lpVtbl -> DeletedCollection(This)

#define ICopyCircularDefinition_GetGeomArray(This)	\
    (This)->lpVtbl -> GetGeomArray(This)

#define ICopyCircularDefinition_SetGeomArray(This,val)	\
    (This)->lpVtbl -> SetGeomArray(This,val)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE ICopyCircularDefinition_GetOperationArray_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCircularDefinition_GetOperationArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICopyCircularDefinition_GetAxis_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCircularDefinition_GetAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_SetAxis_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This,
    LPENTITY axis);


void __RPC_STUB ICopyCircularDefinition_SetAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICopyCircularDefinition_GetCount1_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCircularDefinition_GetCount1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_SetCount1_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This,
    long count);


void __RPC_STUB ICopyCircularDefinition_SetCount1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICopyCircularDefinition_GetStep1_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCircularDefinition_GetStep1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_SetStep1_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB ICopyCircularDefinition_SetStep1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_GetFactor1_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCircularDefinition_GetFactor1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_SetFactor1_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This,
    BOOL factor);


void __RPC_STUB ICopyCircularDefinition_SetFactor1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICopyCircularDefinition_GetCount2_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCircularDefinition_GetCount2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_SetCount2_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This,
    long count);


void __RPC_STUB ICopyCircularDefinition_SetCount2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICopyCircularDefinition_GetStep2_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCircularDefinition_GetStep2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_SetStep2_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB ICopyCircularDefinition_SetStep2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_GetFactor2_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCircularDefinition_GetFactor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_SetFactor2_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This,
    BOOL factor);


void __RPC_STUB ICopyCircularDefinition_SetFactor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_GetInverce_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCircularDefinition_GetInverce_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_SetInverce_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This,
    BOOL inverce);


void __RPC_STUB ICopyCircularDefinition_SetInverce_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_GetCopyParamAlongDir_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This,
    long __RPC_FAR *count,
    double __RPC_FAR *step,
    BOOL __RPC_FAR *factor,
    BOOL dir);


void __RPC_STUB ICopyCircularDefinition_GetCopyParamAlongDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_SetCopyParamAlongDir_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This,
    long count,
    double step,
    BOOL factor,
    BOOL dir);


void __RPC_STUB ICopyCircularDefinition_SetCopyParamAlongDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE ICopyCircularDefinition_DeletedCollection_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCircularDefinition_DeletedCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_GetGeomArray_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCircularDefinition_GetGeomArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCircularDefinition_SetGeomArray_Proxy( 
    ICopyCircularDefinition __RPC_FAR * This,
    BOOL val);


void __RPC_STUB ICopyCircularDefinition_SetGeomArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICopyCircularDefinition_INTERFACE_DEFINED__ */


#ifndef __ICopyCurveDefinition_INTERFACE_DEFINED__
#define __ICopyCurveDefinition_INTERFACE_DEFINED__

/* interface ICopyCurveDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICopyCurveDefinition,0x7AA0E540,0x0372,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0372-11D4-A30E-00C026EE094F")
    ICopyCurveDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE OperationArray( void) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE CurveArray( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep( 
            double step) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCount( 
            long count) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFactor( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFactor( 
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSence( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSence( 
            BOOL sence) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetKeepAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetKeepAngle( 
            BOOL keepAngle) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFullCurve( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFullCurve( 
            BOOL fullCurve) = 0;
        
        virtual /* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE DeletedCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetGeomArray( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetGeomArray( 
            BOOL val) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICopyCurveDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICopyCurveDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *OperationArray )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *CurveArray )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep )( 
            ICopyCurveDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCount )( 
            ICopyCurveDefinition __RPC_FAR * This,
            long count);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFactor )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFactor )( 
            ICopyCurveDefinition __RPC_FAR * This,
            BOOL factor);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSence )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSence )( 
            ICopyCurveDefinition __RPC_FAR * This,
            BOOL sence);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetKeepAngle )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetKeepAngle )( 
            ICopyCurveDefinition __RPC_FAR * This,
            BOOL keepAngle);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFullCurve )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFullCurve )( 
            ICopyCurveDefinition __RPC_FAR * This,
            BOOL fullCurve);
        
        /* [helpstring] */ LPDELETEDCOPYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *DeletedCollection )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetGeomArray )( 
            ICopyCurveDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetGeomArray )( 
            ICopyCurveDefinition __RPC_FAR * This,
            BOOL val);
        
        END_INTERFACE
    } ICopyCurveDefinitionVtbl;

    interface ICopyCurveDefinition
    {
        CONST_VTBL struct ICopyCurveDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICopyCurveDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICopyCurveDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICopyCurveDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICopyCurveDefinition_OperationArray(This)	\
    (This)->lpVtbl -> OperationArray(This)

#define ICopyCurveDefinition_CurveArray(This)	\
    (This)->lpVtbl -> CurveArray(This)

#define ICopyCurveDefinition_GetStep(This)	\
    (This)->lpVtbl -> GetStep(This)

#define ICopyCurveDefinition_SetStep(This,step)	\
    (This)->lpVtbl -> SetStep(This,step)

#define ICopyCurveDefinition_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define ICopyCurveDefinition_SetCount(This,count)	\
    (This)->lpVtbl -> SetCount(This,count)

#define ICopyCurveDefinition_GetFactor(This)	\
    (This)->lpVtbl -> GetFactor(This)

#define ICopyCurveDefinition_SetFactor(This,factor)	\
    (This)->lpVtbl -> SetFactor(This,factor)

#define ICopyCurveDefinition_GetSence(This)	\
    (This)->lpVtbl -> GetSence(This)

#define ICopyCurveDefinition_SetSence(This,sence)	\
    (This)->lpVtbl -> SetSence(This,sence)

#define ICopyCurveDefinition_GetKeepAngle(This)	\
    (This)->lpVtbl -> GetKeepAngle(This)

#define ICopyCurveDefinition_SetKeepAngle(This,keepAngle)	\
    (This)->lpVtbl -> SetKeepAngle(This,keepAngle)

#define ICopyCurveDefinition_GetFullCurve(This)	\
    (This)->lpVtbl -> GetFullCurve(This)

#define ICopyCurveDefinition_SetFullCurve(This,fullCurve)	\
    (This)->lpVtbl -> SetFullCurve(This,fullCurve)

#define ICopyCurveDefinition_DeletedCollection(This)	\
    (This)->lpVtbl -> DeletedCollection(This)

#define ICopyCurveDefinition_GetGeomArray(This)	\
    (This)->lpVtbl -> GetGeomArray(This)

#define ICopyCurveDefinition_SetGeomArray(This,val)	\
    (This)->lpVtbl -> SetGeomArray(This,val)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE ICopyCurveDefinition_OperationArray_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCurveDefinition_OperationArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE ICopyCurveDefinition_CurveArray_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCurveDefinition_CurveArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICopyCurveDefinition_GetStep_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCurveDefinition_GetStep_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_SetStep_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB ICopyCurveDefinition_SetStep_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICopyCurveDefinition_GetCount_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCurveDefinition_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_SetCount_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This,
    long count);


void __RPC_STUB ICopyCurveDefinition_SetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_GetFactor_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCurveDefinition_GetFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_SetFactor_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This,
    BOOL factor);


void __RPC_STUB ICopyCurveDefinition_SetFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_GetSence_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCurveDefinition_GetSence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_SetSence_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This,
    BOOL sence);


void __RPC_STUB ICopyCurveDefinition_SetSence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_GetKeepAngle_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCurveDefinition_GetKeepAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_SetKeepAngle_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This,
    BOOL keepAngle);


void __RPC_STUB ICopyCurveDefinition_SetKeepAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_GetFullCurve_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCurveDefinition_GetFullCurve_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_SetFullCurve_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This,
    BOOL fullCurve);


void __RPC_STUB ICopyCurveDefinition_SetFullCurve_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE ICopyCurveDefinition_DeletedCollection_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCurveDefinition_DeletedCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_GetGeomArray_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This);


void __RPC_STUB ICopyCurveDefinition_GetGeomArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICopyCurveDefinition_SetGeomArray_Proxy( 
    ICopyCurveDefinition __RPC_FAR * This,
    BOOL val);


void __RPC_STUB ICopyCurveDefinition_SetGeomArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICopyCurveDefinition_INTERFACE_DEFINED__ */


#ifndef __IMirrorDefinition_INTERFACE_DEFINED__
#define __IMirrorDefinition_INTERFACE_DEFINED__

/* interface IMirrorDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IMirrorDefinition,0x7AA0E540,0x0373,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0373-11D4-A30E-00C026EE094F")
    IMirrorDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE GetOperationArray( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY plane) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMirrorDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMirrorDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMirrorDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMirrorDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *GetOperationArray )( 
            IMirrorDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            IMirrorDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IMirrorDefinition __RPC_FAR * This,
            LPENTITY plane);
        
        END_INTERFACE
    } IMirrorDefinitionVtbl;

    interface IMirrorDefinition
    {
        CONST_VTBL struct IMirrorDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMirrorDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMirrorDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMirrorDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMirrorDefinition_GetOperationArray(This)	\
    (This)->lpVtbl -> GetOperationArray(This)

#define IMirrorDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define IMirrorDefinition_SetPlane(This,plane)	\
    (This)->lpVtbl -> SetPlane(This,plane)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IMirrorDefinition_GetOperationArray_Proxy( 
    IMirrorDefinition __RPC_FAR * This);


void __RPC_STUB IMirrorDefinition_GetOperationArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IMirrorDefinition_GetPlane_Proxy( 
    IMirrorDefinition __RPC_FAR * This);


void __RPC_STUB IMirrorDefinition_GetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMirrorDefinition_SetPlane_Proxy( 
    IMirrorDefinition __RPC_FAR * This,
    LPENTITY plane);


void __RPC_STUB IMirrorDefinition_SetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMirrorDefinition_INTERFACE_DEFINED__ */


#ifndef __IMirrorAllDefinition_INTERFACE_DEFINED__
#define __IMirrorAllDefinition_INTERFACE_DEFINED__

/* interface IMirrorAllDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IMirrorAllDefinition,0x7AA0E540,0x0374,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0374-11D4-A30E-00C026EE094F")
    IMirrorAllDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY plane) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ChooseBodies( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMirrorAllDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMirrorAllDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMirrorAllDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMirrorAllDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            IMirrorAllDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IMirrorAllDefinition __RPC_FAR * This,
            LPENTITY plane);
        
        /* [helpstring] */ LPCHOOSEBODIES ( STDMETHODCALLTYPE __RPC_FAR *ChooseBodies )( 
            IMirrorAllDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IMirrorAllDefinitionVtbl;

    interface IMirrorAllDefinition
    {
        CONST_VTBL struct IMirrorAllDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMirrorAllDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMirrorAllDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMirrorAllDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMirrorAllDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define IMirrorAllDefinition_SetPlane(This,plane)	\
    (This)->lpVtbl -> SetPlane(This,plane)

#define IMirrorAllDefinition_ChooseBodies(This)	\
    (This)->lpVtbl -> ChooseBodies(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IMirrorAllDefinition_GetPlane_Proxy( 
    IMirrorAllDefinition __RPC_FAR * This);


void __RPC_STUB IMirrorAllDefinition_GetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMirrorAllDefinition_SetPlane_Proxy( 
    IMirrorAllDefinition __RPC_FAR * This,
    LPENTITY plane);


void __RPC_STUB IMirrorAllDefinition_SetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE IMirrorAllDefinition_ChooseBodies_Proxy( 
    IMirrorAllDefinition __RPC_FAR * This);


void __RPC_STUB IMirrorAllDefinition_ChooseBodies_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMirrorAllDefinition_INTERFACE_DEFINED__ */


#ifndef __ICutByPlaneDefinition_INTERFACE_DEFINED__
#define __ICutByPlaneDefinition_INTERFACE_DEFINED__

/* interface ICutByPlaneDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICutByPlaneDefinition,0x7AA0E540,0x0375,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0375-11D4-A30E-00C026EE094F")
    ICutByPlaneDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY plane) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDirection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirection( 
            BOOL direction) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ChooseBodies( void) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ChooseParts( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetChooseType( 
            long val) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetChooseType( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICutByPlaneDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICutByPlaneDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICutByPlaneDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICutByPlaneDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            ICutByPlaneDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            ICutByPlaneDefinition __RPC_FAR * This,
            LPENTITY plane);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDirection )( 
            ICutByPlaneDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirection )( 
            ICutByPlaneDefinition __RPC_FAR * This,
            BOOL direction);
        
        /* [helpstring] */ LPCHOOSEBODIES ( STDMETHODCALLTYPE __RPC_FAR *ChooseBodies )( 
            ICutByPlaneDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPCHOOSEPARTS ( STDMETHODCALLTYPE __RPC_FAR *ChooseParts )( 
            ICutByPlaneDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetChooseType )( 
            ICutByPlaneDefinition __RPC_FAR * This,
            long val);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetChooseType )( 
            ICutByPlaneDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } ICutByPlaneDefinitionVtbl;

    interface ICutByPlaneDefinition
    {
        CONST_VTBL struct ICutByPlaneDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICutByPlaneDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICutByPlaneDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICutByPlaneDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICutByPlaneDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define ICutByPlaneDefinition_SetPlane(This,plane)	\
    (This)->lpVtbl -> SetPlane(This,plane)

#define ICutByPlaneDefinition_GetDirection(This)	\
    (This)->lpVtbl -> GetDirection(This)

#define ICutByPlaneDefinition_SetDirection(This,direction)	\
    (This)->lpVtbl -> SetDirection(This,direction)

#define ICutByPlaneDefinition_ChooseBodies(This)	\
    (This)->lpVtbl -> ChooseBodies(This)

#define ICutByPlaneDefinition_ChooseParts(This)	\
    (This)->lpVtbl -> ChooseParts(This)

#define ICutByPlaneDefinition_SetChooseType(This,val)	\
    (This)->lpVtbl -> SetChooseType(This,val)

#define ICutByPlaneDefinition_GetChooseType(This)	\
    (This)->lpVtbl -> GetChooseType(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICutByPlaneDefinition_GetPlane_Proxy( 
    ICutByPlaneDefinition __RPC_FAR * This);


void __RPC_STUB ICutByPlaneDefinition_GetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutByPlaneDefinition_SetPlane_Proxy( 
    ICutByPlaneDefinition __RPC_FAR * This,
    LPENTITY plane);


void __RPC_STUB ICutByPlaneDefinition_SetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutByPlaneDefinition_GetDirection_Proxy( 
    ICutByPlaneDefinition __RPC_FAR * This);


void __RPC_STUB ICutByPlaneDefinition_GetDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutByPlaneDefinition_SetDirection_Proxy( 
    ICutByPlaneDefinition __RPC_FAR * This,
    BOOL direction);


void __RPC_STUB ICutByPlaneDefinition_SetDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ICutByPlaneDefinition_ChooseBodies_Proxy( 
    ICutByPlaneDefinition __RPC_FAR * This);


void __RPC_STUB ICutByPlaneDefinition_ChooseBodies_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ICutByPlaneDefinition_ChooseParts_Proxy( 
    ICutByPlaneDefinition __RPC_FAR * This);


void __RPC_STUB ICutByPlaneDefinition_ChooseParts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutByPlaneDefinition_SetChooseType_Proxy( 
    ICutByPlaneDefinition __RPC_FAR * This,
    long val);


void __RPC_STUB ICutByPlaneDefinition_SetChooseType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICutByPlaneDefinition_GetChooseType_Proxy( 
    ICutByPlaneDefinition __RPC_FAR * This);


void __RPC_STUB ICutByPlaneDefinition_GetChooseType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICutByPlaneDefinition_INTERFACE_DEFINED__ */


#ifndef __ICutBySketchDefinition_INTERFACE_DEFINED__
#define __ICutBySketchDefinition_INTERFACE_DEFINED__

/* interface ICutBySketchDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICutBySketchDefinition,0x7AA0E540,0x0376,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0376-11D4-A30E-00C026EE094F")
    ICutBySketchDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY sketch) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDirection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirection( 
            BOOL direction) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ChooseBodies( void) = 0;
        
        virtual /* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ChooseParts( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetChooseType( 
            long val) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetChooseType( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICutBySketchDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICutBySketchDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICutBySketchDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICutBySketchDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            ICutBySketchDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            ICutBySketchDefinition __RPC_FAR * This,
            LPENTITY sketch);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDirection )( 
            ICutBySketchDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirection )( 
            ICutBySketchDefinition __RPC_FAR * This,
            BOOL direction);
        
        /* [helpstring] */ LPCHOOSEBODIES ( STDMETHODCALLTYPE __RPC_FAR *ChooseBodies )( 
            ICutBySketchDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPCHOOSEPARTS ( STDMETHODCALLTYPE __RPC_FAR *ChooseParts )( 
            ICutBySketchDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetChooseType )( 
            ICutBySketchDefinition __RPC_FAR * This,
            long val);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetChooseType )( 
            ICutBySketchDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } ICutBySketchDefinitionVtbl;

    interface ICutBySketchDefinition
    {
        CONST_VTBL struct ICutBySketchDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICutBySketchDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICutBySketchDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICutBySketchDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICutBySketchDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define ICutBySketchDefinition_SetSketch(This,sketch)	\
    (This)->lpVtbl -> SetSketch(This,sketch)

#define ICutBySketchDefinition_GetDirection(This)	\
    (This)->lpVtbl -> GetDirection(This)

#define ICutBySketchDefinition_SetDirection(This,direction)	\
    (This)->lpVtbl -> SetDirection(This,direction)

#define ICutBySketchDefinition_ChooseBodies(This)	\
    (This)->lpVtbl -> ChooseBodies(This)

#define ICutBySketchDefinition_ChooseParts(This)	\
    (This)->lpVtbl -> ChooseParts(This)

#define ICutBySketchDefinition_SetChooseType(This,val)	\
    (This)->lpVtbl -> SetChooseType(This,val)

#define ICutBySketchDefinition_GetChooseType(This)	\
    (This)->lpVtbl -> GetChooseType(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICutBySketchDefinition_GetSketch_Proxy( 
    ICutBySketchDefinition __RPC_FAR * This);


void __RPC_STUB ICutBySketchDefinition_GetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutBySketchDefinition_SetSketch_Proxy( 
    ICutBySketchDefinition __RPC_FAR * This,
    LPENTITY sketch);


void __RPC_STUB ICutBySketchDefinition_SetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutBySketchDefinition_GetDirection_Proxy( 
    ICutBySketchDefinition __RPC_FAR * This);


void __RPC_STUB ICutBySketchDefinition_GetDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutBySketchDefinition_SetDirection_Proxy( 
    ICutBySketchDefinition __RPC_FAR * This,
    BOOL direction);


void __RPC_STUB ICutBySketchDefinition_SetDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEBODIES STDMETHODCALLTYPE ICutBySketchDefinition_ChooseBodies_Proxy( 
    ICutBySketchDefinition __RPC_FAR * This);


void __RPC_STUB ICutBySketchDefinition_ChooseBodies_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCHOOSEPARTS STDMETHODCALLTYPE ICutBySketchDefinition_ChooseParts_Proxy( 
    ICutBySketchDefinition __RPC_FAR * This);


void __RPC_STUB ICutBySketchDefinition_ChooseParts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICutBySketchDefinition_SetChooseType_Proxy( 
    ICutBySketchDefinition __RPC_FAR * This,
    long val);


void __RPC_STUB ICutBySketchDefinition_SetChooseType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICutBySketchDefinition_GetChooseType_Proxy( 
    ICutBySketchDefinition __RPC_FAR * This);


void __RPC_STUB ICutBySketchDefinition_GetChooseType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICutBySketchDefinition_INTERFACE_DEFINED__ */


#ifndef __IMeshPartArrayDefinition_INTERFACE_DEFINED__
#define __IMeshPartArrayDefinition_INTERFACE_DEFINED__

/* interface IMeshPartArrayDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IMeshPartArrayDefinition,0x7AA0E540,0x0377,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0377-11D4-A30E-00C026EE094F")
    IMeshPartArrayDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE PartArray( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngle1( 
            double angle) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCount1( 
            long count) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep1( 
            double step) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFactor1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFactor1( 
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngle2( 
            double angle) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCount2( 
            long count) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep2( 
            double step) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetAxis1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAxis1( 
            LPENTITY axis) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetAxis2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAxis2( 
            LPENTITY axis) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFactor2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFactor2( 
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetInsideFlag( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetInsideFlag( 
            BOOL flag) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetCopyParamAlongAxis( 
            BOOL firstAxis,
            double __RPC_FAR *angle,
            long __RPC_FAR *count,
            double __RPC_FAR *step,
            BOOL __RPC_FAR *factor) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCopyParamAlongAxis( 
            BOOL firstAxis,
            double angle,
            long count,
            double step,
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE DeletedCollection( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMeshPartArrayDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPPARTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PartArray )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle1 )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngle1 )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            double angle);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount1 )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCount1 )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            long count);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep1 )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep1 )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFactor1 )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFactor1 )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            BOOL factor);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle2 )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngle2 )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            double angle);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount2 )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCount2 )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            long count);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep2 )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep2 )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetAxis1 )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAxis1 )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            LPENTITY axis);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetAxis2 )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAxis2 )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            LPENTITY axis);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFactor2 )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFactor2 )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            BOOL factor);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetInsideFlag )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetInsideFlag )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            BOOL flag);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetCopyParamAlongAxis )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            BOOL firstAxis,
            double __RPC_FAR *angle,
            long __RPC_FAR *count,
            double __RPC_FAR *step,
            BOOL __RPC_FAR *factor);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCopyParamAlongAxis )( 
            IMeshPartArrayDefinition __RPC_FAR * This,
            BOOL firstAxis,
            double angle,
            long count,
            double step,
            BOOL factor);
        
        /* [helpstring] */ LPDELETEDCOPYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *DeletedCollection )( 
            IMeshPartArrayDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IMeshPartArrayDefinitionVtbl;

    interface IMeshPartArrayDefinition
    {
        CONST_VTBL struct IMeshPartArrayDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMeshPartArrayDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMeshPartArrayDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMeshPartArrayDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMeshPartArrayDefinition_PartArray(This)	\
    (This)->lpVtbl -> PartArray(This)

#define IMeshPartArrayDefinition_GetAngle1(This)	\
    (This)->lpVtbl -> GetAngle1(This)

#define IMeshPartArrayDefinition_SetAngle1(This,angle)	\
    (This)->lpVtbl -> SetAngle1(This,angle)

#define IMeshPartArrayDefinition_GetCount1(This)	\
    (This)->lpVtbl -> GetCount1(This)

#define IMeshPartArrayDefinition_SetCount1(This,count)	\
    (This)->lpVtbl -> SetCount1(This,count)

#define IMeshPartArrayDefinition_GetStep1(This)	\
    (This)->lpVtbl -> GetStep1(This)

#define IMeshPartArrayDefinition_SetStep1(This,step)	\
    (This)->lpVtbl -> SetStep1(This,step)

#define IMeshPartArrayDefinition_GetFactor1(This)	\
    (This)->lpVtbl -> GetFactor1(This)

#define IMeshPartArrayDefinition_SetFactor1(This,factor)	\
    (This)->lpVtbl -> SetFactor1(This,factor)

#define IMeshPartArrayDefinition_GetAngle2(This)	\
    (This)->lpVtbl -> GetAngle2(This)

#define IMeshPartArrayDefinition_SetAngle2(This,angle)	\
    (This)->lpVtbl -> SetAngle2(This,angle)

#define IMeshPartArrayDefinition_GetCount2(This)	\
    (This)->lpVtbl -> GetCount2(This)

#define IMeshPartArrayDefinition_SetCount2(This,count)	\
    (This)->lpVtbl -> SetCount2(This,count)

#define IMeshPartArrayDefinition_GetStep2(This)	\
    (This)->lpVtbl -> GetStep2(This)

#define IMeshPartArrayDefinition_SetStep2(This,step)	\
    (This)->lpVtbl -> SetStep2(This,step)

#define IMeshPartArrayDefinition_GetAxis1(This)	\
    (This)->lpVtbl -> GetAxis1(This)

#define IMeshPartArrayDefinition_SetAxis1(This,axis)	\
    (This)->lpVtbl -> SetAxis1(This,axis)

#define IMeshPartArrayDefinition_GetAxis2(This)	\
    (This)->lpVtbl -> GetAxis2(This)

#define IMeshPartArrayDefinition_SetAxis2(This,axis)	\
    (This)->lpVtbl -> SetAxis2(This,axis)

#define IMeshPartArrayDefinition_GetFactor2(This)	\
    (This)->lpVtbl -> GetFactor2(This)

#define IMeshPartArrayDefinition_SetFactor2(This,factor)	\
    (This)->lpVtbl -> SetFactor2(This,factor)

#define IMeshPartArrayDefinition_GetInsideFlag(This)	\
    (This)->lpVtbl -> GetInsideFlag(This)

#define IMeshPartArrayDefinition_SetInsideFlag(This,flag)	\
    (This)->lpVtbl -> SetInsideFlag(This,flag)

#define IMeshPartArrayDefinition_GetCopyParamAlongAxis(This,firstAxis,angle,count,step,factor)	\
    (This)->lpVtbl -> GetCopyParamAlongAxis(This,firstAxis,angle,count,step,factor)

#define IMeshPartArrayDefinition_SetCopyParamAlongAxis(This,firstAxis,angle,count,step,factor)	\
    (This)->lpVtbl -> SetCopyParamAlongAxis(This,firstAxis,angle,count,step,factor)

#define IMeshPartArrayDefinition_DeletedCollection(This)	\
    (This)->lpVtbl -> DeletedCollection(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE IMeshPartArrayDefinition_PartArray_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_PartArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMeshPartArrayDefinition_GetAngle1_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_GetAngle1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetAngle1_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    double angle);


void __RPC_STUB IMeshPartArrayDefinition_SetAngle1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IMeshPartArrayDefinition_GetCount1_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_GetCount1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetCount1_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    long count);


void __RPC_STUB IMeshPartArrayDefinition_SetCount1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMeshPartArrayDefinition_GetStep1_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_GetStep1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetStep1_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB IMeshPartArrayDefinition_SetStep1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_GetFactor1_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_GetFactor1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetFactor1_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    BOOL factor);


void __RPC_STUB IMeshPartArrayDefinition_SetFactor1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMeshPartArrayDefinition_GetAngle2_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_GetAngle2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetAngle2_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    double angle);


void __RPC_STUB IMeshPartArrayDefinition_SetAngle2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IMeshPartArrayDefinition_GetCount2_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_GetCount2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetCount2_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    long count);


void __RPC_STUB IMeshPartArrayDefinition_SetCount2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMeshPartArrayDefinition_GetStep2_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_GetStep2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetStep2_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB IMeshPartArrayDefinition_SetStep2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IMeshPartArrayDefinition_GetAxis1_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_GetAxis1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetAxis1_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    LPENTITY axis);


void __RPC_STUB IMeshPartArrayDefinition_SetAxis1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IMeshPartArrayDefinition_GetAxis2_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_GetAxis2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetAxis2_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    LPENTITY axis);


void __RPC_STUB IMeshPartArrayDefinition_SetAxis2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_GetFactor2_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_GetFactor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetFactor2_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    BOOL factor);


void __RPC_STUB IMeshPartArrayDefinition_SetFactor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_GetInsideFlag_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_GetInsideFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetInsideFlag_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    BOOL flag);


void __RPC_STUB IMeshPartArrayDefinition_SetInsideFlag_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_GetCopyParamAlongAxis_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    BOOL firstAxis,
    double __RPC_FAR *angle,
    long __RPC_FAR *count,
    double __RPC_FAR *step,
    BOOL __RPC_FAR *factor);


void __RPC_STUB IMeshPartArrayDefinition_GetCopyParamAlongAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeshPartArrayDefinition_SetCopyParamAlongAxis_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This,
    BOOL firstAxis,
    double angle,
    long count,
    double step,
    BOOL factor);


void __RPC_STUB IMeshPartArrayDefinition_SetCopyParamAlongAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE IMeshPartArrayDefinition_DeletedCollection_Proxy( 
    IMeshPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IMeshPartArrayDefinition_DeletedCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMeshPartArrayDefinition_INTERFACE_DEFINED__ */


#ifndef __ICircularPartArrayDefinition_INTERFACE_DEFINED__
#define __ICircularPartArrayDefinition_INTERFACE_DEFINED__

/* interface ICircularPartArrayDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICircularPartArrayDefinition,0x7AA0E540,0x0378,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0378-11D4-A30E-00C026EE094F")
    ICircularPartArrayDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE PartArray( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetAxis( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAxis( 
            LPENTITY axis) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCount1( 
            long count) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep1( 
            double step) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFactor1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFactor1( 
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCount2( 
            long count) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep2( 
            double step) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFactor2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFactor2( 
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetInverce( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetInverce( 
            BOOL inverce) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetCopyParamAlongDir( 
            long __RPC_FAR *count,
            double __RPC_FAR *step,
            BOOL __RPC_FAR *factor,
            BOOL dir) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCopyParamAlongDir( 
            long count,
            double step,
            BOOL factor,
            BOOL dir) = 0;
        
        virtual /* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE DeletedCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetKeepAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetKeepAngle( 
            BOOL keepAngle) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICircularPartArrayDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPPARTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PartArray )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetAxis )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAxis )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            LPENTITY axis);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount1 )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCount1 )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            long count);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep1 )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep1 )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFactor1 )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFactor1 )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            BOOL factor);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount2 )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCount2 )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            long count);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep2 )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep2 )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFactor2 )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFactor2 )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            BOOL factor);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetInverce )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetInverce )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            BOOL inverce);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetCopyParamAlongDir )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            long __RPC_FAR *count,
            double __RPC_FAR *step,
            BOOL __RPC_FAR *factor,
            BOOL dir);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCopyParamAlongDir )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            long count,
            double step,
            BOOL factor,
            BOOL dir);
        
        /* [helpstring] */ LPDELETEDCOPYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *DeletedCollection )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetKeepAngle )( 
            ICircularPartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetKeepAngle )( 
            ICircularPartArrayDefinition __RPC_FAR * This,
            BOOL keepAngle);
        
        END_INTERFACE
    } ICircularPartArrayDefinitionVtbl;

    interface ICircularPartArrayDefinition
    {
        CONST_VTBL struct ICircularPartArrayDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICircularPartArrayDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICircularPartArrayDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICircularPartArrayDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICircularPartArrayDefinition_PartArray(This)	\
    (This)->lpVtbl -> PartArray(This)

#define ICircularPartArrayDefinition_GetAxis(This)	\
    (This)->lpVtbl -> GetAxis(This)

#define ICircularPartArrayDefinition_SetAxis(This,axis)	\
    (This)->lpVtbl -> SetAxis(This,axis)

#define ICircularPartArrayDefinition_GetCount1(This)	\
    (This)->lpVtbl -> GetCount1(This)

#define ICircularPartArrayDefinition_SetCount1(This,count)	\
    (This)->lpVtbl -> SetCount1(This,count)

#define ICircularPartArrayDefinition_GetStep1(This)	\
    (This)->lpVtbl -> GetStep1(This)

#define ICircularPartArrayDefinition_SetStep1(This,step)	\
    (This)->lpVtbl -> SetStep1(This,step)

#define ICircularPartArrayDefinition_GetFactor1(This)	\
    (This)->lpVtbl -> GetFactor1(This)

#define ICircularPartArrayDefinition_SetFactor1(This,factor)	\
    (This)->lpVtbl -> SetFactor1(This,factor)

#define ICircularPartArrayDefinition_GetCount2(This)	\
    (This)->lpVtbl -> GetCount2(This)

#define ICircularPartArrayDefinition_SetCount2(This,count)	\
    (This)->lpVtbl -> SetCount2(This,count)

#define ICircularPartArrayDefinition_GetStep2(This)	\
    (This)->lpVtbl -> GetStep2(This)

#define ICircularPartArrayDefinition_SetStep2(This,step)	\
    (This)->lpVtbl -> SetStep2(This,step)

#define ICircularPartArrayDefinition_GetFactor2(This)	\
    (This)->lpVtbl -> GetFactor2(This)

#define ICircularPartArrayDefinition_SetFactor2(This,factor)	\
    (This)->lpVtbl -> SetFactor2(This,factor)

#define ICircularPartArrayDefinition_GetInverce(This)	\
    (This)->lpVtbl -> GetInverce(This)

#define ICircularPartArrayDefinition_SetInverce(This,inverce)	\
    (This)->lpVtbl -> SetInverce(This,inverce)

#define ICircularPartArrayDefinition_GetCopyParamAlongDir(This,count,step,factor,dir)	\
    (This)->lpVtbl -> GetCopyParamAlongDir(This,count,step,factor,dir)

#define ICircularPartArrayDefinition_SetCopyParamAlongDir(This,count,step,factor,dir)	\
    (This)->lpVtbl -> SetCopyParamAlongDir(This,count,step,factor,dir)

#define ICircularPartArrayDefinition_DeletedCollection(This)	\
    (This)->lpVtbl -> DeletedCollection(This)

#define ICircularPartArrayDefinition_GetKeepAngle(This)	\
    (This)->lpVtbl -> GetKeepAngle(This)

#define ICircularPartArrayDefinition_SetKeepAngle(This,keepAngle)	\
    (This)->lpVtbl -> SetKeepAngle(This,keepAngle)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE ICircularPartArrayDefinition_PartArray_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICircularPartArrayDefinition_PartArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICircularPartArrayDefinition_GetAxis_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICircularPartArrayDefinition_GetAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_SetAxis_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This,
    LPENTITY axis);


void __RPC_STUB ICircularPartArrayDefinition_SetAxis_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICircularPartArrayDefinition_GetCount1_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICircularPartArrayDefinition_GetCount1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_SetCount1_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This,
    long count);


void __RPC_STUB ICircularPartArrayDefinition_SetCount1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICircularPartArrayDefinition_GetStep1_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICircularPartArrayDefinition_GetStep1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_SetStep1_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB ICircularPartArrayDefinition_SetStep1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_GetFactor1_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICircularPartArrayDefinition_GetFactor1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_SetFactor1_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This,
    BOOL factor);


void __RPC_STUB ICircularPartArrayDefinition_SetFactor1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICircularPartArrayDefinition_GetCount2_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICircularPartArrayDefinition_GetCount2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_SetCount2_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This,
    long count);


void __RPC_STUB ICircularPartArrayDefinition_SetCount2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICircularPartArrayDefinition_GetStep2_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICircularPartArrayDefinition_GetStep2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_SetStep2_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB ICircularPartArrayDefinition_SetStep2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_GetFactor2_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICircularPartArrayDefinition_GetFactor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_SetFactor2_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This,
    BOOL factor);


void __RPC_STUB ICircularPartArrayDefinition_SetFactor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_GetInverce_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICircularPartArrayDefinition_GetInverce_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_SetInverce_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This,
    BOOL inverce);


void __RPC_STUB ICircularPartArrayDefinition_SetInverce_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_GetCopyParamAlongDir_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This,
    long __RPC_FAR *count,
    double __RPC_FAR *step,
    BOOL __RPC_FAR *factor,
    BOOL dir);


void __RPC_STUB ICircularPartArrayDefinition_GetCopyParamAlongDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_SetCopyParamAlongDir_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This,
    long count,
    double step,
    BOOL factor,
    BOOL dir);


void __RPC_STUB ICircularPartArrayDefinition_SetCopyParamAlongDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE ICircularPartArrayDefinition_DeletedCollection_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICircularPartArrayDefinition_DeletedCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_GetKeepAngle_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICircularPartArrayDefinition_GetKeepAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICircularPartArrayDefinition_SetKeepAngle_Proxy( 
    ICircularPartArrayDefinition __RPC_FAR * This,
    BOOL keepAngle);


void __RPC_STUB ICircularPartArrayDefinition_SetKeepAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICircularPartArrayDefinition_INTERFACE_DEFINED__ */


#ifndef __ICurvePartArrayDefinition_INTERFACE_DEFINED__
#define __ICurvePartArrayDefinition_INTERFACE_DEFINED__

/* interface ICurvePartArrayDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICurvePartArrayDefinition,0x7AA0E540,0x0379,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0379-11D4-A30E-00C026EE094F")
    ICurvePartArrayDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE PartArray( void) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE CurveArray( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep( 
            double step) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetCount( 
            long count) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFactor( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFactor( 
            BOOL factor) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSence( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSence( 
            BOOL sence) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetKeepAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetKeepAngle( 
            BOOL keepAngle) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFullCurve( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFullCurve( 
            BOOL fullCurve) = 0;
        
        virtual /* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE DeletedCollection( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICurvePartArrayDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICurvePartArrayDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICurvePartArrayDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICurvePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPPARTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PartArray )( 
            ICurvePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *CurveArray )( 
            ICurvePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep )( 
            ICurvePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep )( 
            ICurvePartArrayDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            ICurvePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetCount )( 
            ICurvePartArrayDefinition __RPC_FAR * This,
            long count);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFactor )( 
            ICurvePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFactor )( 
            ICurvePartArrayDefinition __RPC_FAR * This,
            BOOL factor);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSence )( 
            ICurvePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSence )( 
            ICurvePartArrayDefinition __RPC_FAR * This,
            BOOL sence);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetKeepAngle )( 
            ICurvePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetKeepAngle )( 
            ICurvePartArrayDefinition __RPC_FAR * This,
            BOOL keepAngle);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFullCurve )( 
            ICurvePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFullCurve )( 
            ICurvePartArrayDefinition __RPC_FAR * This,
            BOOL fullCurve);
        
        /* [helpstring] */ LPDELETEDCOPYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *DeletedCollection )( 
            ICurvePartArrayDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } ICurvePartArrayDefinitionVtbl;

    interface ICurvePartArrayDefinition
    {
        CONST_VTBL struct ICurvePartArrayDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICurvePartArrayDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICurvePartArrayDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICurvePartArrayDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICurvePartArrayDefinition_PartArray(This)	\
    (This)->lpVtbl -> PartArray(This)

#define ICurvePartArrayDefinition_CurveArray(This)	\
    (This)->lpVtbl -> CurveArray(This)

#define ICurvePartArrayDefinition_GetStep(This)	\
    (This)->lpVtbl -> GetStep(This)

#define ICurvePartArrayDefinition_SetStep(This,step)	\
    (This)->lpVtbl -> SetStep(This,step)

#define ICurvePartArrayDefinition_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define ICurvePartArrayDefinition_SetCount(This,count)	\
    (This)->lpVtbl -> SetCount(This,count)

#define ICurvePartArrayDefinition_GetFactor(This)	\
    (This)->lpVtbl -> GetFactor(This)

#define ICurvePartArrayDefinition_SetFactor(This,factor)	\
    (This)->lpVtbl -> SetFactor(This,factor)

#define ICurvePartArrayDefinition_GetSence(This)	\
    (This)->lpVtbl -> GetSence(This)

#define ICurvePartArrayDefinition_SetSence(This,sence)	\
    (This)->lpVtbl -> SetSence(This,sence)

#define ICurvePartArrayDefinition_GetKeepAngle(This)	\
    (This)->lpVtbl -> GetKeepAngle(This)

#define ICurvePartArrayDefinition_SetKeepAngle(This,keepAngle)	\
    (This)->lpVtbl -> SetKeepAngle(This,keepAngle)

#define ICurvePartArrayDefinition_GetFullCurve(This)	\
    (This)->lpVtbl -> GetFullCurve(This)

#define ICurvePartArrayDefinition_SetFullCurve(This,fullCurve)	\
    (This)->lpVtbl -> SetFullCurve(This,fullCurve)

#define ICurvePartArrayDefinition_DeletedCollection(This)	\
    (This)->lpVtbl -> DeletedCollection(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE ICurvePartArrayDefinition_PartArray_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICurvePartArrayDefinition_PartArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE ICurvePartArrayDefinition_CurveArray_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICurvePartArrayDefinition_CurveArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICurvePartArrayDefinition_GetStep_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICurvePartArrayDefinition_GetStep_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurvePartArrayDefinition_SetStep_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB ICurvePartArrayDefinition_SetStep_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ICurvePartArrayDefinition_GetCount_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICurvePartArrayDefinition_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurvePartArrayDefinition_SetCount_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This,
    long count);


void __RPC_STUB ICurvePartArrayDefinition_SetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurvePartArrayDefinition_GetFactor_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICurvePartArrayDefinition_GetFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurvePartArrayDefinition_SetFactor_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This,
    BOOL factor);


void __RPC_STUB ICurvePartArrayDefinition_SetFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurvePartArrayDefinition_GetSence_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICurvePartArrayDefinition_GetSence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurvePartArrayDefinition_SetSence_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This,
    BOOL sence);


void __RPC_STUB ICurvePartArrayDefinition_SetSence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurvePartArrayDefinition_GetKeepAngle_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICurvePartArrayDefinition_GetKeepAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurvePartArrayDefinition_SetKeepAngle_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This,
    BOOL keepAngle);


void __RPC_STUB ICurvePartArrayDefinition_SetKeepAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurvePartArrayDefinition_GetFullCurve_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICurvePartArrayDefinition_GetFullCurve_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurvePartArrayDefinition_SetFullCurve_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This,
    BOOL fullCurve);


void __RPC_STUB ICurvePartArrayDefinition_SetFullCurve_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE ICurvePartArrayDefinition_DeletedCollection_Proxy( 
    ICurvePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB ICurvePartArrayDefinition_DeletedCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICurvePartArrayDefinition_INTERFACE_DEFINED__ */


#ifndef __IDerivativePartArrayDefinition_INTERFACE_DEFINED__
#define __IDerivativePartArrayDefinition_INTERFACE_DEFINED__

/* interface IDerivativePartArrayDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IDerivativePartArrayDefinition,0x7AA0E540,0x0380,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0380-11D4-A30E-00C026EE094F")
    IDerivativePartArrayDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE PartArray( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDeriv( 
            LPENTITY deriv) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetDeriv( void) = 0;
        
        virtual /* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE DeletedCollection( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDerivativePartArrayDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDerivativePartArrayDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDerivativePartArrayDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDerivativePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPPARTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PartArray )( 
            IDerivativePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDeriv )( 
            IDerivativePartArrayDefinition __RPC_FAR * This,
            LPENTITY deriv);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetDeriv )( 
            IDerivativePartArrayDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPDELETEDCOPYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *DeletedCollection )( 
            IDerivativePartArrayDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IDerivativePartArrayDefinitionVtbl;

    interface IDerivativePartArrayDefinition
    {
        CONST_VTBL struct IDerivativePartArrayDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDerivativePartArrayDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDerivativePartArrayDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDerivativePartArrayDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDerivativePartArrayDefinition_PartArray(This)	\
    (This)->lpVtbl -> PartArray(This)

#define IDerivativePartArrayDefinition_SetDeriv(This,deriv)	\
    (This)->lpVtbl -> SetDeriv(This,deriv)

#define IDerivativePartArrayDefinition_GetDeriv(This)	\
    (This)->lpVtbl -> GetDeriv(This)

#define IDerivativePartArrayDefinition_DeletedCollection(This)	\
    (This)->lpVtbl -> DeletedCollection(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE IDerivativePartArrayDefinition_PartArray_Proxy( 
    IDerivativePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IDerivativePartArrayDefinition_PartArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDerivativePartArrayDefinition_SetDeriv_Proxy( 
    IDerivativePartArrayDefinition __RPC_FAR * This,
    LPENTITY deriv);


void __RPC_STUB IDerivativePartArrayDefinition_SetDeriv_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IDerivativePartArrayDefinition_GetDeriv_Proxy( 
    IDerivativePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IDerivativePartArrayDefinition_GetDeriv_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPDELETEDCOPYCOLLECTION STDMETHODCALLTYPE IDerivativePartArrayDefinition_DeletedCollection_Proxy( 
    IDerivativePartArrayDefinition __RPC_FAR * This);


void __RPC_STUB IDerivativePartArrayDefinition_DeletedCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDerivativePartArrayDefinition_INTERFACE_DEFINED__ */


#ifndef __IInclineDefinition_INTERFACE_DEFINED__
#define __IInclineDefinition_INTERFACE_DEFINED__

/* interface IInclineDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IInclineDefinition,0x7AA0E540,0x0381,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0381-11D4-A30E-00C026EE094F")
    IInclineDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE FaceArray( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngle( 
            double angle) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDirection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirection( 
            BOOL direction) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY plane) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IInclineDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IInclineDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IInclineDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IInclineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *FaceArray )( 
            IInclineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle )( 
            IInclineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngle )( 
            IInclineDefinition __RPC_FAR * This,
            double angle);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDirection )( 
            IInclineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirection )( 
            IInclineDefinition __RPC_FAR * This,
            BOOL direction);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            IInclineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IInclineDefinition __RPC_FAR * This,
            LPENTITY plane);
        
        END_INTERFACE
    } IInclineDefinitionVtbl;

    interface IInclineDefinition
    {
        CONST_VTBL struct IInclineDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IInclineDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IInclineDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IInclineDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IInclineDefinition_FaceArray(This)	\
    (This)->lpVtbl -> FaceArray(This)

#define IInclineDefinition_GetAngle(This)	\
    (This)->lpVtbl -> GetAngle(This)

#define IInclineDefinition_SetAngle(This,angle)	\
    (This)->lpVtbl -> SetAngle(This,angle)

#define IInclineDefinition_GetDirection(This)	\
    (This)->lpVtbl -> GetDirection(This)

#define IInclineDefinition_SetDirection(This,direction)	\
    (This)->lpVtbl -> SetDirection(This,direction)

#define IInclineDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define IInclineDefinition_SetPlane(This,plane)	\
    (This)->lpVtbl -> SetPlane(This,plane)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IInclineDefinition_FaceArray_Proxy( 
    IInclineDefinition __RPC_FAR * This);


void __RPC_STUB IInclineDefinition_FaceArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IInclineDefinition_GetAngle_Proxy( 
    IInclineDefinition __RPC_FAR * This);


void __RPC_STUB IInclineDefinition_GetAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IInclineDefinition_SetAngle_Proxy( 
    IInclineDefinition __RPC_FAR * This,
    double angle);


void __RPC_STUB IInclineDefinition_SetAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IInclineDefinition_GetDirection_Proxy( 
    IInclineDefinition __RPC_FAR * This);


void __RPC_STUB IInclineDefinition_GetDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IInclineDefinition_SetDirection_Proxy( 
    IInclineDefinition __RPC_FAR * This,
    BOOL direction);


void __RPC_STUB IInclineDefinition_SetDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IInclineDefinition_GetPlane_Proxy( 
    IInclineDefinition __RPC_FAR * This);


void __RPC_STUB IInclineDefinition_GetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IInclineDefinition_SetPlane_Proxy( 
    IInclineDefinition __RPC_FAR * This,
    LPENTITY plane);


void __RPC_STUB IInclineDefinition_SetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IInclineDefinition_INTERFACE_DEFINED__ */


#ifndef __IRibDefinition_INTERFACE_DEFINED__
#define __IRibDefinition_INTERFACE_DEFINED__

/* interface IRibDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IRibDefinition,0x7AA0E540,0x0382,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0382-11D4-A30E-00C026EE094F")
    IRibDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY sketch) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetIndexSegmentBySketch( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetIndexSegmentBySketch( 
            int index) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAngle( 
            double angle) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetSide( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSide( 
            int side) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetThinParam( 
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetThinParam( 
            BYTE thinType,
            double normalThickness,
            double reverseThickness) = 0;
        
        virtual /* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE ThinParam( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRibDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IRibDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IRibDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IRibDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            IRibDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            IRibDefinition __RPC_FAR * This,
            LPENTITY sketch);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetIndexSegmentBySketch )( 
            IRibDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetIndexSegmentBySketch )( 
            IRibDefinition __RPC_FAR * This,
            int index);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle )( 
            IRibDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAngle )( 
            IRibDefinition __RPC_FAR * This,
            double angle);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetSide )( 
            IRibDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSide )( 
            IRibDefinition __RPC_FAR * This,
            int side);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetThinParam )( 
            IRibDefinition __RPC_FAR * This,
            BYTE __RPC_FAR *thinType,
            double __RPC_FAR *normalThickness,
            double __RPC_FAR *reverseThickness);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetThinParam )( 
            IRibDefinition __RPC_FAR * This,
            BYTE thinType,
            double normalThickness,
            double reverseThickness);
        
        /* [helpstring] */ LPTHINPARAM ( STDMETHODCALLTYPE __RPC_FAR *ThinParam )( 
            IRibDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IRibDefinitionVtbl;

    interface IRibDefinition
    {
        CONST_VTBL struct IRibDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRibDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRibDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRibDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRibDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define IRibDefinition_SetSketch(This,sketch)	\
    (This)->lpVtbl -> SetSketch(This,sketch)

#define IRibDefinition_GetIndexSegmentBySketch(This)	\
    (This)->lpVtbl -> GetIndexSegmentBySketch(This)

#define IRibDefinition_SetIndexSegmentBySketch(This,index)	\
    (This)->lpVtbl -> SetIndexSegmentBySketch(This,index)

#define IRibDefinition_GetAngle(This)	\
    (This)->lpVtbl -> GetAngle(This)

#define IRibDefinition_SetAngle(This,angle)	\
    (This)->lpVtbl -> SetAngle(This,angle)

#define IRibDefinition_GetSide(This)	\
    (This)->lpVtbl -> GetSide(This)

#define IRibDefinition_SetSide(This,side)	\
    (This)->lpVtbl -> SetSide(This,side)

#define IRibDefinition_GetThinParam(This,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> GetThinParam(This,thinType,normalThickness,reverseThickness)

#define IRibDefinition_SetThinParam(This,thinType,normalThickness,reverseThickness)	\
    (This)->lpVtbl -> SetThinParam(This,thinType,normalThickness,reverseThickness)

#define IRibDefinition_ThinParam(This)	\
    (This)->lpVtbl -> ThinParam(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IRibDefinition_GetSketch_Proxy( 
    IRibDefinition __RPC_FAR * This);


void __RPC_STUB IRibDefinition_GetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRibDefinition_SetSketch_Proxy( 
    IRibDefinition __RPC_FAR * This,
    LPENTITY sketch);


void __RPC_STUB IRibDefinition_SetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ int STDMETHODCALLTYPE IRibDefinition_GetIndexSegmentBySketch_Proxy( 
    IRibDefinition __RPC_FAR * This);


void __RPC_STUB IRibDefinition_GetIndexSegmentBySketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRibDefinition_SetIndexSegmentBySketch_Proxy( 
    IRibDefinition __RPC_FAR * This,
    int index);


void __RPC_STUB IRibDefinition_SetIndexSegmentBySketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IRibDefinition_GetAngle_Proxy( 
    IRibDefinition __RPC_FAR * This);


void __RPC_STUB IRibDefinition_GetAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRibDefinition_SetAngle_Proxy( 
    IRibDefinition __RPC_FAR * This,
    double angle);


void __RPC_STUB IRibDefinition_SetAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ int STDMETHODCALLTYPE IRibDefinition_GetSide_Proxy( 
    IRibDefinition __RPC_FAR * This);


void __RPC_STUB IRibDefinition_GetSide_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRibDefinition_SetSide_Proxy( 
    IRibDefinition __RPC_FAR * This,
    int side);


void __RPC_STUB IRibDefinition_SetSide_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRibDefinition_GetThinParam_Proxy( 
    IRibDefinition __RPC_FAR * This,
    BYTE __RPC_FAR *thinType,
    double __RPC_FAR *normalThickness,
    double __RPC_FAR *reverseThickness);


void __RPC_STUB IRibDefinition_GetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IRibDefinition_SetThinParam_Proxy( 
    IRibDefinition __RPC_FAR * This,
    BYTE thinType,
    double normalThickness,
    double reverseThickness);


void __RPC_STUB IRibDefinition_SetThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPTHINPARAM STDMETHODCALLTYPE IRibDefinition_ThinParam_Proxy( 
    IRibDefinition __RPC_FAR * This);


void __RPC_STUB IRibDefinition_ThinParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRibDefinition_INTERFACE_DEFINED__ */


#ifndef __IImportedSurfaceDefinition_INTERFACE_DEFINED__
#define __IImportedSurfaceDefinition_INTERFACE_DEFINED__

/* interface IImportedSurfaceDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IImportedSurfaceDefinition,0x7AA0E540,0x0384,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0384-11D4-A30E-00C026EE094F")
    IImportedSurfaceDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE BeginCurve( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddPoint( 
            double x,
            double y,
            double z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE EndCurve( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddCurve( 
            VARIANT arr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IImportedSurfaceDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IImportedSurfaceDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IImportedSurfaceDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IImportedSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IImportedSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginCurve )( 
            IImportedSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddPoint )( 
            IImportedSurfaceDefinition __RPC_FAR * This,
            double x,
            double y,
            double z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *EndCurve )( 
            IImportedSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddCurve )( 
            IImportedSurfaceDefinition __RPC_FAR * This,
            VARIANT arr);
        
        END_INTERFACE
    } IImportedSurfaceDefinitionVtbl;

    interface IImportedSurfaceDefinition
    {
        CONST_VTBL struct IImportedSurfaceDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IImportedSurfaceDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IImportedSurfaceDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IImportedSurfaceDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IImportedSurfaceDefinition_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IImportedSurfaceDefinition_BeginCurve(This)	\
    (This)->lpVtbl -> BeginCurve(This)

#define IImportedSurfaceDefinition_AddPoint(This,x,y,z)	\
    (This)->lpVtbl -> AddPoint(This,x,y,z)

#define IImportedSurfaceDefinition_EndCurve(This)	\
    (This)->lpVtbl -> EndCurve(This)

#define IImportedSurfaceDefinition_AddCurve(This,arr)	\
    (This)->lpVtbl -> AddCurve(This,arr)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IImportedSurfaceDefinition_Clear_Proxy( 
    IImportedSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IImportedSurfaceDefinition_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IImportedSurfaceDefinition_BeginCurve_Proxy( 
    IImportedSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IImportedSurfaceDefinition_BeginCurve_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IImportedSurfaceDefinition_AddPoint_Proxy( 
    IImportedSurfaceDefinition __RPC_FAR * This,
    double x,
    double y,
    double z);


void __RPC_STUB IImportedSurfaceDefinition_AddPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IImportedSurfaceDefinition_EndCurve_Proxy( 
    IImportedSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IImportedSurfaceDefinition_EndCurve_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IImportedSurfaceDefinition_AddCurve_Proxy( 
    IImportedSurfaceDefinition __RPC_FAR * This,
    VARIANT arr);


void __RPC_STUB IImportedSurfaceDefinition_AddCurve_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IImportedSurfaceDefinition_INTERFACE_DEFINED__ */


#ifndef __IPolygonalLineDefinition_INTERFACE_DEFINED__
#define __IPolygonalLineDefinition_INTERFACE_DEFINED__

/* interface IPolygonalLineDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPolygonalLineDefinition,0x7AA0E540,0x0400,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0400-11D4-A30E-00C026EE094F")
    IPolygonalLineDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCountVertex( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddVertex( 
            double x,
            double y,
            double z,
            double radius) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE InsertVertex( 
            long index,
            double x,
            double y,
            double z,
            double radius) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DeleteVertex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetParamVertex( 
            long index,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z,
            double __RPC_FAR *radius) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Flush( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetClosed( 
            BOOL cls) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetClosed( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE ReadFromFile( 
            LPOLESTR fileName) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE WriteToFile( 
            LPOLESTR fileName) = 0;
        
        virtual /* [helpstring] */ LPEDGECOLLECTION STDMETHODCALLTYPE EdgeCollection( void) = 0;
        
        virtual /* [helpstring] */ LPPOLYGONALLINEVERTEXPARAM STDMETHODCALLTYPE AddPointWithParams( 
            int index) = 0;
        
        virtual /* [helpstring] */ LPPOLYGONALLINEVERTEXPARAM STDMETHODCALLTYPE GetPointParams( 
            int index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetVertexVisible( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetVertexVisible( 
            BOOL visible) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPolygonalLineDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPolygonalLineDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPolygonalLineDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPolygonalLineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCountVertex )( 
            IPolygonalLineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddVertex )( 
            IPolygonalLineDefinition __RPC_FAR * This,
            double x,
            double y,
            double z,
            double radius);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *InsertVertex )( 
            IPolygonalLineDefinition __RPC_FAR * This,
            long index,
            double x,
            double y,
            double z,
            double radius);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DeleteVertex )( 
            IPolygonalLineDefinition __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetParamVertex )( 
            IPolygonalLineDefinition __RPC_FAR * This,
            long index,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z,
            double __RPC_FAR *radius);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Flush )( 
            IPolygonalLineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetClosed )( 
            IPolygonalLineDefinition __RPC_FAR * This,
            BOOL cls);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetClosed )( 
            IPolygonalLineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *ReadFromFile )( 
            IPolygonalLineDefinition __RPC_FAR * This,
            LPOLESTR fileName);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *WriteToFile )( 
            IPolygonalLineDefinition __RPC_FAR * This,
            LPOLESTR fileName);
        
        /* [helpstring] */ LPEDGECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *EdgeCollection )( 
            IPolygonalLineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPPOLYGONALLINEVERTEXPARAM ( STDMETHODCALLTYPE __RPC_FAR *AddPointWithParams )( 
            IPolygonalLineDefinition __RPC_FAR * This,
            int index);
        
        /* [helpstring] */ LPPOLYGONALLINEVERTEXPARAM ( STDMETHODCALLTYPE __RPC_FAR *GetPointParams )( 
            IPolygonalLineDefinition __RPC_FAR * This,
            int index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetVertexVisible )( 
            IPolygonalLineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetVertexVisible )( 
            IPolygonalLineDefinition __RPC_FAR * This,
            BOOL visible);
        
        END_INTERFACE
    } IPolygonalLineDefinitionVtbl;

    interface IPolygonalLineDefinition
    {
        CONST_VTBL struct IPolygonalLineDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IPolygonalLineDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IPolygonalLineDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IPolygonalLineDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IPolygonalLineDefinition_GetCountVertex(This)	\
    (This)->lpVtbl -> GetCountVertex(This)

#define IPolygonalLineDefinition_AddVertex(This,x,y,z,radius)	\
    (This)->lpVtbl -> AddVertex(This,x,y,z,radius)

#define IPolygonalLineDefinition_InsertVertex(This,index,x,y,z,radius)	\
    (This)->lpVtbl -> InsertVertex(This,index,x,y,z,radius)

#define IPolygonalLineDefinition_DeleteVertex(This,index)	\
    (This)->lpVtbl -> DeleteVertex(This,index)

#define IPolygonalLineDefinition_GetParamVertex(This,index,x,y,z,radius)	\
    (This)->lpVtbl -> GetParamVertex(This,index,x,y,z,radius)

#define IPolygonalLineDefinition_Flush(This)	\
    (This)->lpVtbl -> Flush(This)

#define IPolygonalLineDefinition_SetClosed(This,cls)	\
    (This)->lpVtbl -> SetClosed(This,cls)

#define IPolygonalLineDefinition_GetClosed(This)	\
    (This)->lpVtbl -> GetClosed(This)

#define IPolygonalLineDefinition_ReadFromFile(This,fileName)	\
    (This)->lpVtbl -> ReadFromFile(This,fileName)

#define IPolygonalLineDefinition_WriteToFile(This,fileName)	\
    (This)->lpVtbl -> WriteToFile(This,fileName)

#define IPolygonalLineDefinition_EdgeCollection(This)	\
    (This)->lpVtbl -> EdgeCollection(This)

#define IPolygonalLineDefinition_AddPointWithParams(This,index)	\
    (This)->lpVtbl -> AddPointWithParams(This,index)

#define IPolygonalLineDefinition_GetPointParams(This,index)	\
    (This)->lpVtbl -> GetPointParams(This,index)

#define IPolygonalLineDefinition_GetVertexVisible(This)	\
    (This)->lpVtbl -> GetVertexVisible(This)

#define IPolygonalLineDefinition_SetVertexVisible(This,visible)	\
    (This)->lpVtbl -> SetVertexVisible(This,visible)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ long STDMETHODCALLTYPE IPolygonalLineDefinition_GetCountVertex_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This);


void __RPC_STUB IPolygonalLineDefinition_GetCountVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineDefinition_AddVertex_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This,
    double x,
    double y,
    double z,
    double radius);


void __RPC_STUB IPolygonalLineDefinition_AddVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineDefinition_InsertVertex_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This,
    long index,
    double x,
    double y,
    double z,
    double radius);


void __RPC_STUB IPolygonalLineDefinition_InsertVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineDefinition_DeleteVertex_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This,
    long index);


void __RPC_STUB IPolygonalLineDefinition_DeleteVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineDefinition_GetParamVertex_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This,
    long index,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z,
    double __RPC_FAR *radius);


void __RPC_STUB IPolygonalLineDefinition_GetParamVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineDefinition_Flush_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This);


void __RPC_STUB IPolygonalLineDefinition_Flush_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineDefinition_SetClosed_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This,
    BOOL cls);


void __RPC_STUB IPolygonalLineDefinition_SetClosed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineDefinition_GetClosed_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This);


void __RPC_STUB IPolygonalLineDefinition_GetClosed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineDefinition_ReadFromFile_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This,
    LPOLESTR fileName);


void __RPC_STUB IPolygonalLineDefinition_ReadFromFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineDefinition_WriteToFile_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This,
    LPOLESTR fileName);


void __RPC_STUB IPolygonalLineDefinition_WriteToFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPEDGECOLLECTION STDMETHODCALLTYPE IPolygonalLineDefinition_EdgeCollection_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This);


void __RPC_STUB IPolygonalLineDefinition_EdgeCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPOLYGONALLINEVERTEXPARAM STDMETHODCALLTYPE IPolygonalLineDefinition_AddPointWithParams_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This,
    int index);


void __RPC_STUB IPolygonalLineDefinition_AddPointWithParams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPOLYGONALLINEVERTEXPARAM STDMETHODCALLTYPE IPolygonalLineDefinition_GetPointParams_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This,
    int index);


void __RPC_STUB IPolygonalLineDefinition_GetPointParams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineDefinition_GetVertexVisible_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This);


void __RPC_STUB IPolygonalLineDefinition_GetVertexVisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineDefinition_SetVertexVisible_Proxy( 
    IPolygonalLineDefinition __RPC_FAR * This,
    BOOL visible);


void __RPC_STUB IPolygonalLineDefinition_SetVertexVisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IPolygonalLineDefinition_INTERFACE_DEFINED__ */


#ifndef __IConicSpiralDefinition_INTERFACE_DEFINED__
#define __IConicSpiralDefinition_INTERFACE_DEFINED__

/* interface IConicSpiralDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IConicSpiralDefinition,0x7AA0E540,0x0401,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0401-11D4-A30E-00C026EE094F")
    IConicSpiralDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetTurn( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTurn( 
            double turn) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep( 
            double step) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetTurnDir( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTurnDir( 
            BOOL turnDir) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY plane) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetLocation( 
            double __RPC_FAR *x,
            double __RPC_FAR *y) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetLocation( 
            double x,
            double y) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetBuildMode( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetBuildMode( 
            short buildMode) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetBuildDir( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetBuildDir( 
            BOOL buildDir) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetHeight( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHeight( 
            double height) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetHeightType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHeightType( 
            short heightType) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetHeightAdd( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHeightAdd( 
            double heightAdd) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHeightAddHow( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHeightAddHow( 
            BOOL heightAddHow) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHeightObject( 
            LPENTITY heightObject) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetHeightObject( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetInitialDiam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetInitialDiam( 
            double diam1Type) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetInitialDiamType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetInitialDiamType( 
            short diam1Type) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetInitialDiamObject( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetInitialDiamObject( 
            LPENTITY diam1Object) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetTerminalDiam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTerminalDiam( 
            double diam2) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetTerminalDiamType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTerminalDiamType( 
            short diam2Type) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetTerminalDiamObject( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTerminalDiamObject( 
            LPENTITY diam2Object) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetTiltAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTiltAngle( 
            double tiltAngle) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetTiltAngleHow( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTiltAngleHow( 
            BOOL tiltAngleHow) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetFirstAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFirstAngle( 
            double firstAngle) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IConicSpiralDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IConicSpiralDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetTurn )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTurn )( 
            IConicSpiralDefinition __RPC_FAR * This,
            double turn);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep )( 
            IConicSpiralDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetTurnDir )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTurnDir )( 
            IConicSpiralDefinition __RPC_FAR * This,
            BOOL turnDir);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            IConicSpiralDefinition __RPC_FAR * This,
            LPENTITY plane);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetLocation )( 
            IConicSpiralDefinition __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetLocation )( 
            IConicSpiralDefinition __RPC_FAR * This,
            double x,
            double y);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetBuildMode )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetBuildMode )( 
            IConicSpiralDefinition __RPC_FAR * This,
            short buildMode);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetBuildDir )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetBuildDir )( 
            IConicSpiralDefinition __RPC_FAR * This,
            BOOL buildDir);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetHeight )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHeight )( 
            IConicSpiralDefinition __RPC_FAR * This,
            double height);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetHeightType )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHeightType )( 
            IConicSpiralDefinition __RPC_FAR * This,
            short heightType);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetHeightAdd )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHeightAdd )( 
            IConicSpiralDefinition __RPC_FAR * This,
            double heightAdd);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHeightAddHow )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHeightAddHow )( 
            IConicSpiralDefinition __RPC_FAR * This,
            BOOL heightAddHow);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHeightObject )( 
            IConicSpiralDefinition __RPC_FAR * This,
            LPENTITY heightObject);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetHeightObject )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetInitialDiam )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetInitialDiam )( 
            IConicSpiralDefinition __RPC_FAR * This,
            double diam1Type);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetInitialDiamType )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetInitialDiamType )( 
            IConicSpiralDefinition __RPC_FAR * This,
            short diam1Type);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetInitialDiamObject )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetInitialDiamObject )( 
            IConicSpiralDefinition __RPC_FAR * This,
            LPENTITY diam1Object);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetTerminalDiam )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTerminalDiam )( 
            IConicSpiralDefinition __RPC_FAR * This,
            double diam2);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetTerminalDiamType )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTerminalDiamType )( 
            IConicSpiralDefinition __RPC_FAR * This,
            short diam2Type);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetTerminalDiamObject )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTerminalDiamObject )( 
            IConicSpiralDefinition __RPC_FAR * This,
            LPENTITY diam2Object);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetTiltAngle )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTiltAngle )( 
            IConicSpiralDefinition __RPC_FAR * This,
            double tiltAngle);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetTiltAngleHow )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTiltAngleHow )( 
            IConicSpiralDefinition __RPC_FAR * This,
            BOOL tiltAngleHow);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetFirstAngle )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFirstAngle )( 
            IConicSpiralDefinition __RPC_FAR * This,
            double firstAngle);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            IConicSpiralDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IConicSpiralDefinitionVtbl;

    interface IConicSpiralDefinition
    {
        CONST_VTBL struct IConicSpiralDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IConicSpiralDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IConicSpiralDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IConicSpiralDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IConicSpiralDefinition_GetTurn(This)	\
    (This)->lpVtbl -> GetTurn(This)

#define IConicSpiralDefinition_SetTurn(This,turn)	\
    (This)->lpVtbl -> SetTurn(This,turn)

#define IConicSpiralDefinition_GetStep(This)	\
    (This)->lpVtbl -> GetStep(This)

#define IConicSpiralDefinition_SetStep(This,step)	\
    (This)->lpVtbl -> SetStep(This,step)

#define IConicSpiralDefinition_GetTurnDir(This)	\
    (This)->lpVtbl -> GetTurnDir(This)

#define IConicSpiralDefinition_SetTurnDir(This,turnDir)	\
    (This)->lpVtbl -> SetTurnDir(This,turnDir)

#define IConicSpiralDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define IConicSpiralDefinition_SetPlane(This,plane)	\
    (This)->lpVtbl -> SetPlane(This,plane)

#define IConicSpiralDefinition_GetLocation(This,x,y)	\
    (This)->lpVtbl -> GetLocation(This,x,y)

#define IConicSpiralDefinition_SetLocation(This,x,y)	\
    (This)->lpVtbl -> SetLocation(This,x,y)

#define IConicSpiralDefinition_GetBuildMode(This)	\
    (This)->lpVtbl -> GetBuildMode(This)

#define IConicSpiralDefinition_SetBuildMode(This,buildMode)	\
    (This)->lpVtbl -> SetBuildMode(This,buildMode)

#define IConicSpiralDefinition_GetBuildDir(This)	\
    (This)->lpVtbl -> GetBuildDir(This)

#define IConicSpiralDefinition_SetBuildDir(This,buildDir)	\
    (This)->lpVtbl -> SetBuildDir(This,buildDir)

#define IConicSpiralDefinition_GetHeight(This)	\
    (This)->lpVtbl -> GetHeight(This)

#define IConicSpiralDefinition_SetHeight(This,height)	\
    (This)->lpVtbl -> SetHeight(This,height)

#define IConicSpiralDefinition_GetHeightType(This)	\
    (This)->lpVtbl -> GetHeightType(This)

#define IConicSpiralDefinition_SetHeightType(This,heightType)	\
    (This)->lpVtbl -> SetHeightType(This,heightType)

#define IConicSpiralDefinition_GetHeightAdd(This)	\
    (This)->lpVtbl -> GetHeightAdd(This)

#define IConicSpiralDefinition_SetHeightAdd(This,heightAdd)	\
    (This)->lpVtbl -> SetHeightAdd(This,heightAdd)

#define IConicSpiralDefinition_GetHeightAddHow(This)	\
    (This)->lpVtbl -> GetHeightAddHow(This)

#define IConicSpiralDefinition_SetHeightAddHow(This,heightAddHow)	\
    (This)->lpVtbl -> SetHeightAddHow(This,heightAddHow)

#define IConicSpiralDefinition_SetHeightObject(This,heightObject)	\
    (This)->lpVtbl -> SetHeightObject(This,heightObject)

#define IConicSpiralDefinition_GetHeightObject(This)	\
    (This)->lpVtbl -> GetHeightObject(This)

#define IConicSpiralDefinition_GetInitialDiam(This)	\
    (This)->lpVtbl -> GetInitialDiam(This)

#define IConicSpiralDefinition_SetInitialDiam(This,diam1Type)	\
    (This)->lpVtbl -> SetInitialDiam(This,diam1Type)

#define IConicSpiralDefinition_GetInitialDiamType(This)	\
    (This)->lpVtbl -> GetInitialDiamType(This)

#define IConicSpiralDefinition_SetInitialDiamType(This,diam1Type)	\
    (This)->lpVtbl -> SetInitialDiamType(This,diam1Type)

#define IConicSpiralDefinition_GetInitialDiamObject(This)	\
    (This)->lpVtbl -> GetInitialDiamObject(This)

#define IConicSpiralDefinition_SetInitialDiamObject(This,diam1Object)	\
    (This)->lpVtbl -> SetInitialDiamObject(This,diam1Object)

#define IConicSpiralDefinition_GetTerminalDiam(This)	\
    (This)->lpVtbl -> GetTerminalDiam(This)

#define IConicSpiralDefinition_SetTerminalDiam(This,diam2)	\
    (This)->lpVtbl -> SetTerminalDiam(This,diam2)

#define IConicSpiralDefinition_GetTerminalDiamType(This)	\
    (This)->lpVtbl -> GetTerminalDiamType(This)

#define IConicSpiralDefinition_SetTerminalDiamType(This,diam2Type)	\
    (This)->lpVtbl -> SetTerminalDiamType(This,diam2Type)

#define IConicSpiralDefinition_GetTerminalDiamObject(This)	\
    (This)->lpVtbl -> GetTerminalDiamObject(This)

#define IConicSpiralDefinition_SetTerminalDiamObject(This,diam2Object)	\
    (This)->lpVtbl -> SetTerminalDiamObject(This,diam2Object)

#define IConicSpiralDefinition_GetTiltAngle(This)	\
    (This)->lpVtbl -> GetTiltAngle(This)

#define IConicSpiralDefinition_SetTiltAngle(This,tiltAngle)	\
    (This)->lpVtbl -> SetTiltAngle(This,tiltAngle)

#define IConicSpiralDefinition_GetTiltAngleHow(This)	\
    (This)->lpVtbl -> GetTiltAngleHow(This)

#define IConicSpiralDefinition_SetTiltAngleHow(This,tiltAngleHow)	\
    (This)->lpVtbl -> SetTiltAngleHow(This,tiltAngleHow)

#define IConicSpiralDefinition_GetFirstAngle(This)	\
    (This)->lpVtbl -> GetFirstAngle(This)

#define IConicSpiralDefinition_SetFirstAngle(This,firstAngle)	\
    (This)->lpVtbl -> SetFirstAngle(This,firstAngle)

#define IConicSpiralDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ double STDMETHODCALLTYPE IConicSpiralDefinition_GetTurn_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetTurn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetTurn_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    double turn);


void __RPC_STUB IConicSpiralDefinition_SetTurn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IConicSpiralDefinition_GetStep_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetStep_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetStep_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB IConicSpiralDefinition_SetStep_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_GetTurnDir_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetTurnDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetTurnDir_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    BOOL turnDir);


void __RPC_STUB IConicSpiralDefinition_SetTurnDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IConicSpiralDefinition_GetPlane_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetPlane_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    LPENTITY plane);


void __RPC_STUB IConicSpiralDefinition_SetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_GetLocation_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y);


void __RPC_STUB IConicSpiralDefinition_GetLocation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetLocation_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    double x,
    double y);


void __RPC_STUB IConicSpiralDefinition_SetLocation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ short STDMETHODCALLTYPE IConicSpiralDefinition_GetBuildMode_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetBuildMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetBuildMode_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    short buildMode);


void __RPC_STUB IConicSpiralDefinition_SetBuildMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_GetBuildDir_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetBuildDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetBuildDir_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    BOOL buildDir);


void __RPC_STUB IConicSpiralDefinition_SetBuildDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IConicSpiralDefinition_GetHeight_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetHeight_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    double height);


void __RPC_STUB IConicSpiralDefinition_SetHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ short STDMETHODCALLTYPE IConicSpiralDefinition_GetHeightType_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetHeightType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetHeightType_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    short heightType);


void __RPC_STUB IConicSpiralDefinition_SetHeightType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IConicSpiralDefinition_GetHeightAdd_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetHeightAdd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetHeightAdd_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    double heightAdd);


void __RPC_STUB IConicSpiralDefinition_SetHeightAdd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_GetHeightAddHow_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetHeightAddHow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetHeightAddHow_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    BOOL heightAddHow);


void __RPC_STUB IConicSpiralDefinition_SetHeightAddHow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetHeightObject_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    LPENTITY heightObject);


void __RPC_STUB IConicSpiralDefinition_SetHeightObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IConicSpiralDefinition_GetHeightObject_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetHeightObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IConicSpiralDefinition_GetInitialDiam_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetInitialDiam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetInitialDiam_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    double diam1Type);


void __RPC_STUB IConicSpiralDefinition_SetInitialDiam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ short STDMETHODCALLTYPE IConicSpiralDefinition_GetInitialDiamType_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetInitialDiamType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetInitialDiamType_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    short diam1Type);


void __RPC_STUB IConicSpiralDefinition_SetInitialDiamType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IConicSpiralDefinition_GetInitialDiamObject_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetInitialDiamObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetInitialDiamObject_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    LPENTITY diam1Object);


void __RPC_STUB IConicSpiralDefinition_SetInitialDiamObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IConicSpiralDefinition_GetTerminalDiam_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetTerminalDiam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetTerminalDiam_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    double diam2);


void __RPC_STUB IConicSpiralDefinition_SetTerminalDiam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ short STDMETHODCALLTYPE IConicSpiralDefinition_GetTerminalDiamType_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetTerminalDiamType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetTerminalDiamType_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    short diam2Type);


void __RPC_STUB IConicSpiralDefinition_SetTerminalDiamType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IConicSpiralDefinition_GetTerminalDiamObject_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetTerminalDiamObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetTerminalDiamObject_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    LPENTITY diam2Object);


void __RPC_STUB IConicSpiralDefinition_SetTerminalDiamObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IConicSpiralDefinition_GetTiltAngle_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetTiltAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetTiltAngle_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    double tiltAngle);


void __RPC_STUB IConicSpiralDefinition_SetTiltAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_GetTiltAngleHow_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetTiltAngleHow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetTiltAngleHow_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    BOOL tiltAngleHow);


void __RPC_STUB IConicSpiralDefinition_SetTiltAngleHow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IConicSpiralDefinition_GetFirstAngle_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetFirstAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConicSpiralDefinition_SetFirstAngle_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This,
    double firstAngle);


void __RPC_STUB IConicSpiralDefinition_SetFirstAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IConicSpiralDefinition_GetSketch_Proxy( 
    IConicSpiralDefinition __RPC_FAR * This);


void __RPC_STUB IConicSpiralDefinition_GetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IConicSpiralDefinition_INTERFACE_DEFINED__ */


#ifndef __ISplineDefinition_INTERFACE_DEFINED__
#define __ISplineDefinition_INTERFACE_DEFINED__

/* interface ISplineDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ISplineDefinition,0x7AA0E540,0x0402,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0402-11D4-A30E-00C026EE094F")
    ISplineDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCountVertex( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddVertex( 
            double x,
            double y,
            double z,
            double radius) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE InsertVertex( 
            long index,
            double x,
            double y,
            double z,
            double radius) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DeleteVertex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetParamVertex( 
            long index,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z,
            double __RPC_FAR *weight) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Flush( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetClosed( 
            BOOL cls) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetClosed( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE ReadFromFile( 
            LPOLESTR fileName) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE WriteToFile( 
            LPOLESTR fileName) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSplineOnPoles( 
            BOOL splineOnPoles) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSplineOnPoles( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDegree( 
            long degree) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetDegree( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddVertexAndAssociation( 
            long index,
            LPENTITY obj,
            double weight) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAssociation( 
            long index,
            LPENTITY obj) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetAssociation( 
            long index) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISplineDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ISplineDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ISplineDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ISplineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCountVertex )( 
            ISplineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddVertex )( 
            ISplineDefinition __RPC_FAR * This,
            double x,
            double y,
            double z,
            double radius);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *InsertVertex )( 
            ISplineDefinition __RPC_FAR * This,
            long index,
            double x,
            double y,
            double z,
            double radius);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DeleteVertex )( 
            ISplineDefinition __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetParamVertex )( 
            ISplineDefinition __RPC_FAR * This,
            long index,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z,
            double __RPC_FAR *weight);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Flush )( 
            ISplineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetClosed )( 
            ISplineDefinition __RPC_FAR * This,
            BOOL cls);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetClosed )( 
            ISplineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *ReadFromFile )( 
            ISplineDefinition __RPC_FAR * This,
            LPOLESTR fileName);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *WriteToFile )( 
            ISplineDefinition __RPC_FAR * This,
            LPOLESTR fileName);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSplineOnPoles )( 
            ISplineDefinition __RPC_FAR * This,
            BOOL splineOnPoles);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSplineOnPoles )( 
            ISplineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDegree )( 
            ISplineDefinition __RPC_FAR * This,
            long degree);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetDegree )( 
            ISplineDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddVertexAndAssociation )( 
            ISplineDefinition __RPC_FAR * This,
            long index,
            LPENTITY obj,
            double weight);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAssociation )( 
            ISplineDefinition __RPC_FAR * This,
            long index,
            LPENTITY obj);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetAssociation )( 
            ISplineDefinition __RPC_FAR * This,
            long index);
        
        END_INTERFACE
    } ISplineDefinitionVtbl;

    interface ISplineDefinition
    {
        CONST_VTBL struct ISplineDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISplineDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ISplineDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ISplineDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ISplineDefinition_GetCountVertex(This)	\
    (This)->lpVtbl -> GetCountVertex(This)

#define ISplineDefinition_AddVertex(This,x,y,z,radius)	\
    (This)->lpVtbl -> AddVertex(This,x,y,z,radius)

#define ISplineDefinition_InsertVertex(This,index,x,y,z,radius)	\
    (This)->lpVtbl -> InsertVertex(This,index,x,y,z,radius)

#define ISplineDefinition_DeleteVertex(This,index)	\
    (This)->lpVtbl -> DeleteVertex(This,index)

#define ISplineDefinition_GetParamVertex(This,index,x,y,z,weight)	\
    (This)->lpVtbl -> GetParamVertex(This,index,x,y,z,weight)

#define ISplineDefinition_Flush(This)	\
    (This)->lpVtbl -> Flush(This)

#define ISplineDefinition_SetClosed(This,cls)	\
    (This)->lpVtbl -> SetClosed(This,cls)

#define ISplineDefinition_GetClosed(This)	\
    (This)->lpVtbl -> GetClosed(This)

#define ISplineDefinition_ReadFromFile(This,fileName)	\
    (This)->lpVtbl -> ReadFromFile(This,fileName)

#define ISplineDefinition_WriteToFile(This,fileName)	\
    (This)->lpVtbl -> WriteToFile(This,fileName)

#define ISplineDefinition_SetSplineOnPoles(This,splineOnPoles)	\
    (This)->lpVtbl -> SetSplineOnPoles(This,splineOnPoles)

#define ISplineDefinition_GetSplineOnPoles(This)	\
    (This)->lpVtbl -> GetSplineOnPoles(This)

#define ISplineDefinition_SetDegree(This,degree)	\
    (This)->lpVtbl -> SetDegree(This,degree)

#define ISplineDefinition_GetDegree(This)	\
    (This)->lpVtbl -> GetDegree(This)

#define ISplineDefinition_AddVertexAndAssociation(This,index,obj,weight)	\
    (This)->lpVtbl -> AddVertexAndAssociation(This,index,obj,weight)

#define ISplineDefinition_SetAssociation(This,index,obj)	\
    (This)->lpVtbl -> SetAssociation(This,index,obj)

#define ISplineDefinition_GetAssociation(This,index)	\
    (This)->lpVtbl -> GetAssociation(This,index)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ long STDMETHODCALLTYPE ISplineDefinition_GetCountVertex_Proxy( 
    ISplineDefinition __RPC_FAR * This);


void __RPC_STUB ISplineDefinition_GetCountVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_AddVertex_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    double x,
    double y,
    double z,
    double radius);


void __RPC_STUB ISplineDefinition_AddVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_InsertVertex_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    long index,
    double x,
    double y,
    double z,
    double radius);


void __RPC_STUB ISplineDefinition_InsertVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_DeleteVertex_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    long index);


void __RPC_STUB ISplineDefinition_DeleteVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_GetParamVertex_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    long index,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z,
    double __RPC_FAR *weight);


void __RPC_STUB ISplineDefinition_GetParamVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_Flush_Proxy( 
    ISplineDefinition __RPC_FAR * This);


void __RPC_STUB ISplineDefinition_Flush_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_SetClosed_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    BOOL cls);


void __RPC_STUB ISplineDefinition_SetClosed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_GetClosed_Proxy( 
    ISplineDefinition __RPC_FAR * This);


void __RPC_STUB ISplineDefinition_GetClosed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_ReadFromFile_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    LPOLESTR fileName);


void __RPC_STUB ISplineDefinition_ReadFromFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_WriteToFile_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    LPOLESTR fileName);


void __RPC_STUB ISplineDefinition_WriteToFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_SetSplineOnPoles_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    BOOL splineOnPoles);


void __RPC_STUB ISplineDefinition_SetSplineOnPoles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_GetSplineOnPoles_Proxy( 
    ISplineDefinition __RPC_FAR * This);


void __RPC_STUB ISplineDefinition_GetSplineOnPoles_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_SetDegree_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    long degree);


void __RPC_STUB ISplineDefinition_SetDegree_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ISplineDefinition_GetDegree_Proxy( 
    ISplineDefinition __RPC_FAR * This);


void __RPC_STUB ISplineDefinition_GetDegree_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_AddVertexAndAssociation_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    long index,
    LPENTITY obj,
    double weight);


void __RPC_STUB ISplineDefinition_AddVertexAndAssociation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISplineDefinition_SetAssociation_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    long index,
    LPENTITY obj);


void __RPC_STUB ISplineDefinition_SetAssociation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ISplineDefinition_GetAssociation_Proxy( 
    ISplineDefinition __RPC_FAR * This,
    long index);


void __RPC_STUB ISplineDefinition_GetAssociation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ISplineDefinition_INTERFACE_DEFINED__ */


#ifndef __ICylindricSpiralDefinition_INTERFACE_DEFINED__
#define __ICylindricSpiralDefinition_INTERFACE_DEFINED__

/* interface ICylindricSpiralDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICylindricSpiralDefinition,0x7AA0E540,0x0403,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0403-11D4-A30E-00C026EE094F")
    ICylindricSpiralDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetTurn( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTurn( 
            double turn) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetStep( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStep( 
            double step) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetTurnDir( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetTurnDir( 
            BOOL turnDir) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPlane( 
            LPENTITY plane) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetLocation( 
            double __RPC_FAR *x,
            double __RPC_FAR *y) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetLocation( 
            double x,
            double y) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetBuildMode( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetBuildMode( 
            short buildMode) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetBuildDir( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetBuildDir( 
            BOOL buildDir) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetHeight( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHeight( 
            double height) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetHeightType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHeightType( 
            short heightType) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetHeightAdd( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHeightAdd( 
            double heightAdd) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetHeightAddHow( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHeightAddHow( 
            BOOL heightAddHow) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetHeightObject( 
            LPENTITY heightObject) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetHeightObject( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetDiam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDiam( 
            double diamType) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetDiamType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDiamType( 
            short diamType) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetDiamObject( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDiamObject( 
            LPENTITY diamObject) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetFirstAngle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFirstAngle( 
            double firstAngle) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICylindricSpiralDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetTurn )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTurn )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            double turn);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetStep )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStep )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            double step);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetTurnDir )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetTurnDir )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            BOOL turnDir);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetPlane )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPlane )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            LPENTITY plane);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetLocation )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetLocation )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            double x,
            double y);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetBuildMode )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetBuildMode )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            short buildMode);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetBuildDir )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetBuildDir )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            BOOL buildDir);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetHeight )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHeight )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            double height);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetHeightType )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHeightType )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            short heightType);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetHeightAdd )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHeightAdd )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            double heightAdd);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetHeightAddHow )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHeightAddHow )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            BOOL heightAddHow);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetHeightObject )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            LPENTITY heightObject);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetHeightObject )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetDiam )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDiam )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            double diamType);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetDiamType )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDiamType )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            short diamType);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetDiamObject )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDiamObject )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            LPENTITY diamObject);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetFirstAngle )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFirstAngle )( 
            ICylindricSpiralDefinition __RPC_FAR * This,
            double firstAngle);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            ICylindricSpiralDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } ICylindricSpiralDefinitionVtbl;

    interface ICylindricSpiralDefinition
    {
        CONST_VTBL struct ICylindricSpiralDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICylindricSpiralDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICylindricSpiralDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICylindricSpiralDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICylindricSpiralDefinition_GetTurn(This)	\
    (This)->lpVtbl -> GetTurn(This)

#define ICylindricSpiralDefinition_SetTurn(This,turn)	\
    (This)->lpVtbl -> SetTurn(This,turn)

#define ICylindricSpiralDefinition_GetStep(This)	\
    (This)->lpVtbl -> GetStep(This)

#define ICylindricSpiralDefinition_SetStep(This,step)	\
    (This)->lpVtbl -> SetStep(This,step)

#define ICylindricSpiralDefinition_GetTurnDir(This)	\
    (This)->lpVtbl -> GetTurnDir(This)

#define ICylindricSpiralDefinition_SetTurnDir(This,turnDir)	\
    (This)->lpVtbl -> SetTurnDir(This,turnDir)

#define ICylindricSpiralDefinition_GetPlane(This)	\
    (This)->lpVtbl -> GetPlane(This)

#define ICylindricSpiralDefinition_SetPlane(This,plane)	\
    (This)->lpVtbl -> SetPlane(This,plane)

#define ICylindricSpiralDefinition_GetLocation(This,x,y)	\
    (This)->lpVtbl -> GetLocation(This,x,y)

#define ICylindricSpiralDefinition_SetLocation(This,x,y)	\
    (This)->lpVtbl -> SetLocation(This,x,y)

#define ICylindricSpiralDefinition_GetBuildMode(This)	\
    (This)->lpVtbl -> GetBuildMode(This)

#define ICylindricSpiralDefinition_SetBuildMode(This,buildMode)	\
    (This)->lpVtbl -> SetBuildMode(This,buildMode)

#define ICylindricSpiralDefinition_GetBuildDir(This)	\
    (This)->lpVtbl -> GetBuildDir(This)

#define ICylindricSpiralDefinition_SetBuildDir(This,buildDir)	\
    (This)->lpVtbl -> SetBuildDir(This,buildDir)

#define ICylindricSpiralDefinition_GetHeight(This)	\
    (This)->lpVtbl -> GetHeight(This)

#define ICylindricSpiralDefinition_SetHeight(This,height)	\
    (This)->lpVtbl -> SetHeight(This,height)

#define ICylindricSpiralDefinition_GetHeightType(This)	\
    (This)->lpVtbl -> GetHeightType(This)

#define ICylindricSpiralDefinition_SetHeightType(This,heightType)	\
    (This)->lpVtbl -> SetHeightType(This,heightType)

#define ICylindricSpiralDefinition_GetHeightAdd(This)	\
    (This)->lpVtbl -> GetHeightAdd(This)

#define ICylindricSpiralDefinition_SetHeightAdd(This,heightAdd)	\
    (This)->lpVtbl -> SetHeightAdd(This,heightAdd)

#define ICylindricSpiralDefinition_GetHeightAddHow(This)	\
    (This)->lpVtbl -> GetHeightAddHow(This)

#define ICylindricSpiralDefinition_SetHeightAddHow(This,heightAddHow)	\
    (This)->lpVtbl -> SetHeightAddHow(This,heightAddHow)

#define ICylindricSpiralDefinition_SetHeightObject(This,heightObject)	\
    (This)->lpVtbl -> SetHeightObject(This,heightObject)

#define ICylindricSpiralDefinition_GetHeightObject(This)	\
    (This)->lpVtbl -> GetHeightObject(This)

#define ICylindricSpiralDefinition_GetDiam(This)	\
    (This)->lpVtbl -> GetDiam(This)

#define ICylindricSpiralDefinition_SetDiam(This,diamType)	\
    (This)->lpVtbl -> SetDiam(This,diamType)

#define ICylindricSpiralDefinition_GetDiamType(This)	\
    (This)->lpVtbl -> GetDiamType(This)

#define ICylindricSpiralDefinition_SetDiamType(This,diamType)	\
    (This)->lpVtbl -> SetDiamType(This,diamType)

#define ICylindricSpiralDefinition_GetDiamObject(This)	\
    (This)->lpVtbl -> GetDiamObject(This)

#define ICylindricSpiralDefinition_SetDiamObject(This,diamObject)	\
    (This)->lpVtbl -> SetDiamObject(This,diamObject)

#define ICylindricSpiralDefinition_GetFirstAngle(This)	\
    (This)->lpVtbl -> GetFirstAngle(This)

#define ICylindricSpiralDefinition_SetFirstAngle(This,firstAngle)	\
    (This)->lpVtbl -> SetFirstAngle(This,firstAngle)

#define ICylindricSpiralDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ double STDMETHODCALLTYPE ICylindricSpiralDefinition_GetTurn_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetTurn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetTurn_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    double turn);


void __RPC_STUB ICylindricSpiralDefinition_SetTurn_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICylindricSpiralDefinition_GetStep_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetStep_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetStep_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    double step);


void __RPC_STUB ICylindricSpiralDefinition_SetStep_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_GetTurnDir_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetTurnDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetTurnDir_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    BOOL turnDir);


void __RPC_STUB ICylindricSpiralDefinition_SetTurnDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICylindricSpiralDefinition_GetPlane_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetPlane_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    LPENTITY plane);


void __RPC_STUB ICylindricSpiralDefinition_SetPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_GetLocation_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y);


void __RPC_STUB ICylindricSpiralDefinition_GetLocation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetLocation_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    double x,
    double y);


void __RPC_STUB ICylindricSpiralDefinition_SetLocation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ short STDMETHODCALLTYPE ICylindricSpiralDefinition_GetBuildMode_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetBuildMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetBuildMode_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    short buildMode);


void __RPC_STUB ICylindricSpiralDefinition_SetBuildMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_GetBuildDir_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetBuildDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetBuildDir_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    BOOL buildDir);


void __RPC_STUB ICylindricSpiralDefinition_SetBuildDir_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICylindricSpiralDefinition_GetHeight_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetHeight_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    double height);


void __RPC_STUB ICylindricSpiralDefinition_SetHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ short STDMETHODCALLTYPE ICylindricSpiralDefinition_GetHeightType_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetHeightType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetHeightType_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    short heightType);


void __RPC_STUB ICylindricSpiralDefinition_SetHeightType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICylindricSpiralDefinition_GetHeightAdd_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetHeightAdd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetHeightAdd_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    double heightAdd);


void __RPC_STUB ICylindricSpiralDefinition_SetHeightAdd_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_GetHeightAddHow_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetHeightAddHow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetHeightAddHow_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    BOOL heightAddHow);


void __RPC_STUB ICylindricSpiralDefinition_SetHeightAddHow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetHeightObject_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    LPENTITY heightObject);


void __RPC_STUB ICylindricSpiralDefinition_SetHeightObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICylindricSpiralDefinition_GetHeightObject_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetHeightObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICylindricSpiralDefinition_GetDiam_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetDiam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetDiam_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    double diamType);


void __RPC_STUB ICylindricSpiralDefinition_SetDiam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ short STDMETHODCALLTYPE ICylindricSpiralDefinition_GetDiamType_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetDiamType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetDiamType_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    short diamType);


void __RPC_STUB ICylindricSpiralDefinition_SetDiamType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICylindricSpiralDefinition_GetDiamObject_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetDiamObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetDiamObject_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    LPENTITY diamObject);


void __RPC_STUB ICylindricSpiralDefinition_SetDiamObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICylindricSpiralDefinition_GetFirstAngle_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetFirstAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICylindricSpiralDefinition_SetFirstAngle_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This,
    double firstAngle);


void __RPC_STUB ICylindricSpiralDefinition_SetFirstAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ICylindricSpiralDefinition_GetSketch_Proxy( 
    ICylindricSpiralDefinition __RPC_FAR * This);


void __RPC_STUB ICylindricSpiralDefinition_GetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICylindricSpiralDefinition_INTERFACE_DEFINED__ */


#ifndef __IEvolutionSurfaceDefinition_INTERFACE_DEFINED__
#define __IEvolutionSurfaceDefinition_INTERFACE_DEFINED__

/* interface IEvolutionSurfaceDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IEvolutionSurfaceDefinition,0x45702BE9,0x1505,0x40ab,0xBF,0x0C,0x7F,0xE8,0x6D,0x53,0x73,0xE2);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("45702BE9-1505-40ab-BF0C-7FE86D5373E2")
    IEvolutionSurfaceDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY sketch) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE PathPartArray( void) = 0;
        
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetSketchShiftType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketchShiftType( 
            short s) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetClosedShell( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetClosedShell( 
            BOOL closed) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetPathLength( 
            unsigned int bitVector) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IEvolutionSurfaceDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IEvolutionSurfaceDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IEvolutionSurfaceDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IEvolutionSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            IEvolutionSurfaceDefinition __RPC_FAR * This,
            LPENTITY sketch);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            IEvolutionSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PathPartArray )( 
            IEvolutionSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetSketchShiftType )( 
            IEvolutionSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketchShiftType )( 
            IEvolutionSurfaceDefinition __RPC_FAR * This,
            short s);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetClosedShell )( 
            IEvolutionSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetClosedShell )( 
            IEvolutionSurfaceDefinition __RPC_FAR * This,
            BOOL closed);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetPathLength )( 
            IEvolutionSurfaceDefinition __RPC_FAR * This,
            unsigned int bitVector);
        
        END_INTERFACE
    } IEvolutionSurfaceDefinitionVtbl;

    interface IEvolutionSurfaceDefinition
    {
        CONST_VTBL struct IEvolutionSurfaceDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IEvolutionSurfaceDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IEvolutionSurfaceDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IEvolutionSurfaceDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IEvolutionSurfaceDefinition_SetSketch(This,sketch)	\
    (This)->lpVtbl -> SetSketch(This,sketch)

#define IEvolutionSurfaceDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define IEvolutionSurfaceDefinition_PathPartArray(This)	\
    (This)->lpVtbl -> PathPartArray(This)

#define IEvolutionSurfaceDefinition_GetSketchShiftType(This)	\
    (This)->lpVtbl -> GetSketchShiftType(This)

#define IEvolutionSurfaceDefinition_SetSketchShiftType(This,s)	\
    (This)->lpVtbl -> SetSketchShiftType(This,s)

#define IEvolutionSurfaceDefinition_GetClosedShell(This)	\
    (This)->lpVtbl -> GetClosedShell(This)

#define IEvolutionSurfaceDefinition_SetClosedShell(This,closed)	\
    (This)->lpVtbl -> SetClosedShell(This,closed)

#define IEvolutionSurfaceDefinition_GetPathLength(This,bitVector)	\
    (This)->lpVtbl -> GetPathLength(This,bitVector)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IEvolutionSurfaceDefinition_SetSketch_Proxy( 
    IEvolutionSurfaceDefinition __RPC_FAR * This,
    LPENTITY sketch);


void __RPC_STUB IEvolutionSurfaceDefinition_SetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IEvolutionSurfaceDefinition_GetSketch_Proxy( 
    IEvolutionSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IEvolutionSurfaceDefinition_GetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE IEvolutionSurfaceDefinition_PathPartArray_Proxy( 
    IEvolutionSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IEvolutionSurfaceDefinition_PathPartArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ short STDMETHODCALLTYPE IEvolutionSurfaceDefinition_GetSketchShiftType_Proxy( 
    IEvolutionSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IEvolutionSurfaceDefinition_GetSketchShiftType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEvolutionSurfaceDefinition_SetSketchShiftType_Proxy( 
    IEvolutionSurfaceDefinition __RPC_FAR * This,
    short s);


void __RPC_STUB IEvolutionSurfaceDefinition_SetSketchShiftType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEvolutionSurfaceDefinition_GetClosedShell_Proxy( 
    IEvolutionSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IEvolutionSurfaceDefinition_GetClosedShell_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEvolutionSurfaceDefinition_SetClosedShell_Proxy( 
    IEvolutionSurfaceDefinition __RPC_FAR * This,
    BOOL closed);


void __RPC_STUB IEvolutionSurfaceDefinition_SetClosedShell_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IEvolutionSurfaceDefinition_GetPathLength_Proxy( 
    IEvolutionSurfaceDefinition __RPC_FAR * This,
    unsigned int bitVector);


void __RPC_STUB IEvolutionSurfaceDefinition_GetPathLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IEvolutionSurfaceDefinition_INTERFACE_DEFINED__ */


#ifndef __IExtrusionSurfaceDefinition_INTERFACE_DEFINED__
#define __IExtrusionSurfaceDefinition_INTERFACE_DEFINED__

/* interface IExtrusionSurfaceDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IExtrusionSurfaceDefinition,0x6D87BCE9,0x5D07,0x41ad,0xA1,0x37,0x42,0x95,0x7D,0xAF,0x0A,0x6F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6D87BCE9-5D07-41ad-A137-42957DAF0A6F")
    IExtrusionSurfaceDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY name) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSideParam( 
            BOOL forward,
            BYTE __RPC_FAR *type,
            double __RPC_FAR *depth,
            double __RPC_FAR *draftValue,
            BOOL __RPC_FAR *draftOutward) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetSideParam( 
            BOOL forward,
            BYTE type,
            double depth,
            double draftValue,
            BOOL draftOutward) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirectionType( 
            long dirType) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetDirectionType( void) = 0;
        
        virtual /* [helpstring] */ LPEXTRUSIONPARAM STDMETHODCALLTYPE ExtrusionParam( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetDepthObject( 
            BOOL normal) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDepthObject( 
            BOOL normal,
            LPENTITY obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE ResetDepthObject( 
            BOOL normal) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetClosedShell( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetClosedShell( 
            BOOL closed) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IExtrusionSurfaceDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This,
            LPENTITY name);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSideParam )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This,
            BOOL forward,
            BYTE __RPC_FAR *type,
            double __RPC_FAR *depth,
            double __RPC_FAR *draftValue,
            BOOL __RPC_FAR *draftOutward);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetSideParam )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This,
            BOOL forward,
            BYTE type,
            double depth,
            double draftValue,
            BOOL draftOutward);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirectionType )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This,
            long dirType);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetDirectionType )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPEXTRUSIONPARAM ( STDMETHODCALLTYPE __RPC_FAR *ExtrusionParam )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetDepthObject )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This,
            BOOL normal);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDepthObject )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This,
            BOOL normal,
            LPENTITY obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *ResetDepthObject )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This,
            BOOL normal);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetClosedShell )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetClosedShell )( 
            IExtrusionSurfaceDefinition __RPC_FAR * This,
            BOOL closed);
        
        END_INTERFACE
    } IExtrusionSurfaceDefinitionVtbl;

    interface IExtrusionSurfaceDefinition
    {
        CONST_VTBL struct IExtrusionSurfaceDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IExtrusionSurfaceDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IExtrusionSurfaceDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IExtrusionSurfaceDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IExtrusionSurfaceDefinition_SetSketch(This,name)	\
    (This)->lpVtbl -> SetSketch(This,name)

#define IExtrusionSurfaceDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define IExtrusionSurfaceDefinition_GetSideParam(This,forward,type,depth,draftValue,draftOutward)	\
    (This)->lpVtbl -> GetSideParam(This,forward,type,depth,draftValue,draftOutward)

#define IExtrusionSurfaceDefinition_SetSideParam(This,forward,type,depth,draftValue,draftOutward)	\
    (This)->lpVtbl -> SetSideParam(This,forward,type,depth,draftValue,draftOutward)

#define IExtrusionSurfaceDefinition_SetDirectionType(This,dirType)	\
    (This)->lpVtbl -> SetDirectionType(This,dirType)

#define IExtrusionSurfaceDefinition_GetDirectionType(This)	\
    (This)->lpVtbl -> GetDirectionType(This)

#define IExtrusionSurfaceDefinition_ExtrusionParam(This)	\
    (This)->lpVtbl -> ExtrusionParam(This)

#define IExtrusionSurfaceDefinition_GetDepthObject(This,normal)	\
    (This)->lpVtbl -> GetDepthObject(This,normal)

#define IExtrusionSurfaceDefinition_SetDepthObject(This,normal,obj)	\
    (This)->lpVtbl -> SetDepthObject(This,normal,obj)

#define IExtrusionSurfaceDefinition_ResetDepthObject(This,normal)	\
    (This)->lpVtbl -> ResetDepthObject(This,normal)

#define IExtrusionSurfaceDefinition_GetClosedShell(This)	\
    (This)->lpVtbl -> GetClosedShell(This)

#define IExtrusionSurfaceDefinition_SetClosedShell(This,closed)	\
    (This)->lpVtbl -> SetClosedShell(This,closed)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionSurfaceDefinition_SetSketch_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This,
    LPENTITY name);


void __RPC_STUB IExtrusionSurfaceDefinition_SetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IExtrusionSurfaceDefinition_GetSketch_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IExtrusionSurfaceDefinition_GetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionSurfaceDefinition_GetSideParam_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This,
    BOOL forward,
    BYTE __RPC_FAR *type,
    double __RPC_FAR *depth,
    double __RPC_FAR *draftValue,
    BOOL __RPC_FAR *draftOutward);


void __RPC_STUB IExtrusionSurfaceDefinition_GetSideParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IExtrusionSurfaceDefinition_SetSideParam_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This,
    BOOL forward,
    BYTE type,
    double depth,
    double draftValue,
    BOOL draftOutward);


void __RPC_STUB IExtrusionSurfaceDefinition_SetSideParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionSurfaceDefinition_SetDirectionType_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This,
    long dirType);


void __RPC_STUB IExtrusionSurfaceDefinition_SetDirectionType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IExtrusionSurfaceDefinition_GetDirectionType_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IExtrusionSurfaceDefinition_GetDirectionType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPEXTRUSIONPARAM STDMETHODCALLTYPE IExtrusionSurfaceDefinition_ExtrusionParam_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IExtrusionSurfaceDefinition_ExtrusionParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IExtrusionSurfaceDefinition_GetDepthObject_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This,
    BOOL normal);


void __RPC_STUB IExtrusionSurfaceDefinition_GetDepthObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionSurfaceDefinition_SetDepthObject_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This,
    BOOL normal,
    LPENTITY obj);


void __RPC_STUB IExtrusionSurfaceDefinition_SetDepthObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionSurfaceDefinition_ResetDepthObject_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This,
    BOOL normal);


void __RPC_STUB IExtrusionSurfaceDefinition_ResetDepthObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionSurfaceDefinition_GetClosedShell_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IExtrusionSurfaceDefinition_GetClosedShell_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IExtrusionSurfaceDefinition_SetClosedShell_Proxy( 
    IExtrusionSurfaceDefinition __RPC_FAR * This,
    BOOL closed);


void __RPC_STUB IExtrusionSurfaceDefinition_SetClosedShell_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IExtrusionSurfaceDefinition_INTERFACE_DEFINED__ */


#ifndef __IRotatedSurfaceDefinition_INTERFACE_DEFINED__
#define __IRotatedSurfaceDefinition_INTERFACE_DEFINED__

/* interface IRotatedSurfaceDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IRotatedSurfaceDefinition,0xFD27841D,0x1374,0x4f7f,0xAE,0x8A,0xC2,0xA4,0x4F,0x89,0x12,0x0D);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FD27841D-1374-4f7f-AE8A-C2A44F89120D")
    IRotatedSurfaceDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetSketch( 
            LPENTITY name) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetSketch( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSideParam( 
            BOOL forward,
            double __RPC_FAR *angle) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetSideParam( 
            BOOL forward,
            double angle) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetToroidShapeType( 
            BOOL dirType) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetToroidShapeType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirectionType( 
            long dirType) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetDirectionType( void) = 0;
        
        virtual /* [helpstring] */ LPROTATEDPARAM STDMETHODCALLTYPE RotatedParam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetClosedShell( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetClosedShell( 
            BOOL closed) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRotatedSurfaceDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IRotatedSurfaceDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IRotatedSurfaceDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IRotatedSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetSketch )( 
            IRotatedSurfaceDefinition __RPC_FAR * This,
            LPENTITY name);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetSketch )( 
            IRotatedSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSideParam )( 
            IRotatedSurfaceDefinition __RPC_FAR * This,
            BOOL forward,
            double __RPC_FAR *angle);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetSideParam )( 
            IRotatedSurfaceDefinition __RPC_FAR * This,
            BOOL forward,
            double angle);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetToroidShapeType )( 
            IRotatedSurfaceDefinition __RPC_FAR * This,
            BOOL dirType);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetToroidShapeType )( 
            IRotatedSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirectionType )( 
            IRotatedSurfaceDefinition __RPC_FAR * This,
            long dirType);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetDirectionType )( 
            IRotatedSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPROTATEDPARAM ( STDMETHODCALLTYPE __RPC_FAR *RotatedParam )( 
            IRotatedSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetClosedShell )( 
            IRotatedSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetClosedShell )( 
            IRotatedSurfaceDefinition __RPC_FAR * This,
            BOOL closed);
        
        END_INTERFACE
    } IRotatedSurfaceDefinitionVtbl;

    interface IRotatedSurfaceDefinition
    {
        CONST_VTBL struct IRotatedSurfaceDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRotatedSurfaceDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IRotatedSurfaceDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IRotatedSurfaceDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IRotatedSurfaceDefinition_SetSketch(This,name)	\
    (This)->lpVtbl -> SetSketch(This,name)

#define IRotatedSurfaceDefinition_GetSketch(This)	\
    (This)->lpVtbl -> GetSketch(This)

#define IRotatedSurfaceDefinition_GetSideParam(This,forward,angle)	\
    (This)->lpVtbl -> GetSideParam(This,forward,angle)

#define IRotatedSurfaceDefinition_SetSideParam(This,forward,angle)	\
    (This)->lpVtbl -> SetSideParam(This,forward,angle)

#define IRotatedSurfaceDefinition_SetToroidShapeType(This,dirType)	\
    (This)->lpVtbl -> SetToroidShapeType(This,dirType)

#define IRotatedSurfaceDefinition_GetToroidShapeType(This)	\
    (This)->lpVtbl -> GetToroidShapeType(This)

#define IRotatedSurfaceDefinition_SetDirectionType(This,dirType)	\
    (This)->lpVtbl -> SetDirectionType(This,dirType)

#define IRotatedSurfaceDefinition_GetDirectionType(This)	\
    (This)->lpVtbl -> GetDirectionType(This)

#define IRotatedSurfaceDefinition_RotatedParam(This)	\
    (This)->lpVtbl -> RotatedParam(This)

#define IRotatedSurfaceDefinition_GetClosedShell(This)	\
    (This)->lpVtbl -> GetClosedShell(This)

#define IRotatedSurfaceDefinition_SetClosedShell(This,closed)	\
    (This)->lpVtbl -> SetClosedShell(This,closed)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedSurfaceDefinition_SetSketch_Proxy( 
    IRotatedSurfaceDefinition __RPC_FAR * This,
    LPENTITY name);


void __RPC_STUB IRotatedSurfaceDefinition_SetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IRotatedSurfaceDefinition_GetSketch_Proxy( 
    IRotatedSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IRotatedSurfaceDefinition_GetSketch_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedSurfaceDefinition_GetSideParam_Proxy( 
    IRotatedSurfaceDefinition __RPC_FAR * This,
    BOOL forward,
    double __RPC_FAR *angle);


void __RPC_STUB IRotatedSurfaceDefinition_GetSideParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE IRotatedSurfaceDefinition_SetSideParam_Proxy( 
    IRotatedSurfaceDefinition __RPC_FAR * This,
    BOOL forward,
    double angle);


void __RPC_STUB IRotatedSurfaceDefinition_SetSideParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedSurfaceDefinition_SetToroidShapeType_Proxy( 
    IRotatedSurfaceDefinition __RPC_FAR * This,
    BOOL dirType);


void __RPC_STUB IRotatedSurfaceDefinition_SetToroidShapeType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedSurfaceDefinition_GetToroidShapeType_Proxy( 
    IRotatedSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IRotatedSurfaceDefinition_GetToroidShapeType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedSurfaceDefinition_SetDirectionType_Proxy( 
    IRotatedSurfaceDefinition __RPC_FAR * This,
    long dirType);


void __RPC_STUB IRotatedSurfaceDefinition_SetDirectionType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IRotatedSurfaceDefinition_GetDirectionType_Proxy( 
    IRotatedSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IRotatedSurfaceDefinition_GetDirectionType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPROTATEDPARAM STDMETHODCALLTYPE IRotatedSurfaceDefinition_RotatedParam_Proxy( 
    IRotatedSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IRotatedSurfaceDefinition_RotatedParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedSurfaceDefinition_GetClosedShell_Proxy( 
    IRotatedSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB IRotatedSurfaceDefinition_GetClosedShell_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IRotatedSurfaceDefinition_SetClosedShell_Proxy( 
    IRotatedSurfaceDefinition __RPC_FAR * This,
    BOOL closed);


void __RPC_STUB IRotatedSurfaceDefinition_SetClosedShell_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IRotatedSurfaceDefinition_INTERFACE_DEFINED__ */


#ifndef __ILoftSurfaceDefinition_INTERFACE_DEFINED__
#define __ILoftSurfaceDefinition_INTERFACE_DEFINED__

/* interface ILoftSurfaceDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ILoftSurfaceDefinition,0x6E6A127B,0x233E,0x401f,0x8E,0x29,0xBB,0x29,0x8A,0xE0,0xFA,0x45);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6E6A127B-233E-401f-8E29-BB298AE0FA45")
    ILoftSurfaceDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetLoftParam( 
            BOOL __RPC_FAR *closed,
            BOOL __RPC_FAR *flipVertex,
            BOOL __RPC_FAR *autoPath) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetLoftParam( 
            BOOL closed,
            BOOL flipVertex,
            BOOL autoPath) = 0;
        
        virtual /* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE Sketchs( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetClosedShell( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetClosedShell( 
            BOOL closed) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetDirectionalLine( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirectionalLine( 
            LPENTITY sketch) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILoftSurfaceDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILoftSurfaceDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILoftSurfaceDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILoftSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetLoftParam )( 
            ILoftSurfaceDefinition __RPC_FAR * This,
            BOOL __RPC_FAR *closed,
            BOOL __RPC_FAR *flipVertex,
            BOOL __RPC_FAR *autoPath);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetLoftParam )( 
            ILoftSurfaceDefinition __RPC_FAR * This,
            BOOL closed,
            BOOL flipVertex,
            BOOL autoPath);
        
        /* [helpstring] */ LPENTITYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *Sketchs )( 
            ILoftSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetClosedShell )( 
            ILoftSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetClosedShell )( 
            ILoftSurfaceDefinition __RPC_FAR * This,
            BOOL closed);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetDirectionalLine )( 
            ILoftSurfaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirectionalLine )( 
            ILoftSurfaceDefinition __RPC_FAR * This,
            LPENTITY sketch);
        
        END_INTERFACE
    } ILoftSurfaceDefinitionVtbl;

    interface ILoftSurfaceDefinition
    {
        CONST_VTBL struct ILoftSurfaceDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ILoftSurfaceDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ILoftSurfaceDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ILoftSurfaceDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ILoftSurfaceDefinition_GetLoftParam(This,closed,flipVertex,autoPath)	\
    (This)->lpVtbl -> GetLoftParam(This,closed,flipVertex,autoPath)

#define ILoftSurfaceDefinition_SetLoftParam(This,closed,flipVertex,autoPath)	\
    (This)->lpVtbl -> SetLoftParam(This,closed,flipVertex,autoPath)

#define ILoftSurfaceDefinition_Sketchs(This)	\
    (This)->lpVtbl -> Sketchs(This)

#define ILoftSurfaceDefinition_GetClosedShell(This)	\
    (This)->lpVtbl -> GetClosedShell(This)

#define ILoftSurfaceDefinition_SetClosedShell(This,closed)	\
    (This)->lpVtbl -> SetClosedShell(This,closed)

#define ILoftSurfaceDefinition_GetDirectionalLine(This)	\
    (This)->lpVtbl -> GetDirectionalLine(This)

#define ILoftSurfaceDefinition_SetDirectionalLine(This,sketch)	\
    (This)->lpVtbl -> SetDirectionalLine(This,sketch)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ILoftSurfaceDefinition_GetLoftParam_Proxy( 
    ILoftSurfaceDefinition __RPC_FAR * This,
    BOOL __RPC_FAR *closed,
    BOOL __RPC_FAR *flipVertex,
    BOOL __RPC_FAR *autoPath);


void __RPC_STUB ILoftSurfaceDefinition_GetLoftParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE ILoftSurfaceDefinition_SetLoftParam_Proxy( 
    ILoftSurfaceDefinition __RPC_FAR * This,
    BOOL closed,
    BOOL flipVertex,
    BOOL autoPath);


void __RPC_STUB ILoftSurfaceDefinition_SetLoftParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITYCOLLECTION STDMETHODCALLTYPE ILoftSurfaceDefinition_Sketchs_Proxy( 
    ILoftSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB ILoftSurfaceDefinition_Sketchs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ILoftSurfaceDefinition_GetClosedShell_Proxy( 
    ILoftSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB ILoftSurfaceDefinition_GetClosedShell_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ILoftSurfaceDefinition_SetClosedShell_Proxy( 
    ILoftSurfaceDefinition __RPC_FAR * This,
    BOOL closed);


void __RPC_STUB ILoftSurfaceDefinition_SetClosedShell_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE ILoftSurfaceDefinition_GetDirectionalLine_Proxy( 
    ILoftSurfaceDefinition __RPC_FAR * This);


void __RPC_STUB ILoftSurfaceDefinition_GetDirectionalLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ILoftSurfaceDefinition_SetDirectionalLine_Proxy( 
    ILoftSurfaceDefinition __RPC_FAR * This,
    LPENTITY sketch);


void __RPC_STUB ILoftSurfaceDefinition_SetDirectionalLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ILoftSurfaceDefinition_INTERFACE_DEFINED__ */


#ifndef __IMacro3DDefinition_INTERFACE_DEFINED__
#define __IMacro3DDefinition_INTERFACE_DEFINED__

/* interface IMacro3DDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IMacro3DDefinition,0xB6F6D0AB,0x6339,0x4fc6,0x84,0x2B,0xCC,0x96,0x59,0x6B,0xCE,0x82);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B6F6D0AB-6339-4fc6-842B-CC96596BCE82")
    IMacro3DDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPFEATURECOLLECTION STDMETHODCALLTYPE FeatureCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetStaffVisible( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetStaffVisible( 
            BOOL val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Destroy( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Add( 
            LPUNKNOWN obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetUserParam( 
            void __RPC_FAR *userParam,
            long size,
            LPOLESTR nameFile,
            LPOLESTR nameLib,
            long number) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetUserParamSize( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetUserParam( 
            void __RPC_FAR *userParam,
            long size) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetUserLibraryFileName( void) = 0;
        
        virtual /* [helpstring] */ LPOLESTR STDMETHODCALLTYPE GetUserLibraryName( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetUserLibraryCommand( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetObject( 
            long index,
            LPUNKNOWN obj) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE GetObject( 
            long index) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCountObj( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE ClearAllObj( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDoubleClickEditOff( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDoubleClickEditOff( 
            BOOL val) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMacro3DDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMacro3DDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPFEATURECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *FeatureCollection )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetStaffVisible )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetStaffVisible )( 
            IMacro3DDefinition __RPC_FAR * This,
            BOOL val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Destroy )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IMacro3DDefinition __RPC_FAR * This,
            LPUNKNOWN obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetUserParam )( 
            IMacro3DDefinition __RPC_FAR * This,
            void __RPC_FAR *userParam,
            long size,
            LPOLESTR nameFile,
            LPOLESTR nameLib,
            long number);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetUserParamSize )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetUserParam )( 
            IMacro3DDefinition __RPC_FAR * This,
            void __RPC_FAR *userParam,
            long size);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetUserLibraryFileName )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPOLESTR ( STDMETHODCALLTYPE __RPC_FAR *GetUserLibraryName )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetUserLibraryCommand )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetObject )( 
            IMacro3DDefinition __RPC_FAR * This,
            long index,
            LPUNKNOWN obj);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *GetObject )( 
            IMacro3DDefinition __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCountObj )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *ClearAllObj )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDoubleClickEditOff )( 
            IMacro3DDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDoubleClickEditOff )( 
            IMacro3DDefinition __RPC_FAR * This,
            BOOL val);
        
        END_INTERFACE
    } IMacro3DDefinitionVtbl;

    interface IMacro3DDefinition
    {
        CONST_VTBL struct IMacro3DDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMacro3DDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMacro3DDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMacro3DDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMacro3DDefinition_FeatureCollection(This)	\
    (This)->lpVtbl -> FeatureCollection(This)

#define IMacro3DDefinition_GetStaffVisible(This)	\
    (This)->lpVtbl -> GetStaffVisible(This)

#define IMacro3DDefinition_SetStaffVisible(This,val)	\
    (This)->lpVtbl -> SetStaffVisible(This,val)

#define IMacro3DDefinition_Destroy(This)	\
    (This)->lpVtbl -> Destroy(This)

#define IMacro3DDefinition_Add(This,obj)	\
    (This)->lpVtbl -> Add(This,obj)

#define IMacro3DDefinition_SetUserParam(This,userParam,size,nameFile,nameLib,number)	\
    (This)->lpVtbl -> SetUserParam(This,userParam,size,nameFile,nameLib,number)

#define IMacro3DDefinition_GetUserParamSize(This)	\
    (This)->lpVtbl -> GetUserParamSize(This)

#define IMacro3DDefinition_GetUserParam(This,userParam,size)	\
    (This)->lpVtbl -> GetUserParam(This,userParam,size)

#define IMacro3DDefinition_GetUserLibraryFileName(This)	\
    (This)->lpVtbl -> GetUserLibraryFileName(This)

#define IMacro3DDefinition_GetUserLibraryName(This)	\
    (This)->lpVtbl -> GetUserLibraryName(This)

#define IMacro3DDefinition_GetUserLibraryCommand(This)	\
    (This)->lpVtbl -> GetUserLibraryCommand(This)

#define IMacro3DDefinition_SetObject(This,index,obj)	\
    (This)->lpVtbl -> SetObject(This,index,obj)

#define IMacro3DDefinition_GetObject(This,index)	\
    (This)->lpVtbl -> GetObject(This,index)

#define IMacro3DDefinition_GetCountObj(This)	\
    (This)->lpVtbl -> GetCountObj(This)

#define IMacro3DDefinition_ClearAllObj(This)	\
    (This)->lpVtbl -> ClearAllObj(This)

#define IMacro3DDefinition_GetDoubleClickEditOff(This)	\
    (This)->lpVtbl -> GetDoubleClickEditOff(This)

#define IMacro3DDefinition_SetDoubleClickEditOff(This,val)	\
    (This)->lpVtbl -> SetDoubleClickEditOff(This,val)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPFEATURECOLLECTION STDMETHODCALLTYPE IMacro3DDefinition_FeatureCollection_Proxy( 
    IMacro3DDefinition __RPC_FAR * This);


void __RPC_STUB IMacro3DDefinition_FeatureCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMacro3DDefinition_GetStaffVisible_Proxy( 
    IMacro3DDefinition __RPC_FAR * This);


void __RPC_STUB IMacro3DDefinition_GetStaffVisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMacro3DDefinition_SetStaffVisible_Proxy( 
    IMacro3DDefinition __RPC_FAR * This,
    BOOL val);


void __RPC_STUB IMacro3DDefinition_SetStaffVisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMacro3DDefinition_Destroy_Proxy( 
    IMacro3DDefinition __RPC_FAR * This);


void __RPC_STUB IMacro3DDefinition_Destroy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMacro3DDefinition_Add_Proxy( 
    IMacro3DDefinition __RPC_FAR * This,
    LPUNKNOWN obj);


void __RPC_STUB IMacro3DDefinition_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMacro3DDefinition_SetUserParam_Proxy( 
    IMacro3DDefinition __RPC_FAR * This,
    void __RPC_FAR *userParam,
    long size,
    LPOLESTR nameFile,
    LPOLESTR nameLib,
    long number);


void __RPC_STUB IMacro3DDefinition_SetUserParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IMacro3DDefinition_GetUserParamSize_Proxy( 
    IMacro3DDefinition __RPC_FAR * This);


void __RPC_STUB IMacro3DDefinition_GetUserParamSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMacro3DDefinition_GetUserParam_Proxy( 
    IMacro3DDefinition __RPC_FAR * This,
    void __RPC_FAR *userParam,
    long size);


void __RPC_STUB IMacro3DDefinition_GetUserParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IMacro3DDefinition_GetUserLibraryFileName_Proxy( 
    IMacro3DDefinition __RPC_FAR * This);


void __RPC_STUB IMacro3DDefinition_GetUserLibraryFileName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPOLESTR STDMETHODCALLTYPE IMacro3DDefinition_GetUserLibraryName_Proxy( 
    IMacro3DDefinition __RPC_FAR * This);


void __RPC_STUB IMacro3DDefinition_GetUserLibraryName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IMacro3DDefinition_GetUserLibraryCommand_Proxy( 
    IMacro3DDefinition __RPC_FAR * This);


void __RPC_STUB IMacro3DDefinition_GetUserLibraryCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMacro3DDefinition_SetObject_Proxy( 
    IMacro3DDefinition __RPC_FAR * This,
    long index,
    LPUNKNOWN obj);


void __RPC_STUB IMacro3DDefinition_SetObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE IMacro3DDefinition_GetObject_Proxy( 
    IMacro3DDefinition __RPC_FAR * This,
    long index);


void __RPC_STUB IMacro3DDefinition_GetObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IMacro3DDefinition_GetCountObj_Proxy( 
    IMacro3DDefinition __RPC_FAR * This);


void __RPC_STUB IMacro3DDefinition_GetCountObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMacro3DDefinition_ClearAllObj_Proxy( 
    IMacro3DDefinition __RPC_FAR * This);


void __RPC_STUB IMacro3DDefinition_ClearAllObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMacro3DDefinition_GetDoubleClickEditOff_Proxy( 
    IMacro3DDefinition __RPC_FAR * This);


void __RPC_STUB IMacro3DDefinition_GetDoubleClickEditOff_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMacro3DDefinition_SetDoubleClickEditOff_Proxy( 
    IMacro3DDefinition __RPC_FAR * This,
    BOOL val);


void __RPC_STUB IMacro3DDefinition_SetDoubleClickEditOff_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMacro3DDefinition_INTERFACE_DEFINED__ */


#ifndef __IAxisConefaceDefinition_INTERFACE_DEFINED__
#define __IAxisConefaceDefinition_INTERFACE_DEFINED__

/* interface IAxisConefaceDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IAxisConefaceDefinition,0x7AA0E540,0x0338,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0338-11D4-A30E-00C026EE094F")
    IAxisConefaceDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetFace( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFace( 
            LPENTITY val) = 0;
        
        virtual /* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE GetCurve3D( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAxisConefaceDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IAxisConefaceDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IAxisConefaceDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IAxisConefaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetFace )( 
            IAxisConefaceDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFace )( 
            IAxisConefaceDefinition __RPC_FAR * This,
            LPENTITY val);
        
        /* [helpstring] */ LPCURVE3D ( STDMETHODCALLTYPE __RPC_FAR *GetCurve3D )( 
            IAxisConefaceDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IAxisConefaceDefinitionVtbl;

    interface IAxisConefaceDefinition
    {
        CONST_VTBL struct IAxisConefaceDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAxisConefaceDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IAxisConefaceDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IAxisConefaceDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IAxisConefaceDefinition_GetFace(This)	\
    (This)->lpVtbl -> GetFace(This)

#define IAxisConefaceDefinition_SetFace(This,val)	\
    (This)->lpVtbl -> SetFace(This,val)

#define IAxisConefaceDefinition_GetCurve3D(This)	\
    (This)->lpVtbl -> GetCurve3D(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IAxisConefaceDefinition_GetFace_Proxy( 
    IAxisConefaceDefinition __RPC_FAR * This);


void __RPC_STUB IAxisConefaceDefinition_GetFace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAxisConefaceDefinition_SetFace_Proxy( 
    IAxisConefaceDefinition __RPC_FAR * This,
    LPENTITY val);


void __RPC_STUB IAxisConefaceDefinition_SetFace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE IAxisConefaceDefinition_GetCurve3D_Proxy( 
    IAxisConefaceDefinition __RPC_FAR * This);


void __RPC_STUB IAxisConefaceDefinition_GetCurve3D_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAxisConefaceDefinition_INTERFACE_DEFINED__ */


#ifndef __IUnionComponentsDefinition_INTERFACE_DEFINED__
#define __IUnionComponentsDefinition_INTERFACE_DEFINED__

/* interface IUnionComponentsDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IUnionComponentsDefinition,0x7C641671,0xF791,0x47ac,0xB8,0xAE,0x38,0x24,0x28,0xD8,0xA0,0x1D);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7C641671-F791-47ac-B8AE-382428D8A01D")
    IUnionComponentsDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE PartArray( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IUnionComponentsDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IUnionComponentsDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IUnionComponentsDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IUnionComponentsDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPPARTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PartArray )( 
            IUnionComponentsDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IUnionComponentsDefinitionVtbl;

    interface IUnionComponentsDefinition
    {
        CONST_VTBL struct IUnionComponentsDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IUnionComponentsDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IUnionComponentsDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IUnionComponentsDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IUnionComponentsDefinition_PartArray(This)	\
    (This)->lpVtbl -> PartArray(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE IUnionComponentsDefinition_PartArray_Proxy( 
    IUnionComponentsDefinition __RPC_FAR * This);


void __RPC_STUB IUnionComponentsDefinition_PartArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IUnionComponentsDefinition_INTERFACE_DEFINED__ */


#ifndef __IMoldCavityDefinition_INTERFACE_DEFINED__
#define __IMoldCavityDefinition_INTERFACE_DEFINED__

/* interface IMoldCavityDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IMoldCavityDefinition,0x1DD4FF64,0x72EF,0x408a,0xA9,0xC6,0x00,0x09,0xB0,0x1F,0xFC,0x94);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1DD4FF64-72EF-408a-A9C6-0009B01FFC94")
    IMoldCavityDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetScale( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetScale( 
            double val) = 0;
        
        virtual /* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE PartArray( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetScaleCentre( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetScaleCentre( 
            LPENTITY vert) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMoldCavityDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMoldCavityDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMoldCavityDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMoldCavityDefinition __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetScale )( 
            IMoldCavityDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetScale )( 
            IMoldCavityDefinition __RPC_FAR * This,
            double val);
        
        /* [helpstring] */ LPPARTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *PartArray )( 
            IMoldCavityDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetScaleCentre )( 
            IMoldCavityDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetScaleCentre )( 
            IMoldCavityDefinition __RPC_FAR * This,
            LPENTITY vert);
        
        END_INTERFACE
    } IMoldCavityDefinitionVtbl;

    interface IMoldCavityDefinition
    {
        CONST_VTBL struct IMoldCavityDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMoldCavityDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMoldCavityDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMoldCavityDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMoldCavityDefinition_GetScale(This)	\
    (This)->lpVtbl -> GetScale(This)

#define IMoldCavityDefinition_SetScale(This,val)	\
    (This)->lpVtbl -> SetScale(This,val)

#define IMoldCavityDefinition_PartArray(This)	\
    (This)->lpVtbl -> PartArray(This)

#define IMoldCavityDefinition_GetScaleCentre(This)	\
    (This)->lpVtbl -> GetScaleCentre(This)

#define IMoldCavityDefinition_SetScaleCentre(This,vert)	\
    (This)->lpVtbl -> SetScaleCentre(This,vert)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ double STDMETHODCALLTYPE IMoldCavityDefinition_GetScale_Proxy( 
    IMoldCavityDefinition __RPC_FAR * This);


void __RPC_STUB IMoldCavityDefinition_GetScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMoldCavityDefinition_SetScale_Proxy( 
    IMoldCavityDefinition __RPC_FAR * This,
    double val);


void __RPC_STUB IMoldCavityDefinition_SetScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPARTCOLLECTION STDMETHODCALLTYPE IMoldCavityDefinition_PartArray_Proxy( 
    IMoldCavityDefinition __RPC_FAR * This);


void __RPC_STUB IMoldCavityDefinition_PartArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IMoldCavityDefinition_GetScaleCentre_Proxy( 
    IMoldCavityDefinition __RPC_FAR * This);


void __RPC_STUB IMoldCavityDefinition_GetScaleCentre_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMoldCavityDefinition_SetScaleCentre_Proxy( 
    IMoldCavityDefinition __RPC_FAR * This,
    LPENTITY vert);


void __RPC_STUB IMoldCavityDefinition_SetScaleCentre_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMoldCavityDefinition_INTERFACE_DEFINED__ */


#ifndef __IPlaneMiddleDefinition_INTERFACE_DEFINED__
#define __IPlaneMiddleDefinition_INTERFACE_DEFINED__

/* interface IPlaneMiddleDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlaneMiddleDefinition,0xCACF8C5A,0x9969,0x44a1,0xA3,0x6D,0x4C,0xF5,0x16,0x20,0x09,0x20);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CACF8C5A-9969-44a1-A36D-4CF516200920")
    IPlaneMiddleDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetObject( 
            long Number) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetObject( 
            long Number,
            LPENTITY Val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPosition( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPosition( 
            BOOL Val) = 0;
        
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlaneMiddleDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlaneMiddleDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlaneMiddleDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlaneMiddleDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetObject )( 
            IPlaneMiddleDefinition __RPC_FAR * This,
            long Number);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetObject )( 
            IPlaneMiddleDefinition __RPC_FAR * This,
            long Number,
            LPENTITY Val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPosition )( 
            IPlaneMiddleDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPosition )( 
            IPlaneMiddleDefinition __RPC_FAR * This,
            BOOL Val);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IPlaneMiddleDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IPlaneMiddleDefinitionVtbl;

    interface IPlaneMiddleDefinition
    {
        CONST_VTBL struct IPlaneMiddleDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IPlaneMiddleDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IPlaneMiddleDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IPlaneMiddleDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IPlaneMiddleDefinition_GetObject(This,Number)	\
    (This)->lpVtbl -> GetObject(This,Number)

#define IPlaneMiddleDefinition_SetObject(This,Number,Val)	\
    (This)->lpVtbl -> SetObject(This,Number,Val)

#define IPlaneMiddleDefinition_GetPosition(This)	\
    (This)->lpVtbl -> GetPosition(This)

#define IPlaneMiddleDefinition_SetPosition(This,Val)	\
    (This)->lpVtbl -> SetPosition(This,Val)

#define IPlaneMiddleDefinition_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPlaneMiddleDefinition_GetObject_Proxy( 
    IPlaneMiddleDefinition __RPC_FAR * This,
    long Number);


void __RPC_STUB IPlaneMiddleDefinition_GetObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneMiddleDefinition_SetObject_Proxy( 
    IPlaneMiddleDefinition __RPC_FAR * This,
    long Number,
    LPENTITY Val);


void __RPC_STUB IPlaneMiddleDefinition_SetObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneMiddleDefinition_GetPosition_Proxy( 
    IPlaneMiddleDefinition __RPC_FAR * This);


void __RPC_STUB IPlaneMiddleDefinition_GetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPlaneMiddleDefinition_SetPosition_Proxy( 
    IPlaneMiddleDefinition __RPC_FAR * This,
    BOOL Val);


void __RPC_STUB IPlaneMiddleDefinition_SetPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IPlaneMiddleDefinition_GetSurface_Proxy( 
    IPlaneMiddleDefinition __RPC_FAR * This);


void __RPC_STUB IPlaneMiddleDefinition_GetSurface_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IPlaneMiddleDefinition_INTERFACE_DEFINED__ */


#ifndef __IControlPointDefinition_INTERFACE_DEFINED__
#define __IControlPointDefinition_INTERFACE_DEFINED__

/* interface IControlPointDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IControlPointDefinition,0xBF0F6CEC,0xF517,0x4094,0xB9,0x13,0x6B,0x0A,0x28,0xE7,0xCA,0x83);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BF0F6CEC-F517-4094-B913-6B0A28E7CA83")
    IControlPointDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetVertex( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetVertex( 
            LPENTITY Val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPoint( 
            double __RPC_FAR *X,
            double __RPC_FAR *Y,
            double __RPC_FAR *Z) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IControlPointDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IControlPointDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IControlPointDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IControlPointDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetVertex )( 
            IControlPointDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetVertex )( 
            IControlPointDefinition __RPC_FAR * This,
            LPENTITY Val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            IControlPointDefinition __RPC_FAR * This,
            double __RPC_FAR *X,
            double __RPC_FAR *Y,
            double __RPC_FAR *Z);
        
        END_INTERFACE
    } IControlPointDefinitionVtbl;

    interface IControlPointDefinition
    {
        CONST_VTBL struct IControlPointDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IControlPointDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IControlPointDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IControlPointDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IControlPointDefinition_GetVertex(This)	\
    (This)->lpVtbl -> GetVertex(This)

#define IControlPointDefinition_SetVertex(This,Val)	\
    (This)->lpVtbl -> SetVertex(This,Val)

#define IControlPointDefinition_GetPoint(This,X,Y,Z)	\
    (This)->lpVtbl -> GetPoint(This,X,Y,Z)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IControlPointDefinition_GetVertex_Proxy( 
    IControlPointDefinition __RPC_FAR * This);


void __RPC_STUB IControlPointDefinition_GetVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IControlPointDefinition_SetVertex_Proxy( 
    IControlPointDefinition __RPC_FAR * This,
    LPENTITY Val);


void __RPC_STUB IControlPointDefinition_SetVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IControlPointDefinition_GetPoint_Proxy( 
    IControlPointDefinition __RPC_FAR * This,
    double __RPC_FAR *X,
    double __RPC_FAR *Y,
    double __RPC_FAR *Z);


void __RPC_STUB IControlPointDefinition_GetPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IControlPointDefinition_INTERFACE_DEFINED__ */


#ifndef __IConjunctivePointDefinition_INTERFACE_DEFINED__
#define __IConjunctivePointDefinition_INTERFACE_DEFINED__

/* interface IConjunctivePointDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IConjunctivePointDefinition,0xF53A02E1,0xC560,0x4de3,0x9E,0x19,0x0D,0x63,0x4F,0xBE,0x49,0xA5);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F53A02E1-C560-4de3-9E19-0D634FBE49A5")
    IConjunctivePointDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetVertex( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetVertex( 
            LPENTITY Val) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetEdge( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetEdge( 
            LPENTITY Val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDirection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetDirection( 
            BOOL Val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPoint( 
            double __RPC_FAR *X,
            double __RPC_FAR *Y,
            double __RPC_FAR *Z) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IConjunctivePointDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IConjunctivePointDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IConjunctivePointDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IConjunctivePointDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetVertex )( 
            IConjunctivePointDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetVertex )( 
            IConjunctivePointDefinition __RPC_FAR * This,
            LPENTITY Val);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetEdge )( 
            IConjunctivePointDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetEdge )( 
            IConjunctivePointDefinition __RPC_FAR * This,
            LPENTITY Val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDirection )( 
            IConjunctivePointDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetDirection )( 
            IConjunctivePointDefinition __RPC_FAR * This,
            BOOL Val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            IConjunctivePointDefinition __RPC_FAR * This,
            double __RPC_FAR *X,
            double __RPC_FAR *Y,
            double __RPC_FAR *Z);
        
        END_INTERFACE
    } IConjunctivePointDefinitionVtbl;

    interface IConjunctivePointDefinition
    {
        CONST_VTBL struct IConjunctivePointDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IConjunctivePointDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IConjunctivePointDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IConjunctivePointDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IConjunctivePointDefinition_GetVertex(This)	\
    (This)->lpVtbl -> GetVertex(This)

#define IConjunctivePointDefinition_SetVertex(This,Val)	\
    (This)->lpVtbl -> SetVertex(This,Val)

#define IConjunctivePointDefinition_GetEdge(This)	\
    (This)->lpVtbl -> GetEdge(This)

#define IConjunctivePointDefinition_SetEdge(This,Val)	\
    (This)->lpVtbl -> SetEdge(This,Val)

#define IConjunctivePointDefinition_GetDirection(This)	\
    (This)->lpVtbl -> GetDirection(This)

#define IConjunctivePointDefinition_SetDirection(This,Val)	\
    (This)->lpVtbl -> SetDirection(This,Val)

#define IConjunctivePointDefinition_GetPoint(This,X,Y,Z)	\
    (This)->lpVtbl -> GetPoint(This,X,Y,Z)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IConjunctivePointDefinition_GetVertex_Proxy( 
    IConjunctivePointDefinition __RPC_FAR * This);


void __RPC_STUB IConjunctivePointDefinition_GetVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConjunctivePointDefinition_SetVertex_Proxy( 
    IConjunctivePointDefinition __RPC_FAR * This,
    LPENTITY Val);


void __RPC_STUB IConjunctivePointDefinition_SetVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IConjunctivePointDefinition_GetEdge_Proxy( 
    IConjunctivePointDefinition __RPC_FAR * This);


void __RPC_STUB IConjunctivePointDefinition_GetEdge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConjunctivePointDefinition_SetEdge_Proxy( 
    IConjunctivePointDefinition __RPC_FAR * This,
    LPENTITY Val);


void __RPC_STUB IConjunctivePointDefinition_SetEdge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConjunctivePointDefinition_GetDirection_Proxy( 
    IConjunctivePointDefinition __RPC_FAR * This);


void __RPC_STUB IConjunctivePointDefinition_GetDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConjunctivePointDefinition_SetDirection_Proxy( 
    IConjunctivePointDefinition __RPC_FAR * This,
    BOOL Val);


void __RPC_STUB IConjunctivePointDefinition_SetDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IConjunctivePointDefinition_GetPoint_Proxy( 
    IConjunctivePointDefinition __RPC_FAR * This,
    double __RPC_FAR *X,
    double __RPC_FAR *Y,
    double __RPC_FAR *Z);


void __RPC_STUB IConjunctivePointDefinition_GetPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IConjunctivePointDefinition_INTERFACE_DEFINED__ */


#ifndef __IAggregateDefinition_INTERFACE_DEFINED__
#define __IAggregateDefinition_INTERFACE_DEFINED__

/* interface IAggregateDefinition */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IAggregateDefinition,0x2CF40627,0x9D0A,0x4588,0xA3,0x99,0x45,0xF0,0xFF,0x96,0x16,0x5F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2CF40627-9D0A-4588-A399-45F0FF96165F")
    IAggregateDefinition : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetBooleanType( 
            long val) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetBooleanType( void) = 0;
        
        virtual /* [helpstring] */ LPBODYCOLLECTION STDMETHODCALLTYPE BodyCollection( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAggregateDefinitionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IAggregateDefinition __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IAggregateDefinition __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IAggregateDefinition __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetBooleanType )( 
            IAggregateDefinition __RPC_FAR * This,
            long val);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetBooleanType )( 
            IAggregateDefinition __RPC_FAR * This);
        
        /* [helpstring] */ LPBODYCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *BodyCollection )( 
            IAggregateDefinition __RPC_FAR * This);
        
        END_INTERFACE
    } IAggregateDefinitionVtbl;

    interface IAggregateDefinition
    {
        CONST_VTBL struct IAggregateDefinitionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAggregateDefinition_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IAggregateDefinition_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IAggregateDefinition_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IAggregateDefinition_SetBooleanType(This,val)	\
    (This)->lpVtbl -> SetBooleanType(This,val)

#define IAggregateDefinition_GetBooleanType(This)	\
    (This)->lpVtbl -> GetBooleanType(This)

#define IAggregateDefinition_BodyCollection(This)	\
    (This)->lpVtbl -> BodyCollection(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IAggregateDefinition_SetBooleanType_Proxy( 
    IAggregateDefinition __RPC_FAR * This,
    long val);


void __RPC_STUB IAggregateDefinition_SetBooleanType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IAggregateDefinition_GetBooleanType_Proxy( 
    IAggregateDefinition __RPC_FAR * This);


void __RPC_STUB IAggregateDefinition_GetBooleanType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPBODYCOLLECTION STDMETHODCALLTYPE IAggregateDefinition_BodyCollection_Proxy( 
    IAggregateDefinition __RPC_FAR * This);


void __RPC_STUB IAggregateDefinition_BodyCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAggregateDefinition_INTERFACE_DEFINED__ */


#ifndef __IPolygonalLineVertexParam_INTERFACE_DEFINED__
#define __IPolygonalLineVertexParam_INTERFACE_DEFINED__

/* interface IPolygonalLineVertexParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPolygonalLineVertexParam,0xD2D61E71,0x151A,0x4359,0xA0,0xBE,0xDE,0xA5,0xA7,0x6F,0x24,0x92);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D2D61E71-151A-4359-A0BE-DEA5A76F2492")
    IPolygonalLineVertexParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetBuildingType( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetBuildingType( 
            int type) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetParamVertex( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z,
            double __RPC_FAR *radius) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetParamVertex( 
            double x,
            double y,
            double z,
            double radius) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetParamByVertex( 
            LPENTITY vertex,
            double radius) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetParamByDistance( 
            double __RPC_FAR *distance,
            double __RPC_FAR *radius) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetParamByDistance( 
            double distance,
            double radius) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetBuildingObject( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetBuildingObject( 
            LPENTITY object) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetAssociation( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAssociation( 
            LPENTITY vertex) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetVertex( void) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetIndex( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPolygonalLineVertexParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPolygonalLineVertexParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPolygonalLineVertexParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPolygonalLineVertexParam __RPC_FAR * This);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetBuildingType )( 
            IPolygonalLineVertexParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetBuildingType )( 
            IPolygonalLineVertexParam __RPC_FAR * This,
            int type);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetParamVertex )( 
            IPolygonalLineVertexParam __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z,
            double __RPC_FAR *radius);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetParamVertex )( 
            IPolygonalLineVertexParam __RPC_FAR * This,
            double x,
            double y,
            double z,
            double radius);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetParamByVertex )( 
            IPolygonalLineVertexParam __RPC_FAR * This,
            LPENTITY vertex,
            double radius);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetParamByDistance )( 
            IPolygonalLineVertexParam __RPC_FAR * This,
            double __RPC_FAR *distance,
            double __RPC_FAR *radius);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetParamByDistance )( 
            IPolygonalLineVertexParam __RPC_FAR * This,
            double distance,
            double radius);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetBuildingObject )( 
            IPolygonalLineVertexParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetBuildingObject )( 
            IPolygonalLineVertexParam __RPC_FAR * This,
            LPENTITY object);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetAssociation )( 
            IPolygonalLineVertexParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAssociation )( 
            IPolygonalLineVertexParam __RPC_FAR * This,
            LPENTITY vertex);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetVertex )( 
            IPolygonalLineVertexParam __RPC_FAR * This);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetIndex )( 
            IPolygonalLineVertexParam __RPC_FAR * This);
        
        END_INTERFACE
    } IPolygonalLineVertexParamVtbl;

    interface IPolygonalLineVertexParam
    {
        CONST_VTBL struct IPolygonalLineVertexParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IPolygonalLineVertexParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IPolygonalLineVertexParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IPolygonalLineVertexParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IPolygonalLineVertexParam_GetBuildingType(This)	\
    (This)->lpVtbl -> GetBuildingType(This)

#define IPolygonalLineVertexParam_SetBuildingType(This,type)	\
    (This)->lpVtbl -> SetBuildingType(This,type)

#define IPolygonalLineVertexParam_GetParamVertex(This,x,y,z,radius)	\
    (This)->lpVtbl -> GetParamVertex(This,x,y,z,radius)

#define IPolygonalLineVertexParam_SetParamVertex(This,x,y,z,radius)	\
    (This)->lpVtbl -> SetParamVertex(This,x,y,z,radius)

#define IPolygonalLineVertexParam_SetParamByVertex(This,vertex,radius)	\
    (This)->lpVtbl -> SetParamByVertex(This,vertex,radius)

#define IPolygonalLineVertexParam_GetParamByDistance(This,distance,radius)	\
    (This)->lpVtbl -> GetParamByDistance(This,distance,radius)

#define IPolygonalLineVertexParam_SetParamByDistance(This,distance,radius)	\
    (This)->lpVtbl -> SetParamByDistance(This,distance,radius)

#define IPolygonalLineVertexParam_GetBuildingObject(This)	\
    (This)->lpVtbl -> GetBuildingObject(This)

#define IPolygonalLineVertexParam_SetBuildingObject(This,object)	\
    (This)->lpVtbl -> SetBuildingObject(This,object)

#define IPolygonalLineVertexParam_GetAssociation(This)	\
    (This)->lpVtbl -> GetAssociation(This)

#define IPolygonalLineVertexParam_SetAssociation(This,vertex)	\
    (This)->lpVtbl -> SetAssociation(This,vertex)

#define IPolygonalLineVertexParam_GetVertex(This)	\
    (This)->lpVtbl -> GetVertex(This)

#define IPolygonalLineVertexParam_GetIndex(This)	\
    (This)->lpVtbl -> GetIndex(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ int STDMETHODCALLTYPE IPolygonalLineVertexParam_GetBuildingType_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This);


void __RPC_STUB IPolygonalLineVertexParam_GetBuildingType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineVertexParam_SetBuildingType_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This,
    int type);


void __RPC_STUB IPolygonalLineVertexParam_SetBuildingType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineVertexParam_GetParamVertex_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z,
    double __RPC_FAR *radius);


void __RPC_STUB IPolygonalLineVertexParam_GetParamVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineVertexParam_SetParamVertex_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This,
    double x,
    double y,
    double z,
    double radius);


void __RPC_STUB IPolygonalLineVertexParam_SetParamVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineVertexParam_SetParamByVertex_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This,
    LPENTITY vertex,
    double radius);


void __RPC_STUB IPolygonalLineVertexParam_SetParamByVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineVertexParam_GetParamByDistance_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This,
    double __RPC_FAR *distance,
    double __RPC_FAR *radius);


void __RPC_STUB IPolygonalLineVertexParam_GetParamByDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineVertexParam_SetParamByDistance_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This,
    double distance,
    double radius);


void __RPC_STUB IPolygonalLineVertexParam_SetParamByDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPolygonalLineVertexParam_GetBuildingObject_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This);


void __RPC_STUB IPolygonalLineVertexParam_GetBuildingObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineVertexParam_SetBuildingObject_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This,
    LPENTITY object);


void __RPC_STUB IPolygonalLineVertexParam_SetBuildingObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPolygonalLineVertexParam_GetAssociation_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This);


void __RPC_STUB IPolygonalLineVertexParam_GetAssociation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPolygonalLineVertexParam_SetAssociation_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This,
    LPENTITY vertex);


void __RPC_STUB IPolygonalLineVertexParam_SetAssociation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IPolygonalLineVertexParam_GetVertex_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This);


void __RPC_STUB IPolygonalLineVertexParam_GetVertex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ int STDMETHODCALLTYPE IPolygonalLineVertexParam_GetIndex_Proxy( 
    IPolygonalLineVertexParam __RPC_FAR * This);


void __RPC_STUB IPolygonalLineVertexParam_GetIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IPolygonalLineVertexParam_INTERFACE_DEFINED__ */


#ifndef __IDefaultObject_INTERFACE_DEFINED__
#define __IDefaultObject_INTERFACE_DEFINED__

/* interface IDefaultObject */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IDefaultObject,0x8E54CAEA,0xD1FC,0x4ff4,0xA0,0xE5,0x4F,0x5A,0x9F,0x5C,0xDC,0x6B);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8E54CAEA-D1FC-4ff4-A0E5-4F5A9F5CDC6B")
    IDefaultObject : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPSURFACE STDMETHODCALLTYPE GetSurface( void) = 0;
        
        virtual /* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE GetCurve3D( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDefaultObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDefaultObject __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDefaultObject __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDefaultObject __RPC_FAR * This);
        
        /* [helpstring] */ LPSURFACE ( STDMETHODCALLTYPE __RPC_FAR *GetSurface )( 
            IDefaultObject __RPC_FAR * This);
        
        /* [helpstring] */ LPCURVE3D ( STDMETHODCALLTYPE __RPC_FAR *GetCurve3D )( 
            IDefaultObject __RPC_FAR * This);
        
        END_INTERFACE
    } IDefaultObjectVtbl;

    interface IDefaultObject
    {
        CONST_VTBL struct IDefaultObjectVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDefaultObject_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDefaultObject_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDefaultObject_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDefaultObject_GetSurface(This)	\
    (This)->lpVtbl -> GetSurface(This)

#define IDefaultObject_GetCurve3D(This)	\
    (This)->lpVtbl -> GetCurve3D(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPSURFACE STDMETHODCALLTYPE IDefaultObject_GetSurface_Proxy( 
    IDefaultObject __RPC_FAR * This);


void __RPC_STUB IDefaultObject_GetSurface_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPCURVE3D STDMETHODCALLTYPE IDefaultObject_GetCurve3D_Proxy( 
    IDefaultObject __RPC_FAR * This);


void __RPC_STUB IDefaultObject_GetCurve3D_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDefaultObject_INTERFACE_DEFINED__ */


#ifndef __IBodyParts_INTERFACE_DEFINED__
#define __IBodyParts_INTERFACE_DEFINED__

/* interface IBodyParts */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IBodyParts,0xDFC4E0F1,0x5270,0x40f3,0x8A,0x4F,0xBE,0xA7,0x5A,0xB5,0x38,0x3C);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DFC4E0F1-5270-40f3-8A4F-BEA75AB5383C")
    IBodyParts : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE UserBodyPartsChoice( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetAllSelected( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetAllSelected( 
            BOOL Val) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetPartSelected( 
            long Index,
            BOOL Select) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPartSelected( 
            long Index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetGreatPartsSelected( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBodyPartsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBodyParts __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBodyParts __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBodyParts __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *UserBodyPartsChoice )( 
            IBodyParts __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IBodyParts __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetAllSelected )( 
            IBodyParts __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetAllSelected )( 
            IBodyParts __RPC_FAR * This,
            BOOL Val);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetPartSelected )( 
            IBodyParts __RPC_FAR * This,
            long Index,
            BOOL Select);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPartSelected )( 
            IBodyParts __RPC_FAR * This,
            long Index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetGreatPartsSelected )( 
            IBodyParts __RPC_FAR * This);
        
        END_INTERFACE
    } IBodyPartsVtbl;

    interface IBodyParts
    {
        CONST_VTBL struct IBodyPartsVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IBodyParts_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IBodyParts_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IBodyParts_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IBodyParts_UserBodyPartsChoice(This)	\
    (This)->lpVtbl -> UserBodyPartsChoice(This)

#define IBodyParts_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IBodyParts_GetAllSelected(This)	\
    (This)->lpVtbl -> GetAllSelected(This)

#define IBodyParts_SetAllSelected(This,Val)	\
    (This)->lpVtbl -> SetAllSelected(This,Val)

#define IBodyParts_SetPartSelected(This,Index,Select)	\
    (This)->lpVtbl -> SetPartSelected(This,Index,Select)

#define IBodyParts_GetPartSelected(This,Index)	\
    (This)->lpVtbl -> GetPartSelected(This,Index)

#define IBodyParts_SetGreatPartsSelected(This)	\
    (This)->lpVtbl -> SetGreatPartsSelected(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyParts_UserBodyPartsChoice_Proxy( 
    IBodyParts __RPC_FAR * This);


void __RPC_STUB IBodyParts_UserBodyPartsChoice_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IBodyParts_GetCount_Proxy( 
    IBodyParts __RPC_FAR * This);


void __RPC_STUB IBodyParts_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyParts_GetAllSelected_Proxy( 
    IBodyParts __RPC_FAR * This);


void __RPC_STUB IBodyParts_GetAllSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyParts_SetAllSelected_Proxy( 
    IBodyParts __RPC_FAR * This,
    BOOL Val);


void __RPC_STUB IBodyParts_SetAllSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyParts_SetPartSelected_Proxy( 
    IBodyParts __RPC_FAR * This,
    long Index,
    BOOL Select);


void __RPC_STUB IBodyParts_SetPartSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyParts_GetPartSelected_Proxy( 
    IBodyParts __RPC_FAR * This,
    long Index);


void __RPC_STUB IBodyParts_GetPartSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyParts_SetGreatPartsSelected_Proxy( 
    IBodyParts __RPC_FAR * This);


void __RPC_STUB IBodyParts_SetGreatPartsSelected_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IBodyParts_INTERFACE_DEFINED__ */


#ifndef __IMassInertiaParam_INTERFACE_DEFINED__
#define __IMassInertiaParam_INTERFACE_DEFINED__

/* interface IMassInertiaParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IMassInertiaParam,0x74e97440,0x88a5,0x4d29,0x95,0x43,0x59,0xd7,0x75,0xbc,0x9a,0x13);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("74e97440-88a5-4d29-9543-59d775bc9a13")
    IMassInertiaParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetXc( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetYc( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetZc( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetLx( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetLy( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetLz( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetLxy( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetLxz( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetLyz( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetJx( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetJy( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetJz( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetJxy( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetJxz( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetJyz( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetJx0( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetJy0( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetJz0( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetAxisX( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetAxisY( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetAxisZ( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetR( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetM( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetV( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetF( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetBitVectorValue( 
            unsigned int val,
            BOOL setState) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMassInertiaParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMassInertiaParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMassInertiaParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetXc )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetYc )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetZc )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetLx )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetLy )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetLz )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetLxy )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetLxz )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetLyz )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetJx )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetJy )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetJz )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetJxy )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetJxz )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetJyz )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetJx0 )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetJy0 )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetJz0 )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetAxisX )( 
            IMassInertiaParam __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetAxisY )( 
            IMassInertiaParam __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetAxisZ )( 
            IMassInertiaParam __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetR )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetM )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetV )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetF )( 
            IMassInertiaParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetBitVectorValue )( 
            IMassInertiaParam __RPC_FAR * This,
            unsigned int val,
            BOOL setState);
        
        END_INTERFACE
    } IMassInertiaParamVtbl;

    interface IMassInertiaParam
    {
        CONST_VTBL struct IMassInertiaParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMassInertiaParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMassInertiaParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMassInertiaParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMassInertiaParam_GetXc(This)	\
    (This)->lpVtbl -> GetXc(This)

#define IMassInertiaParam_GetYc(This)	\
    (This)->lpVtbl -> GetYc(This)

#define IMassInertiaParam_GetZc(This)	\
    (This)->lpVtbl -> GetZc(This)

#define IMassInertiaParam_GetLx(This)	\
    (This)->lpVtbl -> GetLx(This)

#define IMassInertiaParam_GetLy(This)	\
    (This)->lpVtbl -> GetLy(This)

#define IMassInertiaParam_GetLz(This)	\
    (This)->lpVtbl -> GetLz(This)

#define IMassInertiaParam_GetLxy(This)	\
    (This)->lpVtbl -> GetLxy(This)

#define IMassInertiaParam_GetLxz(This)	\
    (This)->lpVtbl -> GetLxz(This)

#define IMassInertiaParam_GetLyz(This)	\
    (This)->lpVtbl -> GetLyz(This)

#define IMassInertiaParam_GetJx(This)	\
    (This)->lpVtbl -> GetJx(This)

#define IMassInertiaParam_GetJy(This)	\
    (This)->lpVtbl -> GetJy(This)

#define IMassInertiaParam_GetJz(This)	\
    (This)->lpVtbl -> GetJz(This)

#define IMassInertiaParam_GetJxy(This)	\
    (This)->lpVtbl -> GetJxy(This)

#define IMassInertiaParam_GetJxz(This)	\
    (This)->lpVtbl -> GetJxz(This)

#define IMassInertiaParam_GetJyz(This)	\
    (This)->lpVtbl -> GetJyz(This)

#define IMassInertiaParam_GetJx0(This)	\
    (This)->lpVtbl -> GetJx0(This)

#define IMassInertiaParam_GetJy0(This)	\
    (This)->lpVtbl -> GetJy0(This)

#define IMassInertiaParam_GetJz0(This)	\
    (This)->lpVtbl -> GetJz0(This)

#define IMassInertiaParam_GetAxisX(This,x,y,z)	\
    (This)->lpVtbl -> GetAxisX(This,x,y,z)

#define IMassInertiaParam_GetAxisY(This,x,y,z)	\
    (This)->lpVtbl -> GetAxisY(This,x,y,z)

#define IMassInertiaParam_GetAxisZ(This,x,y,z)	\
    (This)->lpVtbl -> GetAxisZ(This,x,y,z)

#define IMassInertiaParam_GetR(This)	\
    (This)->lpVtbl -> GetR(This)

#define IMassInertiaParam_GetM(This)	\
    (This)->lpVtbl -> GetM(This)

#define IMassInertiaParam_GetV(This)	\
    (This)->lpVtbl -> GetV(This)

#define IMassInertiaParam_GetF(This)	\
    (This)->lpVtbl -> GetF(This)

#define IMassInertiaParam_SetBitVectorValue(This,val,setState)	\
    (This)->lpVtbl -> SetBitVectorValue(This,val,setState)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetXc_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetXc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetYc_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetYc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetZc_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetZc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetLx_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetLx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetLy_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetLy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetLz_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetLz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetLxy_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetLxy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetLxz_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetLxz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetLyz_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetLyz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetJx_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetJx_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetJy_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetJy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetJz_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetJz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetJxy_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetJxy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetJxz_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetJxz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetJyz_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetJyz_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetJx0_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetJx0_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetJy0_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetJy0_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetJz0_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetJz0_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMassInertiaParam_GetAxisX_Proxy( 
    IMassInertiaParam __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB IMassInertiaParam_GetAxisX_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMassInertiaParam_GetAxisY_Proxy( 
    IMassInertiaParam __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB IMassInertiaParam_GetAxisY_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMassInertiaParam_GetAxisZ_Proxy( 
    IMassInertiaParam __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB IMassInertiaParam_GetAxisZ_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetR_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetR_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetM_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetM_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetV_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetV_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMassInertiaParam_GetF_Proxy( 
    IMassInertiaParam __RPC_FAR * This);


void __RPC_STUB IMassInertiaParam_GetF_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMassInertiaParam_SetBitVectorValue_Proxy( 
    IMassInertiaParam __RPC_FAR * This,
    unsigned int val,
    BOOL setState);


void __RPC_STUB IMassInertiaParam_SetBitVectorValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMassInertiaParam_INTERFACE_DEFINED__ */


#ifndef __IMeasurer_INTERFACE_DEFINED__
#define __IMeasurer_INTERFACE_DEFINED__

/* interface IMeasurer */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IMeasurer,0xac171655,0xed3f,0x4f7a,0xa6,0x25,0x44,0x08,0x39,0x41,0xaf,0x85);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ac171655-ed3f-4f7a-a625-44083941af85")
    IMeasurer : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetObject1( 
            LPENTITY obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetObject2( 
            LPENTITY obj) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetObject1( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetObject2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetUnit( 
            unsigned long bitVector) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetUnit( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetExtendObject1( 
            BOOL ext) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetExtendObject2( 
            BOOL ext) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetExtendObject1( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetExtendObject2( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Calc( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsAngleValid( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetDistance( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPoint1( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPoint2( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetMaxDistance( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetNormalDistance( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetMaxPoint1( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetMaxPoint2( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetNormalPoint1( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetNormalPoint2( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetMeasureResult( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMeasurerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMeasurer __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMeasurer __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetObject1 )( 
            IMeasurer __RPC_FAR * This,
            LPENTITY obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetObject2 )( 
            IMeasurer __RPC_FAR * This,
            LPENTITY obj);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetObject1 )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetObject2 )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetUnit )( 
            IMeasurer __RPC_FAR * This,
            unsigned long bitVector);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetUnit )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetExtendObject1 )( 
            IMeasurer __RPC_FAR * This,
            BOOL ext);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetExtendObject2 )( 
            IMeasurer __RPC_FAR * This,
            BOOL ext);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetExtendObject1 )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetExtendObject2 )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Calc )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsAngleValid )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetDistance )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPoint1 )( 
            IMeasurer __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPoint2 )( 
            IMeasurer __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetMaxDistance )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetNormalDistance )( 
            IMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetMaxPoint1 )( 
            IMeasurer __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetMaxPoint2 )( 
            IMeasurer __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetNormalPoint1 )( 
            IMeasurer __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetNormalPoint2 )( 
            IMeasurer __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetMeasureResult )( 
            IMeasurer __RPC_FAR * This);
        
        END_INTERFACE
    } IMeasurerVtbl;

    interface IMeasurer
    {
        CONST_VTBL struct IMeasurerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMeasurer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMeasurer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMeasurer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMeasurer_SetObject1(This,obj)	\
    (This)->lpVtbl -> SetObject1(This,obj)

#define IMeasurer_SetObject2(This,obj)	\
    (This)->lpVtbl -> SetObject2(This,obj)

#define IMeasurer_GetObject1(This)	\
    (This)->lpVtbl -> GetObject1(This)

#define IMeasurer_GetObject2(This)	\
    (This)->lpVtbl -> GetObject2(This)

#define IMeasurer_SetUnit(This,bitVector)	\
    (This)->lpVtbl -> SetUnit(This,bitVector)

#define IMeasurer_GetUnit(This)	\
    (This)->lpVtbl -> GetUnit(This)

#define IMeasurer_SetExtendObject1(This,ext)	\
    (This)->lpVtbl -> SetExtendObject1(This,ext)

#define IMeasurer_SetExtendObject2(This,ext)	\
    (This)->lpVtbl -> SetExtendObject2(This,ext)

#define IMeasurer_GetExtendObject1(This)	\
    (This)->lpVtbl -> GetExtendObject1(This)

#define IMeasurer_GetExtendObject2(This)	\
    (This)->lpVtbl -> GetExtendObject2(This)

#define IMeasurer_Calc(This)	\
    (This)->lpVtbl -> Calc(This)

#define IMeasurer_IsAngleValid(This)	\
    (This)->lpVtbl -> IsAngleValid(This)

#define IMeasurer_GetAngle(This)	\
    (This)->lpVtbl -> GetAngle(This)

#define IMeasurer_GetDistance(This)	\
    (This)->lpVtbl -> GetDistance(This)

#define IMeasurer_GetPoint1(This,x,y,z)	\
    (This)->lpVtbl -> GetPoint1(This,x,y,z)

#define IMeasurer_GetPoint2(This,x,y,z)	\
    (This)->lpVtbl -> GetPoint2(This,x,y,z)

#define IMeasurer_GetMaxDistance(This)	\
    (This)->lpVtbl -> GetMaxDistance(This)

#define IMeasurer_GetNormalDistance(This)	\
    (This)->lpVtbl -> GetNormalDistance(This)

#define IMeasurer_GetMaxPoint1(This,x,y,z)	\
    (This)->lpVtbl -> GetMaxPoint1(This,x,y,z)

#define IMeasurer_GetMaxPoint2(This,x,y,z)	\
    (This)->lpVtbl -> GetMaxPoint2(This,x,y,z)

#define IMeasurer_GetNormalPoint1(This,x,y,z)	\
    (This)->lpVtbl -> GetNormalPoint1(This,x,y,z)

#define IMeasurer_GetNormalPoint2(This,x,y,z)	\
    (This)->lpVtbl -> GetNormalPoint2(This,x,y,z)

#define IMeasurer_GetMeasureResult(This)	\
    (This)->lpVtbl -> GetMeasureResult(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_SetObject1_Proxy( 
    IMeasurer __RPC_FAR * This,
    LPENTITY obj);


void __RPC_STUB IMeasurer_SetObject1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_SetObject2_Proxy( 
    IMeasurer __RPC_FAR * This,
    LPENTITY obj);


void __RPC_STUB IMeasurer_SetObject2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IMeasurer_GetObject1_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_GetObject1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IMeasurer_GetObject2_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_GetObject2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_SetUnit_Proxy( 
    IMeasurer __RPC_FAR * This,
    unsigned long bitVector);


void __RPC_STUB IMeasurer_SetUnit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IMeasurer_GetUnit_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_GetUnit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_SetExtendObject1_Proxy( 
    IMeasurer __RPC_FAR * This,
    BOOL ext);


void __RPC_STUB IMeasurer_SetExtendObject1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_SetExtendObject2_Proxy( 
    IMeasurer __RPC_FAR * This,
    BOOL ext);


void __RPC_STUB IMeasurer_SetExtendObject2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_GetExtendObject1_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_GetExtendObject1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_GetExtendObject2_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_GetExtendObject2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_Calc_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_Calc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_IsAngleValid_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_IsAngleValid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMeasurer_GetAngle_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_GetAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMeasurer_GetDistance_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_GetDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_GetPoint1_Proxy( 
    IMeasurer __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB IMeasurer_GetPoint1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_GetPoint2_Proxy( 
    IMeasurer __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB IMeasurer_GetPoint2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMeasurer_GetMaxDistance_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_GetMaxDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IMeasurer_GetNormalDistance_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_GetNormalDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_GetMaxPoint1_Proxy( 
    IMeasurer __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB IMeasurer_GetMaxPoint1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_GetMaxPoint2_Proxy( 
    IMeasurer __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB IMeasurer_GetMaxPoint2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_GetNormalPoint1_Proxy( 
    IMeasurer __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB IMeasurer_GetNormalPoint1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMeasurer_GetNormalPoint2_Proxy( 
    IMeasurer __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB IMeasurer_GetNormalPoint2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IMeasurer_GetMeasureResult_Proxy( 
    IMeasurer __RPC_FAR * This);


void __RPC_STUB IMeasurer_GetMeasureResult_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMeasurer_INTERFACE_DEFINED__ */


#ifndef __IBody_INTERFACE_DEFINED__
#define __IBody_INTERFACE_DEFINED__

/* interface IBody */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IBody,0xbe70eee5,0x1767,0x483e,0x9d,0x18,0x79,0xbc,0xec,0x5a,0xb8,0x37);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("be70eee5-1767-483e-9d18-79bcec5ab837")
    IBody : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetGabarit( 
            double __RPC_FAR *x1,
            double __RPC_FAR *y1,
            double __RPC_FAR *z1,
            double __RPC_FAR *x2,
            double __RPC_FAR *y2,
            double __RPC_FAR *z2) = 0;
        
        virtual /* [helpstring] */ LPFACECOLLECTION STDMETHODCALLTYPE FaceCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsSolid( void) = 0;
        
        virtual /* [helpstring] */ LPMASSINERTIAPARAM STDMETHODCALLTYPE CalcMassInertiaProperties( 
            unsigned int bitVector) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE CurveIntersection( 
            LPCURVE3D curve,
            LPFACECOLLECTION faces,
            LPCOORDINATE3DCOLLECTION points) = 0;
        
        virtual /* [helpstring] */ LPINTERSECTIONRESULT STDMETHODCALLTYPE CheckIntersectionWithBody( 
            LPBODY otherBody,
            BOOL checkTangent) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetMultiBodyParts( void) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE GetFeature( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetIntersectionFacesWithBody( 
            LPBODY otherBody,
            VARIANT __RPC_FAR *intersectionFaces1,
            VARIANT __RPC_FAR *intersectionFaces2,
            VARIANT __RPC_FAR *connectedFaces1,
            VARIANT __RPC_FAR *connectedFaces2) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBodyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBody __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBody __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBody __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetGabarit )( 
            IBody __RPC_FAR * This,
            double __RPC_FAR *x1,
            double __RPC_FAR *y1,
            double __RPC_FAR *z1,
            double __RPC_FAR *x2,
            double __RPC_FAR *y2,
            double __RPC_FAR *z2);
        
        /* [helpstring] */ LPFACECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *FaceCollection )( 
            IBody __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsSolid )( 
            IBody __RPC_FAR * This);
        
        /* [helpstring] */ LPMASSINERTIAPARAM ( STDMETHODCALLTYPE __RPC_FAR *CalcMassInertiaProperties )( 
            IBody __RPC_FAR * This,
            unsigned int bitVector);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *CurveIntersection )( 
            IBody __RPC_FAR * This,
            LPCURVE3D curve,
            LPFACECOLLECTION faces,
            LPCOORDINATE3DCOLLECTION points);
        
        /* [helpstring] */ LPINTERSECTIONRESULT ( STDMETHODCALLTYPE __RPC_FAR *CheckIntersectionWithBody )( 
            IBody __RPC_FAR * This,
            LPBODY otherBody,
            BOOL checkTangent);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetMultiBodyParts )( 
            IBody __RPC_FAR * This);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *GetFeature )( 
            IBody __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetIntersectionFacesWithBody )( 
            IBody __RPC_FAR * This,
            LPBODY otherBody,
            VARIANT __RPC_FAR *intersectionFaces1,
            VARIANT __RPC_FAR *intersectionFaces2,
            VARIANT __RPC_FAR *connectedFaces1,
            VARIANT __RPC_FAR *connectedFaces2);
        
        END_INTERFACE
    } IBodyVtbl;

    interface IBody
    {
        CONST_VTBL struct IBodyVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IBody_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IBody_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IBody_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IBody_GetGabarit(This,x1,y1,z1,x2,y2,z2)	\
    (This)->lpVtbl -> GetGabarit(This,x1,y1,z1,x2,y2,z2)

#define IBody_FaceCollection(This)	\
    (This)->lpVtbl -> FaceCollection(This)

#define IBody_IsSolid(This)	\
    (This)->lpVtbl -> IsSolid(This)

#define IBody_CalcMassInertiaProperties(This,bitVector)	\
    (This)->lpVtbl -> CalcMassInertiaProperties(This,bitVector)

#define IBody_CurveIntersection(This,curve,faces,points)	\
    (This)->lpVtbl -> CurveIntersection(This,curve,faces,points)

#define IBody_CheckIntersectionWithBody(This,otherBody,checkTangent)	\
    (This)->lpVtbl -> CheckIntersectionWithBody(This,otherBody,checkTangent)

#define IBody_GetMultiBodyParts(This)	\
    (This)->lpVtbl -> GetMultiBodyParts(This)

#define IBody_GetFeature(This)	\
    (This)->lpVtbl -> GetFeature(This)

#define IBody_GetIntersectionFacesWithBody(This,otherBody,intersectionFaces1,intersectionFaces2,connectedFaces1,connectedFaces2)	\
    (This)->lpVtbl -> GetIntersectionFacesWithBody(This,otherBody,intersectionFaces1,intersectionFaces2,connectedFaces1,connectedFaces2)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IBody_GetGabarit_Proxy( 
    IBody __RPC_FAR * This,
    double __RPC_FAR *x1,
    double __RPC_FAR *y1,
    double __RPC_FAR *z1,
    double __RPC_FAR *x2,
    double __RPC_FAR *y2,
    double __RPC_FAR *z2);


void __RPC_STUB IBody_GetGabarit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFACECOLLECTION STDMETHODCALLTYPE IBody_FaceCollection_Proxy( 
    IBody __RPC_FAR * This);


void __RPC_STUB IBody_FaceCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBody_IsSolid_Proxy( 
    IBody __RPC_FAR * This);


void __RPC_STUB IBody_IsSolid_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPMASSINERTIAPARAM STDMETHODCALLTYPE IBody_CalcMassInertiaProperties_Proxy( 
    IBody __RPC_FAR * This,
    unsigned int bitVector);


void __RPC_STUB IBody_CalcMassInertiaProperties_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBody_CurveIntersection_Proxy( 
    IBody __RPC_FAR * This,
    LPCURVE3D curve,
    LPFACECOLLECTION faces,
    LPCOORDINATE3DCOLLECTION points);


void __RPC_STUB IBody_CurveIntersection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPINTERSECTIONRESULT STDMETHODCALLTYPE IBody_CheckIntersectionWithBody_Proxy( 
    IBody __RPC_FAR * This,
    LPBODY otherBody,
    BOOL checkTangent);


void __RPC_STUB IBody_CheckIntersectionWithBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBody_GetMultiBodyParts_Proxy( 
    IBody __RPC_FAR * This);


void __RPC_STUB IBody_GetMultiBodyParts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IBody_GetFeature_Proxy( 
    IBody __RPC_FAR * This);


void __RPC_STUB IBody_GetFeature_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBody_GetIntersectionFacesWithBody_Proxy( 
    IBody __RPC_FAR * This,
    LPBODY otherBody,
    VARIANT __RPC_FAR *intersectionFaces1,
    VARIANT __RPC_FAR *intersectionFaces2,
    VARIANT __RPC_FAR *connectedFaces1,
    VARIANT __RPC_FAR *connectedFaces2);


void __RPC_STUB IBody_GetIntersectionFacesWithBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IBody_INTERFACE_DEFINED__ */


#ifndef __ISurface_INTERFACE_DEFINED__
#define __ISurface_INTERFACE_DEFINED__

/* interface ISurface */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ISurface,0x081c7f2d,0xd5bc,0x40a6,0x92,0xfe,0xc1,0x6b,0x67,0xd1,0x0b,0x75);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("081c7f2d-d5bc-40a6-92fe-c16b67d10b75")
    ISurface : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetGabarit( 
            double __RPC_FAR *x1,
            double __RPC_FAR *y1,
            double __RPC_FAR *z1,
            double __RPC_FAR *x2,
            double __RPC_FAR *y2,
            double __RPC_FAR *z2) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPoint( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetNormal( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetTangentVectorU( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetTangentVectorV( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeU( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeV( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeUU( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeVV( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeUV( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeUUU( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeVVV( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeUVV( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeUUV( 
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetParamUMin( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetParamUMax( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetParamVMin( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetParamVMax( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsClosedU( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsClosedV( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsPlane( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsCone( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsCylinder( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsTorus( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsSphere( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsNurbsSurface( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsRevolved( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsSwept( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE GetSurfaceParam( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetArea( 
            unsigned long bitVector) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE NearPointProjection( 
            double x,
            double y,
            double z,
            double __RPC_FAR *u,
            double __RPC_FAR *v,
            BOOL ext) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE CurveIntersection( 
            LPCURVE3D curve,
            LPCOORDINATE3DCOLLECTION pointsArr,
            BOOL extSurf,
            BOOL extCurve) = 0;
        
        virtual /* [helpstring] */ LPNURBSSURFACEPARAM STDMETHODCALLTYPE GetNurbsSurfaceParam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetBoundaryUVNurbs( 
            BOOL uv,
            BOOL closed,
            long loopIndex,
            long edgeIndex,
            long __RPC_FAR *degree,
            VARIANT __RPC_FAR *points,
            VARIANT __RPC_FAR *weights,
            VARIANT __RPC_FAR *knots,
            double __RPC_FAR *tMin,
            double __RPC_FAR *tMax) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetBoundaryCount( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetEdgesCount( 
            long loopIndex) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISurfaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ISurface __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ISurface __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetGabarit )( 
            ISurface __RPC_FAR * This,
            double __RPC_FAR *x1,
            double __RPC_FAR *y1,
            double __RPC_FAR *z1,
            double __RPC_FAR *x2,
            double __RPC_FAR *y2,
            double __RPC_FAR *z2);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetNormal )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetTangentVectorU )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetTangentVectorV )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeU )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeV )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeUU )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeVV )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeUV )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeUUU )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeVVV )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeUVV )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeUUV )( 
            ISurface __RPC_FAR * This,
            double paramU,
            double paramV,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetParamUMin )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetParamUMax )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetParamVMin )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetParamVMax )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsClosedU )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsClosedV )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsPlane )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsCone )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsCylinder )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsTorus )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsSphere )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsNurbsSurface )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsRevolved )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsSwept )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *GetSurfaceParam )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetArea )( 
            ISurface __RPC_FAR * This,
            unsigned long bitVector);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *NearPointProjection )( 
            ISurface __RPC_FAR * This,
            double x,
            double y,
            double z,
            double __RPC_FAR *u,
            double __RPC_FAR *v,
            BOOL ext);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *CurveIntersection )( 
            ISurface __RPC_FAR * This,
            LPCURVE3D curve,
            LPCOORDINATE3DCOLLECTION pointsArr,
            BOOL extSurf,
            BOOL extCurve);
        
        /* [helpstring] */ LPNURBSSURFACEPARAM ( STDMETHODCALLTYPE __RPC_FAR *GetNurbsSurfaceParam )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetBoundaryUVNurbs )( 
            ISurface __RPC_FAR * This,
            BOOL uv,
            BOOL closed,
            long loopIndex,
            long edgeIndex,
            long __RPC_FAR *degree,
            VARIANT __RPC_FAR *points,
            VARIANT __RPC_FAR *weights,
            VARIANT __RPC_FAR *knots,
            double __RPC_FAR *tMin,
            double __RPC_FAR *tMax);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetBoundaryCount )( 
            ISurface __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetEdgesCount )( 
            ISurface __RPC_FAR * This,
            long loopIndex);
        
        END_INTERFACE
    } ISurfaceVtbl;

    interface ISurface
    {
        CONST_VTBL struct ISurfaceVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISurface_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ISurface_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ISurface_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ISurface_GetGabarit(This,x1,y1,z1,x2,y2,z2)	\
    (This)->lpVtbl -> GetGabarit(This,x1,y1,z1,x2,y2,z2)

#define ISurface_GetPoint(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetPoint(This,paramU,paramV,x,y,z)

#define ISurface_GetNormal(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetNormal(This,paramU,paramV,x,y,z)

#define ISurface_GetTangentVectorU(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetTangentVectorU(This,paramU,paramV,x,y,z)

#define ISurface_GetTangentVectorV(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetTangentVectorV(This,paramU,paramV,x,y,z)

#define ISurface_GetDerivativeU(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeU(This,paramU,paramV,x,y,z)

#define ISurface_GetDerivativeV(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeV(This,paramU,paramV,x,y,z)

#define ISurface_GetDerivativeUU(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeUU(This,paramU,paramV,x,y,z)

#define ISurface_GetDerivativeVV(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeVV(This,paramU,paramV,x,y,z)

#define ISurface_GetDerivativeUV(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeUV(This,paramU,paramV,x,y,z)

#define ISurface_GetDerivativeUUU(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeUUU(This,paramU,paramV,x,y,z)

#define ISurface_GetDerivativeVVV(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeVVV(This,paramU,paramV,x,y,z)

#define ISurface_GetDerivativeUVV(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeUVV(This,paramU,paramV,x,y,z)

#define ISurface_GetDerivativeUUV(This,paramU,paramV,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeUUV(This,paramU,paramV,x,y,z)

#define ISurface_GetParamUMin(This)	\
    (This)->lpVtbl -> GetParamUMin(This)

#define ISurface_GetParamUMax(This)	\
    (This)->lpVtbl -> GetParamUMax(This)

#define ISurface_GetParamVMin(This)	\
    (This)->lpVtbl -> GetParamVMin(This)

#define ISurface_GetParamVMax(This)	\
    (This)->lpVtbl -> GetParamVMax(This)

#define ISurface_IsClosedU(This)	\
    (This)->lpVtbl -> IsClosedU(This)

#define ISurface_IsClosedV(This)	\
    (This)->lpVtbl -> IsClosedV(This)

#define ISurface_IsPlane(This)	\
    (This)->lpVtbl -> IsPlane(This)

#define ISurface_IsCone(This)	\
    (This)->lpVtbl -> IsCone(This)

#define ISurface_IsCylinder(This)	\
    (This)->lpVtbl -> IsCylinder(This)

#define ISurface_IsTorus(This)	\
    (This)->lpVtbl -> IsTorus(This)

#define ISurface_IsSphere(This)	\
    (This)->lpVtbl -> IsSphere(This)

#define ISurface_IsNurbsSurface(This)	\
    (This)->lpVtbl -> IsNurbsSurface(This)

#define ISurface_IsRevolved(This)	\
    (This)->lpVtbl -> IsRevolved(This)

#define ISurface_IsSwept(This)	\
    (This)->lpVtbl -> IsSwept(This)

#define ISurface_GetSurfaceParam(This)	\
    (This)->lpVtbl -> GetSurfaceParam(This)

#define ISurface_GetArea(This,bitVector)	\
    (This)->lpVtbl -> GetArea(This,bitVector)

#define ISurface_NearPointProjection(This,x,y,z,u,v,ext)	\
    (This)->lpVtbl -> NearPointProjection(This,x,y,z,u,v,ext)

#define ISurface_CurveIntersection(This,curve,pointsArr,extSurf,extCurve)	\
    (This)->lpVtbl -> CurveIntersection(This,curve,pointsArr,extSurf,extCurve)

#define ISurface_GetNurbsSurfaceParam(This)	\
    (This)->lpVtbl -> GetNurbsSurfaceParam(This)

#define ISurface_GetBoundaryUVNurbs(This,uv,closed,loopIndex,edgeIndex,degree,points,weights,knots,tMin,tMax)	\
    (This)->lpVtbl -> GetBoundaryUVNurbs(This,uv,closed,loopIndex,edgeIndex,degree,points,weights,knots,tMin,tMax)

#define ISurface_GetBoundaryCount(This)	\
    (This)->lpVtbl -> GetBoundaryCount(This)

#define ISurface_GetEdgesCount(This,loopIndex)	\
    (This)->lpVtbl -> GetEdgesCount(This,loopIndex)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetGabarit_Proxy( 
    ISurface __RPC_FAR * This,
    double __RPC_FAR *x1,
    double __RPC_FAR *y1,
    double __RPC_FAR *z1,
    double __RPC_FAR *x2,
    double __RPC_FAR *y2,
    double __RPC_FAR *z2);


void __RPC_STUB ISurface_GetGabarit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetPoint_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetNormal_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetNormal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetTangentVectorU_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetTangentVectorU_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetTangentVectorV_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetTangentVectorV_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetDerivativeU_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetDerivativeU_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetDerivativeV_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetDerivativeV_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetDerivativeUU_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetDerivativeUU_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetDerivativeVV_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetDerivativeVV_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetDerivativeUV_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetDerivativeUV_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetDerivativeUUU_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetDerivativeUUU_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetDerivativeVVV_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetDerivativeVVV_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetDerivativeUVV_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetDerivativeUVV_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetDerivativeUUV_Proxy( 
    ISurface __RPC_FAR * This,
    double paramU,
    double paramV,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ISurface_GetDerivativeUUV_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ISurface_GetParamUMin_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_GetParamUMin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ISurface_GetParamUMax_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_GetParamUMax_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ISurface_GetParamVMin_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_GetParamVMin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ISurface_GetParamVMax_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_GetParamVMax_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_IsClosedU_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_IsClosedU_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_IsClosedV_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_IsClosedV_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_IsPlane_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_IsPlane_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_IsCone_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_IsCone_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_IsCylinder_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_IsCylinder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_IsTorus_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_IsTorus_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_IsSphere_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_IsSphere_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_IsNurbsSurface_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_IsNurbsSurface_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_IsRevolved_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_IsRevolved_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_IsSwept_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_IsSwept_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE ISurface_GetSurfaceParam_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_GetSurfaceParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ISurface_GetArea_Proxy( 
    ISurface __RPC_FAR * This,
    unsigned long bitVector);


void __RPC_STUB ISurface_GetArea_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_NearPointProjection_Proxy( 
    ISurface __RPC_FAR * This,
    double x,
    double y,
    double z,
    double __RPC_FAR *u,
    double __RPC_FAR *v,
    BOOL ext);


void __RPC_STUB ISurface_NearPointProjection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_CurveIntersection_Proxy( 
    ISurface __RPC_FAR * This,
    LPCURVE3D curve,
    LPCOORDINATE3DCOLLECTION pointsArr,
    BOOL extSurf,
    BOOL extCurve);


void __RPC_STUB ISurface_CurveIntersection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSSURFACEPARAM STDMETHODCALLTYPE ISurface_GetNurbsSurfaceParam_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_GetNurbsSurfaceParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ISurface_GetBoundaryUVNurbs_Proxy( 
    ISurface __RPC_FAR * This,
    BOOL uv,
    BOOL closed,
    long loopIndex,
    long edgeIndex,
    long __RPC_FAR *degree,
    VARIANT __RPC_FAR *points,
    VARIANT __RPC_FAR *weights,
    VARIANT __RPC_FAR *knots,
    double __RPC_FAR *tMin,
    double __RPC_FAR *tMax);


void __RPC_STUB ISurface_GetBoundaryUVNurbs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ISurface_GetBoundaryCount_Proxy( 
    ISurface __RPC_FAR * This);


void __RPC_STUB ISurface_GetBoundaryCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ISurface_GetEdgesCount_Proxy( 
    ISurface __RPC_FAR * This,
    long loopIndex);


void __RPC_STUB ISurface_GetEdgesCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ISurface_INTERFACE_DEFINED__ */


#ifndef __ITessellation_INTERFACE_DEFINED__
#define __ITessellation_INTERFACE_DEFINED__

/* interface ITessellation */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ITessellation,0x5f12cd9d,0x4310,0x4a6b,0xb4,0xb8,0xb1,0x44,0x5a,0xbb,0x36,0xd8);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5f12cd9d-4310-4a6b-b4b8-b1445abb36d8")
    ITessellation : public IUnknown
    {
    public:
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetFacetsCount( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFacetData( 
            int index,
            LPFACET facet) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetPointsCount( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPoint( 
            int index,
            float __RPC_FAR *x,
            float __RPC_FAR *y,
            float __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetNormal( 
            int index,
            float __RPC_FAR *x,
            float __RPC_FAR *y,
            float __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetFacetSize( 
            double sag) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetFacetSize( void) = 0;
        
        virtual /* [helpstring] */ LPFACET STDMETHODCALLTYPE GetFacet( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFacetPoints( 
            VARIANT __RPC_FAR *points,
            VARIANT __RPC_FAR *indexes) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetFacetNormals( 
            VARIANT __RPC_FAR *normals) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ITessellationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ITessellation __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ITessellation __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ITessellation __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetFacetsCount )( 
            ITessellation __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFacetData )( 
            ITessellation __RPC_FAR * This,
            int index,
            LPFACET facet);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetPointsCount )( 
            ITessellation __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            ITessellation __RPC_FAR * This,
            int index,
            float __RPC_FAR *x,
            float __RPC_FAR *y,
            float __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetNormal )( 
            ITessellation __RPC_FAR * This,
            int index,
            float __RPC_FAR *x,
            float __RPC_FAR *y,
            float __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetFacetSize )( 
            ITessellation __RPC_FAR * This,
            double sag);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetFacetSize )( 
            ITessellation __RPC_FAR * This);
        
        /* [helpstring] */ LPFACET ( STDMETHODCALLTYPE __RPC_FAR *GetFacet )( 
            ITessellation __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            ITessellation __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFacetPoints )( 
            ITessellation __RPC_FAR * This,
            VARIANT __RPC_FAR *points,
            VARIANT __RPC_FAR *indexes);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetFacetNormals )( 
            ITessellation __RPC_FAR * This,
            VARIANT __RPC_FAR *normals);
        
        END_INTERFACE
    } ITessellationVtbl;

    interface ITessellation
    {
        CONST_VTBL struct ITessellationVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITessellation_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ITessellation_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ITessellation_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ITessellation_GetFacetsCount(This)	\
    (This)->lpVtbl -> GetFacetsCount(This)

#define ITessellation_GetFacetData(This,index,facet)	\
    (This)->lpVtbl -> GetFacetData(This,index,facet)

#define ITessellation_GetPointsCount(This)	\
    (This)->lpVtbl -> GetPointsCount(This)

#define ITessellation_GetPoint(This,index,x,y,z)	\
    (This)->lpVtbl -> GetPoint(This,index,x,y,z)

#define ITessellation_GetNormal(This,index,x,y,z)	\
    (This)->lpVtbl -> GetNormal(This,index,x,y,z)

#define ITessellation_SetFacetSize(This,sag)	\
    (This)->lpVtbl -> SetFacetSize(This,sag)

#define ITessellation_GetFacetSize(This)	\
    (This)->lpVtbl -> GetFacetSize(This)

#define ITessellation_GetFacet(This)	\
    (This)->lpVtbl -> GetFacet(This)

#define ITessellation_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define ITessellation_GetFacetPoints(This,points,indexes)	\
    (This)->lpVtbl -> GetFacetPoints(This,points,indexes)

#define ITessellation_GetFacetNormals(This,normals)	\
    (This)->lpVtbl -> GetFacetNormals(This,normals)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ long STDMETHODCALLTYPE ITessellation_GetFacetsCount_Proxy( 
    ITessellation __RPC_FAR * This);


void __RPC_STUB ITessellation_GetFacetsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ITessellation_GetFacetData_Proxy( 
    ITessellation __RPC_FAR * This,
    int index,
    LPFACET facet);


void __RPC_STUB ITessellation_GetFacetData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ITessellation_GetPointsCount_Proxy( 
    ITessellation __RPC_FAR * This);


void __RPC_STUB ITessellation_GetPointsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ITessellation_GetPoint_Proxy( 
    ITessellation __RPC_FAR * This,
    int index,
    float __RPC_FAR *x,
    float __RPC_FAR *y,
    float __RPC_FAR *z);


void __RPC_STUB ITessellation_GetPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ITessellation_GetNormal_Proxy( 
    ITessellation __RPC_FAR * This,
    int index,
    float __RPC_FAR *x,
    float __RPC_FAR *y,
    float __RPC_FAR *z);


void __RPC_STUB ITessellation_GetNormal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ITessellation_SetFacetSize_Proxy( 
    ITessellation __RPC_FAR * This,
    double sag);


void __RPC_STUB ITessellation_SetFacetSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ITessellation_GetFacetSize_Proxy( 
    ITessellation __RPC_FAR * This);


void __RPC_STUB ITessellation_GetFacetSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFACET STDMETHODCALLTYPE ITessellation_GetFacet_Proxy( 
    ITessellation __RPC_FAR * This);


void __RPC_STUB ITessellation_GetFacet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ITessellation_Refresh_Proxy( 
    ITessellation __RPC_FAR * This);


void __RPC_STUB ITessellation_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ITessellation_GetFacetPoints_Proxy( 
    ITessellation __RPC_FAR * This,
    VARIANT __RPC_FAR *points,
    VARIANT __RPC_FAR *indexes);


void __RPC_STUB ITessellation_GetFacetPoints_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ITessellation_GetFacetNormals_Proxy( 
    ITessellation __RPC_FAR * This,
    VARIANT __RPC_FAR *normals);


void __RPC_STUB ITessellation_GetFacetNormals_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ITessellation_INTERFACE_DEFINED__ */


#ifndef __ICurve3D_INTERFACE_DEFINED__
#define __ICurve3D_INTERFACE_DEFINED__

/* interface ICurve3D */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICurve3D,0xe5066490,0x773d,0x4289,0xa6,0x0b,0x2f,0xc1,0x98,0x65,0x17,0x4a);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e5066490-773d-4289-a60b-2fc19865174a")
    ICurve3D : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPoint( 
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetTangentVector( 
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetNormal( 
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeT( 
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeTT( 
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetDerivativeTTT( 
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetParamMin( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetParamMax( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsClosed( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsPeriodic( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetMetricLength( 
            double startParam,
            double endParam) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetGabarit( 
            double __RPC_FAR *x1,
            double __RPC_FAR *y1,
            double __RPC_FAR *z1,
            double __RPC_FAR *x2,
            double __RPC_FAR *y2,
            double __RPC_FAR *z2) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsDegenerate( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsPlanar( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsLineSeg( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsArc( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsCircle( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsEllipse( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsNurbs( void) = 0;
        
        virtual /* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE GetCurveParam( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetLength( 
            unsigned int bitVector) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE NearPointProjection( 
            double x,
            double y,
            double z,
            double __RPC_FAR *t,
            BOOL ext) = 0;
        
        virtual /* [helpstring] */ LPNURBS3DPARAM STDMETHODCALLTYPE GetNurbs3dParam( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE CalculatePolygon( 
            double step,
            VARIANT __RPC_FAR *points) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICurve3DVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICurve3D __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICurve3D __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            ICurve3D __RPC_FAR * This,
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetTangentVector )( 
            ICurve3D __RPC_FAR * This,
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetNormal )( 
            ICurve3D __RPC_FAR * This,
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeT )( 
            ICurve3D __RPC_FAR * This,
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeTT )( 
            ICurve3D __RPC_FAR * This,
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetDerivativeTTT )( 
            ICurve3D __RPC_FAR * This,
            double paramT,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetParamMin )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetParamMax )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsClosed )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsPeriodic )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetMetricLength )( 
            ICurve3D __RPC_FAR * This,
            double startParam,
            double endParam);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetGabarit )( 
            ICurve3D __RPC_FAR * This,
            double __RPC_FAR *x1,
            double __RPC_FAR *y1,
            double __RPC_FAR *z1,
            double __RPC_FAR *x2,
            double __RPC_FAR *y2,
            double __RPC_FAR *z2);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsDegenerate )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsPlanar )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsLineSeg )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsArc )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsCircle )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsEllipse )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsNurbs )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ LPUNKNOWN ( STDMETHODCALLTYPE __RPC_FAR *GetCurveParam )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetLength )( 
            ICurve3D __RPC_FAR * This,
            unsigned int bitVector);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *NearPointProjection )( 
            ICurve3D __RPC_FAR * This,
            double x,
            double y,
            double z,
            double __RPC_FAR *t,
            BOOL ext);
        
        /* [helpstring] */ LPNURBS3DPARAM ( STDMETHODCALLTYPE __RPC_FAR *GetNurbs3dParam )( 
            ICurve3D __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *CalculatePolygon )( 
            ICurve3D __RPC_FAR * This,
            double step,
            VARIANT __RPC_FAR *points);
        
        END_INTERFACE
    } ICurve3DVtbl;

    interface ICurve3D
    {
        CONST_VTBL struct ICurve3DVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICurve3D_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICurve3D_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICurve3D_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICurve3D_GetPoint(This,paramT,x,y,z)	\
    (This)->lpVtbl -> GetPoint(This,paramT,x,y,z)

#define ICurve3D_GetTangentVector(This,paramT,x,y,z)	\
    (This)->lpVtbl -> GetTangentVector(This,paramT,x,y,z)

#define ICurve3D_GetNormal(This,paramT,x,y,z)	\
    (This)->lpVtbl -> GetNormal(This,paramT,x,y,z)

#define ICurve3D_GetDerivativeT(This,paramT,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeT(This,paramT,x,y,z)

#define ICurve3D_GetDerivativeTT(This,paramT,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeTT(This,paramT,x,y,z)

#define ICurve3D_GetDerivativeTTT(This,paramT,x,y,z)	\
    (This)->lpVtbl -> GetDerivativeTTT(This,paramT,x,y,z)

#define ICurve3D_GetParamMin(This)	\
    (This)->lpVtbl -> GetParamMin(This)

#define ICurve3D_GetParamMax(This)	\
    (This)->lpVtbl -> GetParamMax(This)

#define ICurve3D_IsClosed(This)	\
    (This)->lpVtbl -> IsClosed(This)

#define ICurve3D_IsPeriodic(This)	\
    (This)->lpVtbl -> IsPeriodic(This)

#define ICurve3D_GetMetricLength(This,startParam,endParam)	\
    (This)->lpVtbl -> GetMetricLength(This,startParam,endParam)

#define ICurve3D_GetGabarit(This,x1,y1,z1,x2,y2,z2)	\
    (This)->lpVtbl -> GetGabarit(This,x1,y1,z1,x2,y2,z2)

#define ICurve3D_IsDegenerate(This)	\
    (This)->lpVtbl -> IsDegenerate(This)

#define ICurve3D_IsPlanar(This)	\
    (This)->lpVtbl -> IsPlanar(This)

#define ICurve3D_IsLineSeg(This)	\
    (This)->lpVtbl -> IsLineSeg(This)

#define ICurve3D_IsArc(This)	\
    (This)->lpVtbl -> IsArc(This)

#define ICurve3D_IsCircle(This)	\
    (This)->lpVtbl -> IsCircle(This)

#define ICurve3D_IsEllipse(This)	\
    (This)->lpVtbl -> IsEllipse(This)

#define ICurve3D_IsNurbs(This)	\
    (This)->lpVtbl -> IsNurbs(This)

#define ICurve3D_GetCurveParam(This)	\
    (This)->lpVtbl -> GetCurveParam(This)

#define ICurve3D_GetLength(This,bitVector)	\
    (This)->lpVtbl -> GetLength(This,bitVector)

#define ICurve3D_NearPointProjection(This,x,y,z,t,ext)	\
    (This)->lpVtbl -> NearPointProjection(This,x,y,z,t,ext)

#define ICurve3D_GetNurbs3dParam(This)	\
    (This)->lpVtbl -> GetNurbs3dParam(This)

#define ICurve3D_CalculatePolygon(This,step,points)	\
    (This)->lpVtbl -> CalculatePolygon(This,step,points)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_GetPoint_Proxy( 
    ICurve3D __RPC_FAR * This,
    double paramT,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ICurve3D_GetPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_GetTangentVector_Proxy( 
    ICurve3D __RPC_FAR * This,
    double paramT,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ICurve3D_GetTangentVector_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_GetNormal_Proxy( 
    ICurve3D __RPC_FAR * This,
    double paramT,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ICurve3D_GetNormal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_GetDerivativeT_Proxy( 
    ICurve3D __RPC_FAR * This,
    double paramT,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ICurve3D_GetDerivativeT_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_GetDerivativeTT_Proxy( 
    ICurve3D __RPC_FAR * This,
    double paramT,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ICurve3D_GetDerivativeTT_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_GetDerivativeTTT_Proxy( 
    ICurve3D __RPC_FAR * This,
    double paramT,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ICurve3D_GetDerivativeTTT_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICurve3D_GetParamMin_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_GetParamMin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICurve3D_GetParamMax_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_GetParamMax_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_IsClosed_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_IsClosed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_IsPeriodic_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_IsPeriodic_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICurve3D_GetMetricLength_Proxy( 
    ICurve3D __RPC_FAR * This,
    double startParam,
    double endParam);


void __RPC_STUB ICurve3D_GetMetricLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_GetGabarit_Proxy( 
    ICurve3D __RPC_FAR * This,
    double __RPC_FAR *x1,
    double __RPC_FAR *y1,
    double __RPC_FAR *z1,
    double __RPC_FAR *x2,
    double __RPC_FAR *y2,
    double __RPC_FAR *z2);


void __RPC_STUB ICurve3D_GetGabarit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_IsDegenerate_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_IsDegenerate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_IsPlanar_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_IsPlanar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_IsLineSeg_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_IsLineSeg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_IsArc_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_IsArc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_IsCircle_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_IsCircle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_IsEllipse_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_IsEllipse_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_IsNurbs_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_IsNurbs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPUNKNOWN STDMETHODCALLTYPE ICurve3D_GetCurveParam_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_GetCurveParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICurve3D_GetLength_Proxy( 
    ICurve3D __RPC_FAR * This,
    unsigned int bitVector);


void __RPC_STUB ICurve3D_GetLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_NearPointProjection_Proxy( 
    ICurve3D __RPC_FAR * This,
    double x,
    double y,
    double z,
    double __RPC_FAR *t,
    BOOL ext);


void __RPC_STUB ICurve3D_NearPointProjection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBS3DPARAM STDMETHODCALLTYPE ICurve3D_GetNurbs3dParam_Proxy( 
    ICurve3D __RPC_FAR * This);


void __RPC_STUB ICurve3D_GetNurbs3dParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICurve3D_CalculatePolygon_Proxy( 
    ICurve3D __RPC_FAR * This,
    double step,
    VARIANT __RPC_FAR *points);


void __RPC_STUB ICurve3D_CalculatePolygon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICurve3D_INTERFACE_DEFINED__ */


#ifndef __IFacet_INTERFACE_DEFINED__
#define __IFacet_INTERFACE_DEFINED__

/* interface IFacet */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IFacet,0x1eed6c22,0x25d4,0x49c6,0xb7,0x6a,0x90,0xb7,0x68,0x96,0x6a,0x3b);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1eed6c22-25d4-49c6-b76a-90b768966a3b")
    IFacet : public IUnknown
    {
    public:
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetPointsCount( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPoint( 
            int index,
            float __RPC_FAR *x,
            float __RPC_FAR *y,
            float __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetNormal( 
            int index,
            float __RPC_FAR *x,
            float __RPC_FAR *y,
            float __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE GetTessellationIndex( 
            int index) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IFacetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IFacet __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IFacet __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IFacet __RPC_FAR * This);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetPointsCount )( 
            IFacet __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            IFacet __RPC_FAR * This,
            int index,
            float __RPC_FAR *x,
            float __RPC_FAR *y,
            float __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetNormal )( 
            IFacet __RPC_FAR * This,
            int index,
            float __RPC_FAR *x,
            float __RPC_FAR *y,
            float __RPC_FAR *z);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *GetTessellationIndex )( 
            IFacet __RPC_FAR * This,
            int index);
        
        END_INTERFACE
    } IFacetVtbl;

    interface IFacet
    {
        CONST_VTBL struct IFacetVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IFacet_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IFacet_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IFacet_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IFacet_GetPointsCount(This)	\
    (This)->lpVtbl -> GetPointsCount(This)

#define IFacet_GetPoint(This,index,x,y,z)	\
    (This)->lpVtbl -> GetPoint(This,index,x,y,z)

#define IFacet_GetNormal(This,index,x,y,z)	\
    (This)->lpVtbl -> GetNormal(This,index,x,y,z)

#define IFacet_GetTessellationIndex(This,index)	\
    (This)->lpVtbl -> GetTessellationIndex(This,index)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ int STDMETHODCALLTYPE IFacet_GetPointsCount_Proxy( 
    IFacet __RPC_FAR * This);


void __RPC_STUB IFacet_GetPointsCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFacet_GetPoint_Proxy( 
    IFacet __RPC_FAR * This,
    int index,
    float __RPC_FAR *x,
    float __RPC_FAR *y,
    float __RPC_FAR *z);


void __RPC_STUB IFacet_GetPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFacet_GetNormal_Proxy( 
    IFacet __RPC_FAR * This,
    int index,
    float __RPC_FAR *x,
    float __RPC_FAR *y,
    float __RPC_FAR *z);


void __RPC_STUB IFacet_GetNormal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ int STDMETHODCALLTYPE IFacet_GetTessellationIndex_Proxy( 
    IFacet __RPC_FAR * This,
    int index);


void __RPC_STUB IFacet_GetTessellationIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IFacet_INTERFACE_DEFINED__ */


#ifndef __ILoop_INTERFACE_DEFINED__
#define __ILoop_INTERFACE_DEFINED__

/* interface ILoop */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ILoop,0x56965a12,0x03bb,0x4068,0x8a,0xe9,0xbe,0xfc,0x23,0xee,0xeb,0x37);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("56965a12-03bb-4068-8ae9-befc23eeeb37")
    ILoop : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPORIENTEDEDGECOLLECTION STDMETHODCALLTYPE OrientedEdgeCollection( 
            LPEDGEDEFINITION val) = 0;
        
        virtual /* [helpstring] */ LPEDGECOLLECTION STDMETHODCALLTYPE EdgeCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE IsOuter( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetLength( 
            unsigned long bitVector) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILoopVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILoop __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILoop __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILoop __RPC_FAR * This);
        
        /* [helpstring] */ LPORIENTEDEDGECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *OrientedEdgeCollection )( 
            ILoop __RPC_FAR * This,
            LPEDGEDEFINITION val);
        
        /* [helpstring] */ LPEDGECOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *EdgeCollection )( 
            ILoop __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsOuter )( 
            ILoop __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetLength )( 
            ILoop __RPC_FAR * This,
            unsigned long bitVector);
        
        END_INTERFACE
    } ILoopVtbl;

    interface ILoop
    {
        CONST_VTBL struct ILoopVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ILoop_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ILoop_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ILoop_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ILoop_OrientedEdgeCollection(This,val)	\
    (This)->lpVtbl -> OrientedEdgeCollection(This,val)

#define ILoop_EdgeCollection(This)	\
    (This)->lpVtbl -> EdgeCollection(This)

#define ILoop_IsOuter(This)	\
    (This)->lpVtbl -> IsOuter(This)

#define ILoop_GetLength(This,bitVector)	\
    (This)->lpVtbl -> GetLength(This,bitVector)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPORIENTEDEDGECOLLECTION STDMETHODCALLTYPE ILoop_OrientedEdgeCollection_Proxy( 
    ILoop __RPC_FAR * This,
    LPEDGEDEFINITION val);


void __RPC_STUB ILoop_OrientedEdgeCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPEDGECOLLECTION STDMETHODCALLTYPE ILoop_EdgeCollection_Proxy( 
    ILoop __RPC_FAR * This);


void __RPC_STUB ILoop_EdgeCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ILoop_IsOuter_Proxy( 
    ILoop __RPC_FAR * This);


void __RPC_STUB ILoop_IsOuter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ILoop_GetLength_Proxy( 
    ILoop __RPC_FAR * This,
    unsigned long bitVector);


void __RPC_STUB ILoop_GetLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ILoop_INTERFACE_DEFINED__ */


#ifndef __IOrientedEdge_INTERFACE_DEFINED__
#define __IOrientedEdge_INTERFACE_DEFINED__

/* interface IOrientedEdge */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IOrientedEdge,0x42aa4e40,0x4415,0x4c79,0x8b,0x8c,0x48,0x0e,0x5a,0xfd,0xb7,0x9a);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("42aa4e40-4415-4c79-8b8c-480e5afdb79a")
    IOrientedEdge : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE GetEdge( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetOrientation( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetOwnerEntity( void) = 0;
        
        virtual /* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE GetNext( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSameSense( void) = 0;
        
        virtual /* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE GetAdjacentFace( 
            BOOL facePlus) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IOrientedEdgeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IOrientedEdge __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IOrientedEdge __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IOrientedEdge __RPC_FAR * This);
        
        /* [helpstring] */ LPEDGEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *GetEdge )( 
            IOrientedEdge __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetOrientation )( 
            IOrientedEdge __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetOwnerEntity )( 
            IOrientedEdge __RPC_FAR * This);
        
        /* [helpstring] */ LPORIENTEDEDGE ( STDMETHODCALLTYPE __RPC_FAR *GetNext )( 
            IOrientedEdge __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSameSense )( 
            IOrientedEdge __RPC_FAR * This);
        
        /* [helpstring] */ LPFACEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *GetAdjacentFace )( 
            IOrientedEdge __RPC_FAR * This,
            BOOL facePlus);
        
        END_INTERFACE
    } IOrientedEdgeVtbl;

    interface IOrientedEdge
    {
        CONST_VTBL struct IOrientedEdgeVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IOrientedEdge_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IOrientedEdge_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IOrientedEdge_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IOrientedEdge_GetEdge(This)	\
    (This)->lpVtbl -> GetEdge(This)

#define IOrientedEdge_GetOrientation(This)	\
    (This)->lpVtbl -> GetOrientation(This)

#define IOrientedEdge_GetOwnerEntity(This)	\
    (This)->lpVtbl -> GetOwnerEntity(This)

#define IOrientedEdge_GetNext(This)	\
    (This)->lpVtbl -> GetNext(This)

#define IOrientedEdge_GetSameSense(This)	\
    (This)->lpVtbl -> GetSameSense(This)

#define IOrientedEdge_GetAdjacentFace(This,facePlus)	\
    (This)->lpVtbl -> GetAdjacentFace(This,facePlus)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE IOrientedEdge_GetEdge_Proxy( 
    IOrientedEdge __RPC_FAR * This);


void __RPC_STUB IOrientedEdge_GetEdge_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IOrientedEdge_GetOrientation_Proxy( 
    IOrientedEdge __RPC_FAR * This);


void __RPC_STUB IOrientedEdge_GetOrientation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IOrientedEdge_GetOwnerEntity_Proxy( 
    IOrientedEdge __RPC_FAR * This);


void __RPC_STUB IOrientedEdge_GetOwnerEntity_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE IOrientedEdge_GetNext_Proxy( 
    IOrientedEdge __RPC_FAR * This);


void __RPC_STUB IOrientedEdge_GetNext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IOrientedEdge_GetSameSense_Proxy( 
    IOrientedEdge __RPC_FAR * This);


void __RPC_STUB IOrientedEdge_GetSameSense_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE IOrientedEdge_GetAdjacentFace_Proxy( 
    IOrientedEdge __RPC_FAR * This,
    BOOL facePlus);


void __RPC_STUB IOrientedEdge_GetAdjacentFace_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IOrientedEdge_INTERFACE_DEFINED__ */


#ifndef __ILineSeg3dParam_INTERFACE_DEFINED__
#define __ILineSeg3dParam_INTERFACE_DEFINED__

/* interface ILineSeg3dParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ILineSeg3dParam,0xfe1515c7,0x7003,0x4ee2,0x9c,0x65,0x04,0x29,0x03,0x9d,0xd2,0x17);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("fe1515c7-7003-4ee2-9c65-0429039dd217")
    ILineSeg3dParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPointFirst( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPointLast( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILineSeg3dParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILineSeg3dParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILineSeg3dParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILineSeg3dParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPointFirst )( 
            ILineSeg3dParam __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPointLast )( 
            ILineSeg3dParam __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        END_INTERFACE
    } ILineSeg3dParamVtbl;

    interface ILineSeg3dParam
    {
        CONST_VTBL struct ILineSeg3dParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ILineSeg3dParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ILineSeg3dParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ILineSeg3dParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ILineSeg3dParam_GetPointFirst(This,x,y,z)	\
    (This)->lpVtbl -> GetPointFirst(This,x,y,z)

#define ILineSeg3dParam_GetPointLast(This,x,y,z)	\
    (This)->lpVtbl -> GetPointLast(This,x,y,z)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ILineSeg3dParam_GetPointFirst_Proxy( 
    ILineSeg3dParam __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ILineSeg3dParam_GetPointFirst_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ILineSeg3dParam_GetPointLast_Proxy( 
    ILineSeg3dParam __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ILineSeg3dParam_GetPointLast_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ILineSeg3dParam_INTERFACE_DEFINED__ */


#ifndef __ICircle3dParam_INTERFACE_DEFINED__
#define __ICircle3dParam_INTERFACE_DEFINED__

/* interface ICircle3dParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICircle3dParam,0x9b2fed02,0x5fac,0x4473,0x9e,0x64,0x9b,0xdf,0x8b,0x33,0x1e,0x10);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9b2fed02-5fac-4473-9e64-9bdf8b331e10")
    ICircle3dParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE GetPlacement( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetRadius( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICircle3dParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICircle3dParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICircle3dParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICircle3dParam __RPC_FAR * This);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            ICircle3dParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetRadius )( 
            ICircle3dParam __RPC_FAR * This);
        
        END_INTERFACE
    } ICircle3dParamVtbl;

    interface ICircle3dParam
    {
        CONST_VTBL struct ICircle3dParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICircle3dParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICircle3dParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICircle3dParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICircle3dParam_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#define ICircle3dParam_GetRadius(This)	\
    (This)->lpVtbl -> GetRadius(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE ICircle3dParam_GetPlacement_Proxy( 
    ICircle3dParam __RPC_FAR * This);


void __RPC_STUB ICircle3dParam_GetPlacement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICircle3dParam_GetRadius_Proxy( 
    ICircle3dParam __RPC_FAR * This);


void __RPC_STUB ICircle3dParam_GetRadius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICircle3dParam_INTERFACE_DEFINED__ */


#ifndef __IEllipse3dParam_INTERFACE_DEFINED__
#define __IEllipse3dParam_INTERFACE_DEFINED__

/* interface IEllipse3dParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IEllipse3dParam,0x1dd50f18,0x9c19,0x424c,0xb2,0x0e,0x77,0xe1,0x36,0x99,0x76,0xe3);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1dd50f18-9c19-424c-b20e-77e1369976e3")
    IEllipse3dParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE GetPlacement( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetMajorRadius( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetMinorRadius( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IEllipse3dParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IEllipse3dParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IEllipse3dParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IEllipse3dParam __RPC_FAR * This);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            IEllipse3dParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetMajorRadius )( 
            IEllipse3dParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetMinorRadius )( 
            IEllipse3dParam __RPC_FAR * This);
        
        END_INTERFACE
    } IEllipse3dParamVtbl;

    interface IEllipse3dParam
    {
        CONST_VTBL struct IEllipse3dParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IEllipse3dParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IEllipse3dParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IEllipse3dParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IEllipse3dParam_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#define IEllipse3dParam_GetMajorRadius(This)	\
    (This)->lpVtbl -> GetMajorRadius(This)

#define IEllipse3dParam_GetMinorRadius(This)	\
    (This)->lpVtbl -> GetMinorRadius(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE IEllipse3dParam_GetPlacement_Proxy( 
    IEllipse3dParam __RPC_FAR * This);


void __RPC_STUB IEllipse3dParam_GetPlacement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IEllipse3dParam_GetMajorRadius_Proxy( 
    IEllipse3dParam __RPC_FAR * This);


void __RPC_STUB IEllipse3dParam_GetMajorRadius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IEllipse3dParam_GetMinorRadius_Proxy( 
    IEllipse3dParam __RPC_FAR * This);


void __RPC_STUB IEllipse3dParam_GetMinorRadius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IEllipse3dParam_INTERFACE_DEFINED__ */


#ifndef __INurbsPoint3dParam_INTERFACE_DEFINED__
#define __INurbsPoint3dParam_INTERFACE_DEFINED__

/* interface INurbsPoint3dParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_INurbsPoint3dParam,0x47cdb649,0xc027,0x4e8d,0x8e,0x25,0x14,0x61,0xcc,0x6d,0x7c,0x12);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47cdb649-c027-4e8d-8e25-1461cc6d7c12")
    INurbsPoint3dParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPoint( 
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetWeight( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct INurbsPoint3dParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            INurbsPoint3dParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            INurbsPoint3dParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            INurbsPoint3dParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPoint )( 
            INurbsPoint3dParam __RPC_FAR * This,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetWeight )( 
            INurbsPoint3dParam __RPC_FAR * This);
        
        END_INTERFACE
    } INurbsPoint3dParamVtbl;

    interface INurbsPoint3dParam
    {
        CONST_VTBL struct INurbsPoint3dParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define INurbsPoint3dParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define INurbsPoint3dParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define INurbsPoint3dParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define INurbsPoint3dParam_GetPoint(This,x,y,z)	\
    (This)->lpVtbl -> GetPoint(This,x,y,z)

#define INurbsPoint3dParam_GetWeight(This)	\
    (This)->lpVtbl -> GetWeight(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dParam_GetPoint_Proxy( 
    INurbsPoint3dParam __RPC_FAR * This,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB INurbsPoint3dParam_GetPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE INurbsPoint3dParam_GetWeight_Proxy( 
    INurbsPoint3dParam __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dParam_GetWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __INurbsPoint3dParam_INTERFACE_DEFINED__ */


#ifndef __INurbs3dParam_INTERFACE_DEFINED__
#define __INurbs3dParam_INTERFACE_DEFINED__

/* interface INurbs3dParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_INurbs3dParam,0x0363cd73,0x028a,0x485f,0x92,0xbf,0xb4,0xdb,0x4b,0x3e,0x23,0x9a);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0363cd73-028a-485f-92bf-b4db4b3e239a")
    INurbs3dParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetDegree( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetClose( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPeriodic( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE GetPointCollection( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSKNOTCOLLECTION STDMETHODCALLTYPE GetKnotCollection( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetNurbsPoints3DParams( 
            BOOL closed,
            VARIANT __RPC_FAR *points,
            VARIANT __RPC_FAR *weights,
            VARIANT __RPC_FAR *knots) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetMinMaxParameters( 
            BOOL closed,
            double __RPC_FAR *tMin,
            double __RPC_FAR *tMax) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct INurbs3dParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            INurbs3dParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            INurbs3dParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            INurbs3dParam __RPC_FAR * This);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetDegree )( 
            INurbs3dParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetClose )( 
            INurbs3dParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPeriodic )( 
            INurbs3dParam __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSPOINT3DCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *GetPointCollection )( 
            INurbs3dParam __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSKNOTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *GetKnotCollection )( 
            INurbs3dParam __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetNurbsPoints3DParams )( 
            INurbs3dParam __RPC_FAR * This,
            BOOL closed,
            VARIANT __RPC_FAR *points,
            VARIANT __RPC_FAR *weights,
            VARIANT __RPC_FAR *knots);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetMinMaxParameters )( 
            INurbs3dParam __RPC_FAR * This,
            BOOL closed,
            double __RPC_FAR *tMin,
            double __RPC_FAR *tMax);
        
        END_INTERFACE
    } INurbs3dParamVtbl;

    interface INurbs3dParam
    {
        CONST_VTBL struct INurbs3dParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define INurbs3dParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define INurbs3dParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define INurbs3dParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define INurbs3dParam_GetDegree(This)	\
    (This)->lpVtbl -> GetDegree(This)

#define INurbs3dParam_GetClose(This)	\
    (This)->lpVtbl -> GetClose(This)

#define INurbs3dParam_GetPeriodic(This)	\
    (This)->lpVtbl -> GetPeriodic(This)

#define INurbs3dParam_GetPointCollection(This)	\
    (This)->lpVtbl -> GetPointCollection(This)

#define INurbs3dParam_GetKnotCollection(This)	\
    (This)->lpVtbl -> GetKnotCollection(This)

#define INurbs3dParam_GetNurbsPoints3DParams(This,closed,points,weights,knots)	\
    (This)->lpVtbl -> GetNurbsPoints3DParams(This,closed,points,weights,knots)

#define INurbs3dParam_GetMinMaxParameters(This,closed,tMin,tMax)	\
    (This)->lpVtbl -> GetMinMaxParameters(This,closed,tMin,tMax)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ short STDMETHODCALLTYPE INurbs3dParam_GetDegree_Proxy( 
    INurbs3dParam __RPC_FAR * This);


void __RPC_STUB INurbs3dParam_GetDegree_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbs3dParam_GetClose_Proxy( 
    INurbs3dParam __RPC_FAR * This);


void __RPC_STUB INurbs3dParam_GetClose_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbs3dParam_GetPeriodic_Proxy( 
    INurbs3dParam __RPC_FAR * This);


void __RPC_STUB INurbs3dParam_GetPeriodic_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE INurbs3dParam_GetPointCollection_Proxy( 
    INurbs3dParam __RPC_FAR * This);


void __RPC_STUB INurbs3dParam_GetPointCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSKNOTCOLLECTION STDMETHODCALLTYPE INurbs3dParam_GetKnotCollection_Proxy( 
    INurbs3dParam __RPC_FAR * This);


void __RPC_STUB INurbs3dParam_GetKnotCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbs3dParam_GetNurbsPoints3DParams_Proxy( 
    INurbs3dParam __RPC_FAR * This,
    BOOL closed,
    VARIANT __RPC_FAR *points,
    VARIANT __RPC_FAR *weights,
    VARIANT __RPC_FAR *knots);


void __RPC_STUB INurbs3dParam_GetNurbsPoints3DParams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbs3dParam_GetMinMaxParameters_Proxy( 
    INurbs3dParam __RPC_FAR * This,
    BOOL closed,
    double __RPC_FAR *tMin,
    double __RPC_FAR *tMax);


void __RPC_STUB INurbs3dParam_GetMinMaxParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __INurbs3dParam_INTERFACE_DEFINED__ */


#ifndef __IPlaneParam_INTERFACE_DEFINED__
#define __IPlaneParam_INTERFACE_DEFINED__

/* interface IPlaneParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPlaneParam,0x9c412b77,0xbfde,0x4d60,0xb8,0xc7,0xbd,0x84,0x98,0x01,0x97,0x5e);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9c412b77-bfde-4d60-b8c7-bd849801975e")
    IPlaneParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE GetPlacement( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPlaneParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPlaneParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPlaneParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPlaneParam __RPC_FAR * This);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            IPlaneParam __RPC_FAR * This);
        
        END_INTERFACE
    } IPlaneParamVtbl;

    interface IPlaneParam
    {
        CONST_VTBL struct IPlaneParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IPlaneParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IPlaneParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IPlaneParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IPlaneParam_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE IPlaneParam_GetPlacement_Proxy( 
    IPlaneParam __RPC_FAR * This);


void __RPC_STUB IPlaneParam_GetPlacement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IPlaneParam_INTERFACE_DEFINED__ */


#ifndef __IConeParam_INTERFACE_DEFINED__
#define __IConeParam_INTERFACE_DEFINED__

/* interface IConeParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IConeParam,0x105943cf,0x5a3e,0x4aa6,0x4a,0xa6,0x57,0xb4,0x17,0x90,0x13,0xfc);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("105943cf-5a3e-4aa6-4aa6-57b4179013fc")
    IConeParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetRadius( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetHeight( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle( void) = 0;
        
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE GetPlacement( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IConeParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IConeParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IConeParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IConeParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetRadius )( 
            IConeParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetHeight )( 
            IConeParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle )( 
            IConeParam __RPC_FAR * This);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            IConeParam __RPC_FAR * This);
        
        END_INTERFACE
    } IConeParamVtbl;

    interface IConeParam
    {
        CONST_VTBL struct IConeParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IConeParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IConeParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IConeParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IConeParam_GetRadius(This)	\
    (This)->lpVtbl -> GetRadius(This)

#define IConeParam_GetHeight(This)	\
    (This)->lpVtbl -> GetHeight(This)

#define IConeParam_GetAngle(This)	\
    (This)->lpVtbl -> GetAngle(This)

#define IConeParam_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ double STDMETHODCALLTYPE IConeParam_GetRadius_Proxy( 
    IConeParam __RPC_FAR * This);


void __RPC_STUB IConeParam_GetRadius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IConeParam_GetHeight_Proxy( 
    IConeParam __RPC_FAR * This);


void __RPC_STUB IConeParam_GetHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IConeParam_GetAngle_Proxy( 
    IConeParam __RPC_FAR * This);


void __RPC_STUB IConeParam_GetAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE IConeParam_GetPlacement_Proxy( 
    IConeParam __RPC_FAR * This);


void __RPC_STUB IConeParam_GetPlacement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IConeParam_INTERFACE_DEFINED__ */


#ifndef __ICylinderParam_INTERFACE_DEFINED__
#define __ICylinderParam_INTERFACE_DEFINED__

/* interface ICylinderParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICylinderParam,0xA2899CA0,0xC84E,0x4c16,0xBF,0xB2,0xE8,0xDA,0x69,0xFC,0x11,0x7E);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A2899CA0-C84E-4c16-BFB2-E8DA69FC117E")
    ICylinderParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetRadius( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetHeight( void) = 0;
        
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE GetPlacement( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICylinderParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICylinderParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICylinderParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICylinderParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetRadius )( 
            ICylinderParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetHeight )( 
            ICylinderParam __RPC_FAR * This);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            ICylinderParam __RPC_FAR * This);
        
        END_INTERFACE
    } ICylinderParamVtbl;

    interface ICylinderParam
    {
        CONST_VTBL struct ICylinderParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICylinderParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICylinderParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICylinderParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICylinderParam_GetRadius(This)	\
    (This)->lpVtbl -> GetRadius(This)

#define ICylinderParam_GetHeight(This)	\
    (This)->lpVtbl -> GetHeight(This)

#define ICylinderParam_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ double STDMETHODCALLTYPE ICylinderParam_GetRadius_Proxy( 
    ICylinderParam __RPC_FAR * This);


void __RPC_STUB ICylinderParam_GetRadius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ICylinderParam_GetHeight_Proxy( 
    ICylinderParam __RPC_FAR * This);


void __RPC_STUB ICylinderParam_GetHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE ICylinderParam_GetPlacement_Proxy( 
    ICylinderParam __RPC_FAR * This);


void __RPC_STUB ICylinderParam_GetPlacement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICylinderParam_INTERFACE_DEFINED__ */


#ifndef __ISphereParam_INTERFACE_DEFINED__
#define __ISphereParam_INTERFACE_DEFINED__

/* interface ISphereParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ISphereParam,0x941163aa,0x0f8a,0x422a,0xbe,0x1a,0x9f,0x43,0xc8,0x00,0x10,0x44);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("941163aa-0f8a-422a-be1a-9f43c8001044")
    ISphereParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetRadius( void) = 0;
        
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE GetPlacement( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISphereParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ISphereParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ISphereParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ISphereParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetRadius )( 
            ISphereParam __RPC_FAR * This);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            ISphereParam __RPC_FAR * This);
        
        END_INTERFACE
    } ISphereParamVtbl;

    interface ISphereParam
    {
        CONST_VTBL struct ISphereParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISphereParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ISphereParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ISphereParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ISphereParam_GetRadius(This)	\
    (This)->lpVtbl -> GetRadius(This)

#define ISphereParam_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ double STDMETHODCALLTYPE ISphereParam_GetRadius_Proxy( 
    ISphereParam __RPC_FAR * This);


void __RPC_STUB ISphereParam_GetRadius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE ISphereParam_GetPlacement_Proxy( 
    ISphereParam __RPC_FAR * This);


void __RPC_STUB ISphereParam_GetPlacement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ISphereParam_INTERFACE_DEFINED__ */


#ifndef __ITorusParam_INTERFACE_DEFINED__
#define __ITorusParam_INTERFACE_DEFINED__

/* interface ITorusParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ITorusParam,0xc9c614a7,0xe8b6,0x4454,0xac,0x8b,0xe4,0x23,0x30,0xc1,0x1e,0x15);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c9c614a7-e8b6-4454-ac8b-e42330c11e15")
    ITorusParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetRadius( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetGeneratrixRadius( void) = 0;
        
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE GetPlacement( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ITorusParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ITorusParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ITorusParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ITorusParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetRadius )( 
            ITorusParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetGeneratrixRadius )( 
            ITorusParam __RPC_FAR * This);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            ITorusParam __RPC_FAR * This);
        
        END_INTERFACE
    } ITorusParamVtbl;

    interface ITorusParam
    {
        CONST_VTBL struct ITorusParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITorusParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ITorusParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ITorusParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ITorusParam_GetRadius(This)	\
    (This)->lpVtbl -> GetRadius(This)

#define ITorusParam_GetGeneratrixRadius(This)	\
    (This)->lpVtbl -> GetGeneratrixRadius(This)

#define ITorusParam_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ double STDMETHODCALLTYPE ITorusParam_GetRadius_Proxy( 
    ITorusParam __RPC_FAR * This);


void __RPC_STUB ITorusParam_GetRadius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE ITorusParam_GetGeneratrixRadius_Proxy( 
    ITorusParam __RPC_FAR * This);


void __RPC_STUB ITorusParam_GetGeneratrixRadius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE ITorusParam_GetPlacement_Proxy( 
    ITorusParam __RPC_FAR * This);


void __RPC_STUB ITorusParam_GetPlacement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ITorusParam_INTERFACE_DEFINED__ */


#ifndef __INurbsSurfaceParam_INTERFACE_DEFINED__
#define __INurbsSurfaceParam_INTERFACE_DEFINED__

/* interface INurbsSurfaceParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_INurbsSurfaceParam,0xa5a1cb44,0x5f2e,0x4059,0x86,0xb3,0x4f,0x50,0x56,0xef,0xf9,0x56);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a5a1cb44-5f2e-4059-86b3-4f5056eff956")
    INurbsSurfaceParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ short STDMETHODCALLTYPE GetDegree( 
            BOOL paramU) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetClose( 
            BOOL paramU) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetPeriodic( 
            BOOL paramU) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DCOLLCOLLECTION STDMETHODCALLTYPE GetPointCollection( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSKNOTCOLLECTION STDMETHODCALLTYPE GetKnotCollection( 
            BOOL paramU) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetNurbsParams( 
            BOOL closedV,
            BOOL closedU,
            long __RPC_FAR *degreeV,
            long __RPC_FAR *degreeU,
            long __RPC_FAR *nPV,
            long __RPC_FAR *nPU,
            VARIANT __RPC_FAR *points,
            VARIANT __RPC_FAR *weights,
            VARIANT __RPC_FAR *knotsV,
            VARIANT __RPC_FAR *knotsU) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetBoundaryUVNurbs( 
            BOOL uv,
            BOOL closed,
            long loopIndex,
            long edgeIndex,
            long __RPC_FAR *degree,
            VARIANT __RPC_FAR *points,
            VARIANT __RPC_FAR *weights,
            VARIANT __RPC_FAR *knots,
            double __RPC_FAR *tMin,
            double __RPC_FAR *tMax) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetBoundaryCount( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetEdgesCount( 
            long loopIndex) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetMinMaxParameters( 
            BOOL closedV,
            BOOL closedU,
            double __RPC_FAR *uMin,
            double __RPC_FAR *uMax,
            double __RPC_FAR *vMin,
            double __RPC_FAR *vMax) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct INurbsSurfaceParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            INurbsSurfaceParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            INurbsSurfaceParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            INurbsSurfaceParam __RPC_FAR * This);
        
        /* [helpstring] */ short ( STDMETHODCALLTYPE __RPC_FAR *GetDegree )( 
            INurbsSurfaceParam __RPC_FAR * This,
            BOOL paramU);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetClose )( 
            INurbsSurfaceParam __RPC_FAR * This,
            BOOL paramU);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetPeriodic )( 
            INurbsSurfaceParam __RPC_FAR * This,
            BOOL paramU);
        
        /* [helpstring] */ LPNURBSPOINT3DCOLLCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *GetPointCollection )( 
            INurbsSurfaceParam __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSKNOTCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *GetKnotCollection )( 
            INurbsSurfaceParam __RPC_FAR * This,
            BOOL paramU);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetNurbsParams )( 
            INurbsSurfaceParam __RPC_FAR * This,
            BOOL closedV,
            BOOL closedU,
            long __RPC_FAR *degreeV,
            long __RPC_FAR *degreeU,
            long __RPC_FAR *nPV,
            long __RPC_FAR *nPU,
            VARIANT __RPC_FAR *points,
            VARIANT __RPC_FAR *weights,
            VARIANT __RPC_FAR *knotsV,
            VARIANT __RPC_FAR *knotsU);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetBoundaryUVNurbs )( 
            INurbsSurfaceParam __RPC_FAR * This,
            BOOL uv,
            BOOL closed,
            long loopIndex,
            long edgeIndex,
            long __RPC_FAR *degree,
            VARIANT __RPC_FAR *points,
            VARIANT __RPC_FAR *weights,
            VARIANT __RPC_FAR *knots,
            double __RPC_FAR *tMin,
            double __RPC_FAR *tMax);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetBoundaryCount )( 
            INurbsSurfaceParam __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetEdgesCount )( 
            INurbsSurfaceParam __RPC_FAR * This,
            long loopIndex);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetMinMaxParameters )( 
            INurbsSurfaceParam __RPC_FAR * This,
            BOOL closedV,
            BOOL closedU,
            double __RPC_FAR *uMin,
            double __RPC_FAR *uMax,
            double __RPC_FAR *vMin,
            double __RPC_FAR *vMax);
        
        END_INTERFACE
    } INurbsSurfaceParamVtbl;

    interface INurbsSurfaceParam
    {
        CONST_VTBL struct INurbsSurfaceParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define INurbsSurfaceParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define INurbsSurfaceParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define INurbsSurfaceParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define INurbsSurfaceParam_GetDegree(This,paramU)	\
    (This)->lpVtbl -> GetDegree(This,paramU)

#define INurbsSurfaceParam_GetClose(This,paramU)	\
    (This)->lpVtbl -> GetClose(This,paramU)

#define INurbsSurfaceParam_GetPeriodic(This,paramU)	\
    (This)->lpVtbl -> GetPeriodic(This,paramU)

#define INurbsSurfaceParam_GetPointCollection(This)	\
    (This)->lpVtbl -> GetPointCollection(This)

#define INurbsSurfaceParam_GetKnotCollection(This,paramU)	\
    (This)->lpVtbl -> GetKnotCollection(This,paramU)

#define INurbsSurfaceParam_GetNurbsParams(This,closedV,closedU,degreeV,degreeU,nPV,nPU,points,weights,knotsV,knotsU)	\
    (This)->lpVtbl -> GetNurbsParams(This,closedV,closedU,degreeV,degreeU,nPV,nPU,points,weights,knotsV,knotsU)

#define INurbsSurfaceParam_GetBoundaryUVNurbs(This,uv,closed,loopIndex,edgeIndex,degree,points,weights,knots,tMin,tMax)	\
    (This)->lpVtbl -> GetBoundaryUVNurbs(This,uv,closed,loopIndex,edgeIndex,degree,points,weights,knots,tMin,tMax)

#define INurbsSurfaceParam_GetBoundaryCount(This)	\
    (This)->lpVtbl -> GetBoundaryCount(This)

#define INurbsSurfaceParam_GetEdgesCount(This,loopIndex)	\
    (This)->lpVtbl -> GetEdgesCount(This,loopIndex)

#define INurbsSurfaceParam_GetMinMaxParameters(This,closedV,closedU,uMin,uMax,vMin,vMax)	\
    (This)->lpVtbl -> GetMinMaxParameters(This,closedV,closedU,uMin,uMax,vMin,vMax)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ short STDMETHODCALLTYPE INurbsSurfaceParam_GetDegree_Proxy( 
    INurbsSurfaceParam __RPC_FAR * This,
    BOOL paramU);


void __RPC_STUB INurbsSurfaceParam_GetDegree_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsSurfaceParam_GetClose_Proxy( 
    INurbsSurfaceParam __RPC_FAR * This,
    BOOL paramU);


void __RPC_STUB INurbsSurfaceParam_GetClose_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsSurfaceParam_GetPeriodic_Proxy( 
    INurbsSurfaceParam __RPC_FAR * This,
    BOOL paramU);


void __RPC_STUB INurbsSurfaceParam_GetPeriodic_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DCOLLCOLLECTION STDMETHODCALLTYPE INurbsSurfaceParam_GetPointCollection_Proxy( 
    INurbsSurfaceParam __RPC_FAR * This);


void __RPC_STUB INurbsSurfaceParam_GetPointCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSKNOTCOLLECTION STDMETHODCALLTYPE INurbsSurfaceParam_GetKnotCollection_Proxy( 
    INurbsSurfaceParam __RPC_FAR * This,
    BOOL paramU);


void __RPC_STUB INurbsSurfaceParam_GetKnotCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsSurfaceParam_GetNurbsParams_Proxy( 
    INurbsSurfaceParam __RPC_FAR * This,
    BOOL closedV,
    BOOL closedU,
    long __RPC_FAR *degreeV,
    long __RPC_FAR *degreeU,
    long __RPC_FAR *nPV,
    long __RPC_FAR *nPU,
    VARIANT __RPC_FAR *points,
    VARIANT __RPC_FAR *weights,
    VARIANT __RPC_FAR *knotsV,
    VARIANT __RPC_FAR *knotsU);


void __RPC_STUB INurbsSurfaceParam_GetNurbsParams_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsSurfaceParam_GetBoundaryUVNurbs_Proxy( 
    INurbsSurfaceParam __RPC_FAR * This,
    BOOL uv,
    BOOL closed,
    long loopIndex,
    long edgeIndex,
    long __RPC_FAR *degree,
    VARIANT __RPC_FAR *points,
    VARIANT __RPC_FAR *weights,
    VARIANT __RPC_FAR *knots,
    double __RPC_FAR *tMin,
    double __RPC_FAR *tMax);


void __RPC_STUB INurbsSurfaceParam_GetBoundaryUVNurbs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE INurbsSurfaceParam_GetBoundaryCount_Proxy( 
    INurbsSurfaceParam __RPC_FAR * This);


void __RPC_STUB INurbsSurfaceParam_GetBoundaryCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE INurbsSurfaceParam_GetEdgesCount_Proxy( 
    INurbsSurfaceParam __RPC_FAR * This,
    long loopIndex);


void __RPC_STUB INurbsSurfaceParam_GetEdgesCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsSurfaceParam_GetMinMaxParameters_Proxy( 
    INurbsSurfaceParam __RPC_FAR * This,
    BOOL closedV,
    BOOL closedU,
    double __RPC_FAR *uMin,
    double __RPC_FAR *uMax,
    double __RPC_FAR *vMin,
    double __RPC_FAR *vMax);


void __RPC_STUB INurbsSurfaceParam_GetMinMaxParameters_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __INurbsSurfaceParam_INTERFACE_DEFINED__ */


#ifndef __IArc3dParam_INTERFACE_DEFINED__
#define __IArc3dParam_INTERFACE_DEFINED__

/* interface IArc3dParam */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IArc3dParam,0x24a26824,0xe13c,0x453f,0x88,0x74,0xa0,0xdf,0x62,0xab,0x59,0x5a);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("24a26824-e13c-453f-8874-a0df62ab595a")
    IArc3dParam : public IUnknown
    {
    public:
        virtual /* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE GetPlacement( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetRadius( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetAngle( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IArc3dParamVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IArc3dParam __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IArc3dParam __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IArc3dParam __RPC_FAR * This);
        
        /* [helpstring] */ LPPLACEMENT ( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            IArc3dParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetRadius )( 
            IArc3dParam __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetAngle )( 
            IArc3dParam __RPC_FAR * This);
        
        END_INTERFACE
    } IArc3dParamVtbl;

    interface IArc3dParam
    {
        CONST_VTBL struct IArc3dParamVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IArc3dParam_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IArc3dParam_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IArc3dParam_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IArc3dParam_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#define IArc3dParam_GetRadius(This)	\
    (This)->lpVtbl -> GetRadius(This)

#define IArc3dParam_GetAngle(This)	\
    (This)->lpVtbl -> GetAngle(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ LPPLACEMENT STDMETHODCALLTYPE IArc3dParam_GetPlacement_Proxy( 
    IArc3dParam __RPC_FAR * This);


void __RPC_STUB IArc3dParam_GetPlacement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IArc3dParam_GetRadius_Proxy( 
    IArc3dParam __RPC_FAR * This);


void __RPC_STUB IArc3dParam_GetRadius_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE IArc3dParam_GetAngle_Proxy( 
    IArc3dParam __RPC_FAR * This);


void __RPC_STUB IArc3dParam_GetAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IArc3dParam_INTERFACE_DEFINED__ */


#ifndef __ISTrackingPointsMeasurer_INTERFACE_DEFINED__
#define __ISTrackingPointsMeasurer_INTERFACE_DEFINED__

/* interface ISTrackingPointsMeasurer */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ISTrackingPointsMeasurer,0x4DEA35BC,0xF9E0,0x4a3e,0xB8,0x15,0xFB,0x55,0x89,0x6F,0xC8,0xEF);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4DEA35BC-F9E0-4a3e-B815-FB55896FC8EF")
    ISTrackingPointsMeasurer : public IUnknown
    {
    public:
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetPoint1( 
            double X,
            double Y,
            double Z,
            BOOL begin) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetPoint2( 
            double X,
            double Y,
            double Z,
            BOOL begin) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetRadius1( 
            double Val) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE SetRadius2( 
            double Val) = 0;
        
        virtual /* [helpstring] */ int STDMETHODCALLTYPE Calculate( void) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE GetResultPoint1( 
            double __RPC_FAR *X,
            double __RPC_FAR *Y,
            double __RPC_FAR *Z) = 0;
        
        virtual /* [helpstring] */ void STDMETHODCALLTYPE GetResultPoint2( 
            double __RPC_FAR *X,
            double __RPC_FAR *Y,
            double __RPC_FAR *Z) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISTrackingPointsMeasurerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ISTrackingPointsMeasurer __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ISTrackingPointsMeasurer __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ISTrackingPointsMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetPoint1 )( 
            ISTrackingPointsMeasurer __RPC_FAR * This,
            double X,
            double Y,
            double Z,
            BOOL begin);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetPoint2 )( 
            ISTrackingPointsMeasurer __RPC_FAR * This,
            double X,
            double Y,
            double Z,
            BOOL begin);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetRadius1 )( 
            ISTrackingPointsMeasurer __RPC_FAR * This,
            double Val);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *SetRadius2 )( 
            ISTrackingPointsMeasurer __RPC_FAR * This,
            double Val);
        
        /* [helpstring] */ int ( STDMETHODCALLTYPE __RPC_FAR *Calculate )( 
            ISTrackingPointsMeasurer __RPC_FAR * This);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *GetResultPoint1 )( 
            ISTrackingPointsMeasurer __RPC_FAR * This,
            double __RPC_FAR *X,
            double __RPC_FAR *Y,
            double __RPC_FAR *Z);
        
        /* [helpstring] */ void ( STDMETHODCALLTYPE __RPC_FAR *GetResultPoint2 )( 
            ISTrackingPointsMeasurer __RPC_FAR * This,
            double __RPC_FAR *X,
            double __RPC_FAR *Y,
            double __RPC_FAR *Z);
        
        END_INTERFACE
    } ISTrackingPointsMeasurerVtbl;

    interface ISTrackingPointsMeasurer
    {
        CONST_VTBL struct ISTrackingPointsMeasurerVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISTrackingPointsMeasurer_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ISTrackingPointsMeasurer_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ISTrackingPointsMeasurer_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ISTrackingPointsMeasurer_SetPoint1(This,X,Y,Z,begin)	\
    (This)->lpVtbl -> SetPoint1(This,X,Y,Z,begin)

#define ISTrackingPointsMeasurer_SetPoint2(This,X,Y,Z,begin)	\
    (This)->lpVtbl -> SetPoint2(This,X,Y,Z,begin)

#define ISTrackingPointsMeasurer_SetRadius1(This,Val)	\
    (This)->lpVtbl -> SetRadius1(This,Val)

#define ISTrackingPointsMeasurer_SetRadius2(This,Val)	\
    (This)->lpVtbl -> SetRadius2(This,Val)

#define ISTrackingPointsMeasurer_Calculate(This)	\
    (This)->lpVtbl -> Calculate(This)

#define ISTrackingPointsMeasurer_GetResultPoint1(This,X,Y,Z)	\
    (This)->lpVtbl -> GetResultPoint1(This,X,Y,Z)

#define ISTrackingPointsMeasurer_GetResultPoint2(This,X,Y,Z)	\
    (This)->lpVtbl -> GetResultPoint2(This,X,Y,Z)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ void STDMETHODCALLTYPE ISTrackingPointsMeasurer_SetPoint1_Proxy( 
    ISTrackingPointsMeasurer __RPC_FAR * This,
    double X,
    double Y,
    double Z,
    BOOL begin);


void __RPC_STUB ISTrackingPointsMeasurer_SetPoint1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE ISTrackingPointsMeasurer_SetPoint2_Proxy( 
    ISTrackingPointsMeasurer __RPC_FAR * This,
    double X,
    double Y,
    double Z,
    BOOL begin);


void __RPC_STUB ISTrackingPointsMeasurer_SetPoint2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE ISTrackingPointsMeasurer_SetRadius1_Proxy( 
    ISTrackingPointsMeasurer __RPC_FAR * This,
    double Val);


void __RPC_STUB ISTrackingPointsMeasurer_SetRadius1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE ISTrackingPointsMeasurer_SetRadius2_Proxy( 
    ISTrackingPointsMeasurer __RPC_FAR * This,
    double Val);


void __RPC_STUB ISTrackingPointsMeasurer_SetRadius2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ int STDMETHODCALLTYPE ISTrackingPointsMeasurer_Calculate_Proxy( 
    ISTrackingPointsMeasurer __RPC_FAR * This);


void __RPC_STUB ISTrackingPointsMeasurer_Calculate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE ISTrackingPointsMeasurer_GetResultPoint1_Proxy( 
    ISTrackingPointsMeasurer __RPC_FAR * This,
    double __RPC_FAR *X,
    double __RPC_FAR *Y,
    double __RPC_FAR *Z);


void __RPC_STUB ISTrackingPointsMeasurer_GetResultPoint1_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ void STDMETHODCALLTYPE ISTrackingPointsMeasurer_GetResultPoint2_Proxy( 
    ISTrackingPointsMeasurer __RPC_FAR * This,
    double __RPC_FAR *X,
    double __RPC_FAR *Y,
    double __RPC_FAR *Z);


void __RPC_STUB ISTrackingPointsMeasurer_GetResultPoint2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ISTrackingPointsMeasurer_INTERFACE_DEFINED__ */


#ifndef __IPartCollection_INTERFACE_DEFINED__
#define __IPartCollection_INTERFACE_DEFINED__

/* interface IPartCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IPartCollection,0x7AA0E540,0x0317,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0317-11D4-A30E-00C026EE094F")
    IPartCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE GetByName( 
            LPOLESTR name,
            BOOL testFullName,
            BOOL testIgnoreCase) = 0;
        
        virtual /* [helpstring] */ LPPART STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Add( 
            LPPART entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddAt( 
            LPPART entity,
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddBefore( 
            LPPART entity,
            LPPART base) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByBody( 
            LPPART entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetByIndex( 
            LPPART entity,
            long index) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPPART entity) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPartCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IPartCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IPartCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IPartCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IPartCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IPartCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IPartCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IPartCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IPartCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IPartCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *GetByName )( 
            IPartCollection __RPC_FAR * This,
            LPOLESTR name,
            BOOL testFullName,
            BOOL testIgnoreCase);
        
        /* [helpstring] */ LPPART ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IPartCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IPartCollection __RPC_FAR * This,
            LPPART entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddAt )( 
            IPartCollection __RPC_FAR * This,
            LPPART entity,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddBefore )( 
            IPartCollection __RPC_FAR * This,
            LPPART entity,
            LPPART base);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByIndex )( 
            IPartCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByBody )( 
            IPartCollection __RPC_FAR * This,
            LPPART entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IPartCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetByIndex )( 
            IPartCollection __RPC_FAR * This,
            LPPART entity,
            long index);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            IPartCollection __RPC_FAR * This,
            LPPART entity);
        
        END_INTERFACE
    } IPartCollectionVtbl;

    interface IPartCollection
    {
        CONST_VTBL struct IPartCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IPartCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IPartCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IPartCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IPartCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IPartCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IPartCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define IPartCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IPartCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IPartCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IPartCollection_GetByName(This,name,testFullName,testIgnoreCase)	\
    (This)->lpVtbl -> GetByName(This,name,testFullName,testIgnoreCase)

#define IPartCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define IPartCollection_Add(This,entity)	\
    (This)->lpVtbl -> Add(This,entity)

#define IPartCollection_AddAt(This,entity,index)	\
    (This)->lpVtbl -> AddAt(This,entity,index)

#define IPartCollection_AddBefore(This,entity,base)	\
    (This)->lpVtbl -> AddBefore(This,entity,base)

#define IPartCollection_DetachByIndex(This,index)	\
    (This)->lpVtbl -> DetachByIndex(This,index)

#define IPartCollection_DetachByBody(This,entity)	\
    (This)->lpVtbl -> DetachByBody(This,entity)

#define IPartCollection_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IPartCollection_SetByIndex(This,entity,index)	\
    (This)->lpVtbl -> SetByIndex(This,entity,index)

#define IPartCollection_FindIt(This,entity)	\
    (This)->lpVtbl -> FindIt(This,entity)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IPartCollection_Refresh_Proxy( 
    IPartCollection __RPC_FAR * This);


void __RPC_STUB IPartCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IPartCollection_GetCount_Proxy( 
    IPartCollection __RPC_FAR * This);


void __RPC_STUB IPartCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPART STDMETHODCALLTYPE IPartCollection_First_Proxy( 
    IPartCollection __RPC_FAR * This);


void __RPC_STUB IPartCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPART STDMETHODCALLTYPE IPartCollection_Last_Proxy( 
    IPartCollection __RPC_FAR * This);


void __RPC_STUB IPartCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPART STDMETHODCALLTYPE IPartCollection_Next_Proxy( 
    IPartCollection __RPC_FAR * This);


void __RPC_STUB IPartCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPART STDMETHODCALLTYPE IPartCollection_Prev_Proxy( 
    IPartCollection __RPC_FAR * This);


void __RPC_STUB IPartCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPART STDMETHODCALLTYPE IPartCollection_GetByName_Proxy( 
    IPartCollection __RPC_FAR * This,
    LPOLESTR name,
    BOOL testFullName,
    BOOL testIgnoreCase);


void __RPC_STUB IPartCollection_GetByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPPART STDMETHODCALLTYPE IPartCollection_GetByIndex_Proxy( 
    IPartCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IPartCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPartCollection_Add_Proxy( 
    IPartCollection __RPC_FAR * This,
    LPPART entity);


void __RPC_STUB IPartCollection_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPartCollection_AddAt_Proxy( 
    IPartCollection __RPC_FAR * This,
    LPPART entity,
    long index);


void __RPC_STUB IPartCollection_AddAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPartCollection_AddBefore_Proxy( 
    IPartCollection __RPC_FAR * This,
    LPPART entity,
    LPPART base);


void __RPC_STUB IPartCollection_AddBefore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPartCollection_DetachByIndex_Proxy( 
    IPartCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IPartCollection_DetachByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPartCollection_DetachByBody_Proxy( 
    IPartCollection __RPC_FAR * This,
    LPPART entity);


void __RPC_STUB IPartCollection_DetachByBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPartCollection_Clear_Proxy( 
    IPartCollection __RPC_FAR * This);


void __RPC_STUB IPartCollection_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IPartCollection_SetByIndex_Proxy( 
    IPartCollection __RPC_FAR * This,
    LPPART entity,
    long index);


void __RPC_STUB IPartCollection_SetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE IPartCollection_FindIt_Proxy( 
    IPartCollection __RPC_FAR * This,
    LPPART entity);


void __RPC_STUB IPartCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IPartCollection_INTERFACE_DEFINED__ */


#ifndef __IEntityCollection_INTERFACE_DEFINED__
#define __IEntityCollection_INTERFACE_DEFINED__

/* interface IEntityCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IEntityCollection,0x7AA0E540,0x0303,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0303-11D4-A30E-00C026EE094F")
    IEntityCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetByName( 
            LPOLESTR name,
            BOOL testFullName,
            BOOL testIgnoreCase) = 0;
        
        virtual /* [helpstring] */ LPENTITY STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SelectByPoint( 
            double x,
            double y,
            double z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Add( 
            LPENTITY entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddAt( 
            LPENTITY entity,
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddBefore( 
            LPENTITY entity,
            LPENTITY base) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByBody( 
            LPENTITY entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetByIndex( 
            LPENTITY entity,
            long index) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPENTITY entity) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IEntityCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IEntityCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IEntityCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IEntityCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IEntityCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IEntityCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IEntityCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IEntityCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IEntityCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IEntityCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetByName )( 
            IEntityCollection __RPC_FAR * This,
            LPOLESTR name,
            BOOL testFullName,
            BOOL testIgnoreCase);
        
        /* [helpstring] */ LPENTITY ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IEntityCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SelectByPoint )( 
            IEntityCollection __RPC_FAR * This,
            double x,
            double y,
            double z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IEntityCollection __RPC_FAR * This,
            LPENTITY entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddAt )( 
            IEntityCollection __RPC_FAR * This,
            LPENTITY entity,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddBefore )( 
            IEntityCollection __RPC_FAR * This,
            LPENTITY entity,
            LPENTITY base);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByIndex )( 
            IEntityCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByBody )( 
            IEntityCollection __RPC_FAR * This,
            LPENTITY entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IEntityCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetByIndex )( 
            IEntityCollection __RPC_FAR * This,
            LPENTITY entity,
            long index);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            IEntityCollection __RPC_FAR * This,
            LPENTITY entity);
        
        END_INTERFACE
    } IEntityCollectionVtbl;

    interface IEntityCollection
    {
        CONST_VTBL struct IEntityCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IEntityCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IEntityCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IEntityCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IEntityCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IEntityCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IEntityCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define IEntityCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IEntityCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IEntityCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IEntityCollection_GetByName(This,name,testFullName,testIgnoreCase)	\
    (This)->lpVtbl -> GetByName(This,name,testFullName,testIgnoreCase)

#define IEntityCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define IEntityCollection_SelectByPoint(This,x,y,z)	\
    (This)->lpVtbl -> SelectByPoint(This,x,y,z)

#define IEntityCollection_Add(This,entity)	\
    (This)->lpVtbl -> Add(This,entity)

#define IEntityCollection_AddAt(This,entity,index)	\
    (This)->lpVtbl -> AddAt(This,entity,index)

#define IEntityCollection_AddBefore(This,entity,base)	\
    (This)->lpVtbl -> AddBefore(This,entity,base)

#define IEntityCollection_DetachByIndex(This,index)	\
    (This)->lpVtbl -> DetachByIndex(This,index)

#define IEntityCollection_DetachByBody(This,entity)	\
    (This)->lpVtbl -> DetachByBody(This,entity)

#define IEntityCollection_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IEntityCollection_SetByIndex(This,entity,index)	\
    (This)->lpVtbl -> SetByIndex(This,entity,index)

#define IEntityCollection_FindIt(This,entity)	\
    (This)->lpVtbl -> FindIt(This,entity)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntityCollection_Refresh_Proxy( 
    IEntityCollection __RPC_FAR * This);


void __RPC_STUB IEntityCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IEntityCollection_GetCount_Proxy( 
    IEntityCollection __RPC_FAR * This);


void __RPC_STUB IEntityCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IEntityCollection_First_Proxy( 
    IEntityCollection __RPC_FAR * This);


void __RPC_STUB IEntityCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IEntityCollection_Last_Proxy( 
    IEntityCollection __RPC_FAR * This);


void __RPC_STUB IEntityCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IEntityCollection_Next_Proxy( 
    IEntityCollection __RPC_FAR * This);


void __RPC_STUB IEntityCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IEntityCollection_Prev_Proxy( 
    IEntityCollection __RPC_FAR * This);


void __RPC_STUB IEntityCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IEntityCollection_GetByName_Proxy( 
    IEntityCollection __RPC_FAR * This,
    LPOLESTR name,
    BOOL testFullName,
    BOOL testIgnoreCase);


void __RPC_STUB IEntityCollection_GetByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPENTITY STDMETHODCALLTYPE IEntityCollection_GetByIndex_Proxy( 
    IEntityCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IEntityCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntityCollection_SelectByPoint_Proxy( 
    IEntityCollection __RPC_FAR * This,
    double x,
    double y,
    double z);


void __RPC_STUB IEntityCollection_SelectByPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntityCollection_Add_Proxy( 
    IEntityCollection __RPC_FAR * This,
    LPENTITY entity);


void __RPC_STUB IEntityCollection_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntityCollection_AddAt_Proxy( 
    IEntityCollection __RPC_FAR * This,
    LPENTITY entity,
    long index);


void __RPC_STUB IEntityCollection_AddAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntityCollection_AddBefore_Proxy( 
    IEntityCollection __RPC_FAR * This,
    LPENTITY entity,
    LPENTITY base);


void __RPC_STUB IEntityCollection_AddBefore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntityCollection_DetachByIndex_Proxy( 
    IEntityCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IEntityCollection_DetachByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntityCollection_DetachByBody_Proxy( 
    IEntityCollection __RPC_FAR * This,
    LPENTITY entity);


void __RPC_STUB IEntityCollection_DetachByBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntityCollection_Clear_Proxy( 
    IEntityCollection __RPC_FAR * This);


void __RPC_STUB IEntityCollection_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IEntityCollection_SetByIndex_Proxy( 
    IEntityCollection __RPC_FAR * This,
    LPENTITY entity,
    long index);


void __RPC_STUB IEntityCollection_SetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE IEntityCollection_FindIt_Proxy( 
    IEntityCollection __RPC_FAR * This,
    LPENTITY entity);


void __RPC_STUB IEntityCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IEntityCollection_INTERFACE_DEFINED__ */


#ifndef __IMateConstraintCollection_INTERFACE_DEFINED__
#define __IMateConstraintCollection_INTERFACE_DEFINED__

/* interface IMateConstraintCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IMateConstraintCollection,0x7AA0E540,0x0304,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0304-11D4-A30E-00C026EE094F")
    IMateConstraintCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddMateConstraint( 
            LPMATECONSTRAINT mate) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE RemoveMateConstraint( 
            LPMATECONSTRAINT mate) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPMATECONSTRAINT mate) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSafeArrayByObj( 
            LPUNKNOWN obj,
            VARIANT __RPC_FAR *pArray) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMateConstraintCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IMateConstraintCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IMateConstraintCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IMateConstraintCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IMateConstraintCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPMATECONSTRAINT ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IMateConstraintCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPMATECONSTRAINT ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IMateConstraintCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPMATECONSTRAINT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IMateConstraintCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPMATECONSTRAINT ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IMateConstraintCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPMATECONSTRAINT ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IMateConstraintCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddMateConstraint )( 
            IMateConstraintCollection __RPC_FAR * This,
            LPMATECONSTRAINT mate);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *RemoveMateConstraint )( 
            IMateConstraintCollection __RPC_FAR * This,
            LPMATECONSTRAINT mate);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IMateConstraintCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IMateConstraintCollection __RPC_FAR * This);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            IMateConstraintCollection __RPC_FAR * This,
            LPMATECONSTRAINT mate);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSafeArrayByObj )( 
            IMateConstraintCollection __RPC_FAR * This,
            LPUNKNOWN obj,
            VARIANT __RPC_FAR *pArray);
        
        END_INTERFACE
    } IMateConstraintCollectionVtbl;

    interface IMateConstraintCollection
    {
        CONST_VTBL struct IMateConstraintCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMateConstraintCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IMateConstraintCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IMateConstraintCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IMateConstraintCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IMateConstraintCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define IMateConstraintCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IMateConstraintCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IMateConstraintCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IMateConstraintCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define IMateConstraintCollection_AddMateConstraint(This,mate)	\
    (This)->lpVtbl -> AddMateConstraint(This,mate)

#define IMateConstraintCollection_RemoveMateConstraint(This,mate)	\
    (This)->lpVtbl -> RemoveMateConstraint(This,mate)

#define IMateConstraintCollection_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IMateConstraintCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IMateConstraintCollection_FindIt(This,mate)	\
    (This)->lpVtbl -> FindIt(This,mate)

#define IMateConstraintCollection_GetSafeArrayByObj(This,obj,pArray)	\
    (This)->lpVtbl -> GetSafeArrayByObj(This,obj,pArray)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ long STDMETHODCALLTYPE IMateConstraintCollection_GetCount_Proxy( 
    IMateConstraintCollection __RPC_FAR * This);


void __RPC_STUB IMateConstraintCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE IMateConstraintCollection_First_Proxy( 
    IMateConstraintCollection __RPC_FAR * This);


void __RPC_STUB IMateConstraintCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE IMateConstraintCollection_Last_Proxy( 
    IMateConstraintCollection __RPC_FAR * This);


void __RPC_STUB IMateConstraintCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE IMateConstraintCollection_Next_Proxy( 
    IMateConstraintCollection __RPC_FAR * This);


void __RPC_STUB IMateConstraintCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE IMateConstraintCollection_Prev_Proxy( 
    IMateConstraintCollection __RPC_FAR * This);


void __RPC_STUB IMateConstraintCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPMATECONSTRAINT STDMETHODCALLTYPE IMateConstraintCollection_GetByIndex_Proxy( 
    IMateConstraintCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IMateConstraintCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMateConstraintCollection_AddMateConstraint_Proxy( 
    IMateConstraintCollection __RPC_FAR * This,
    LPMATECONSTRAINT mate);


void __RPC_STUB IMateConstraintCollection_AddMateConstraint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMateConstraintCollection_RemoveMateConstraint_Proxy( 
    IMateConstraintCollection __RPC_FAR * This,
    LPMATECONSTRAINT mate);


void __RPC_STUB IMateConstraintCollection_RemoveMateConstraint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMateConstraintCollection_Clear_Proxy( 
    IMateConstraintCollection __RPC_FAR * This);


void __RPC_STUB IMateConstraintCollection_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMateConstraintCollection_Refresh_Proxy( 
    IMateConstraintCollection __RPC_FAR * This);


void __RPC_STUB IMateConstraintCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE IMateConstraintCollection_FindIt_Proxy( 
    IMateConstraintCollection __RPC_FAR * This,
    LPMATECONSTRAINT mate);


void __RPC_STUB IMateConstraintCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IMateConstraintCollection_GetSafeArrayByObj_Proxy( 
    IMateConstraintCollection __RPC_FAR * This,
    LPUNKNOWN obj,
    VARIANT __RPC_FAR *pArray);


void __RPC_STUB IMateConstraintCollection_GetSafeArrayByObj_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMateConstraintCollection_INTERFACE_DEFINED__ */


#ifndef __IViewProjectionCollection_INTERFACE_DEFINED__
#define __IViewProjectionCollection_INTERFACE_DEFINED__

/* interface IViewProjectionCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IViewProjectionCollection,0xf6eddae7,0xaa95,0x4474,0x83,0x5e,0xbe,0xb4,0xbc,0x25,0xba,0xa8);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f6eddae7-aa95-4474-835e-beb4bc25baa8")
    IViewProjectionCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE GetByName( 
            LPOLESTR projName,
            BOOL testFullName,
            BOOL testIgnoreCase) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE FindIt( 
            LPVIEWPROJECTION projection) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Add( 
            LPVIEWPROJECTION projection) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByBody( 
            LPVIEWPROJECTION projection) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByName( 
            LPOLESTR projName) = 0;
        
        virtual /* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE NewViewProjection( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IViewProjectionCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IViewProjectionCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IViewProjectionCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IViewProjectionCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IViewProjectionCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IViewProjectionCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPVIEWPROJECTION ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IViewProjectionCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPVIEWPROJECTION ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IViewProjectionCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPVIEWPROJECTION ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IViewProjectionCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPVIEWPROJECTION ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IViewProjectionCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPVIEWPROJECTION ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IViewProjectionCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ LPVIEWPROJECTION ( STDMETHODCALLTYPE __RPC_FAR *GetByName )( 
            IViewProjectionCollection __RPC_FAR * This,
            LPOLESTR projName,
            BOOL testFullName,
            BOOL testIgnoreCase);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            IViewProjectionCollection __RPC_FAR * This,
            LPVIEWPROJECTION projection);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IViewProjectionCollection __RPC_FAR * This,
            LPVIEWPROJECTION projection);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByIndex )( 
            IViewProjectionCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByBody )( 
            IViewProjectionCollection __RPC_FAR * This,
            LPVIEWPROJECTION projection);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByName )( 
            IViewProjectionCollection __RPC_FAR * This,
            LPOLESTR projName);
        
        /* [helpstring] */ LPVIEWPROJECTION ( STDMETHODCALLTYPE __RPC_FAR *NewViewProjection )( 
            IViewProjectionCollection __RPC_FAR * This);
        
        END_INTERFACE
    } IViewProjectionCollectionVtbl;

    interface IViewProjectionCollection
    {
        CONST_VTBL struct IViewProjectionCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IViewProjectionCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IViewProjectionCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IViewProjectionCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IViewProjectionCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IViewProjectionCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IViewProjectionCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define IViewProjectionCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IViewProjectionCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IViewProjectionCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IViewProjectionCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define IViewProjectionCollection_GetByName(This,projName,testFullName,testIgnoreCase)	\
    (This)->lpVtbl -> GetByName(This,projName,testFullName,testIgnoreCase)

#define IViewProjectionCollection_FindIt(This,projection)	\
    (This)->lpVtbl -> FindIt(This,projection)

#define IViewProjectionCollection_Add(This,projection)	\
    (This)->lpVtbl -> Add(This,projection)

#define IViewProjectionCollection_DetachByIndex(This,index)	\
    (This)->lpVtbl -> DetachByIndex(This,index)

#define IViewProjectionCollection_DetachByBody(This,projection)	\
    (This)->lpVtbl -> DetachByBody(This,projection)

#define IViewProjectionCollection_DetachByName(This,projName)	\
    (This)->lpVtbl -> DetachByName(This,projName)

#define IViewProjectionCollection_NewViewProjection(This)	\
    (This)->lpVtbl -> NewViewProjection(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IViewProjectionCollection_Refresh_Proxy( 
    IViewProjectionCollection __RPC_FAR * This);


void __RPC_STUB IViewProjectionCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IViewProjectionCollection_GetCount_Proxy( 
    IViewProjectionCollection __RPC_FAR * This);


void __RPC_STUB IViewProjectionCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE IViewProjectionCollection_First_Proxy( 
    IViewProjectionCollection __RPC_FAR * This);


void __RPC_STUB IViewProjectionCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE IViewProjectionCollection_Last_Proxy( 
    IViewProjectionCollection __RPC_FAR * This);


void __RPC_STUB IViewProjectionCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE IViewProjectionCollection_Next_Proxy( 
    IViewProjectionCollection __RPC_FAR * This);


void __RPC_STUB IViewProjectionCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE IViewProjectionCollection_Prev_Proxy( 
    IViewProjectionCollection __RPC_FAR * This);


void __RPC_STUB IViewProjectionCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE IViewProjectionCollection_GetByIndex_Proxy( 
    IViewProjectionCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IViewProjectionCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE IViewProjectionCollection_GetByName_Proxy( 
    IViewProjectionCollection __RPC_FAR * This,
    LPOLESTR projName,
    BOOL testFullName,
    BOOL testIgnoreCase);


void __RPC_STUB IViewProjectionCollection_GetByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IViewProjectionCollection_FindIt_Proxy( 
    IViewProjectionCollection __RPC_FAR * This,
    LPVIEWPROJECTION projection);


void __RPC_STUB IViewProjectionCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IViewProjectionCollection_Add_Proxy( 
    IViewProjectionCollection __RPC_FAR * This,
    LPVIEWPROJECTION projection);


void __RPC_STUB IViewProjectionCollection_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IViewProjectionCollection_DetachByIndex_Proxy( 
    IViewProjectionCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IViewProjectionCollection_DetachByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IViewProjectionCollection_DetachByBody_Proxy( 
    IViewProjectionCollection __RPC_FAR * This,
    LPVIEWPROJECTION projection);


void __RPC_STUB IViewProjectionCollection_DetachByBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IViewProjectionCollection_DetachByName_Proxy( 
    IViewProjectionCollection __RPC_FAR * This,
    LPOLESTR projName);


void __RPC_STUB IViewProjectionCollection_DetachByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVIEWPROJECTION STDMETHODCALLTYPE IViewProjectionCollection_NewViewProjection_Proxy( 
    IViewProjectionCollection __RPC_FAR * This);


void __RPC_STUB IViewProjectionCollection_NewViewProjection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IViewProjectionCollection_INTERFACE_DEFINED__ */


#ifndef __IVariableCollection_INTERFACE_DEFINED__
#define __IVariableCollection_INTERFACE_DEFINED__

/* interface IVariableCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IVariableCollection,0x7AA0E540,0x0311,0x11D4,0xA3,0x0E,0x00,0xC0,0x26,0xEE,0x09,0x4F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7AA0E540-0311-11D4-A30E-00C026EE094F")
    IVariableCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE GetByName( 
            LPOLESTR name,
            BOOL testFullName,
            BOOL testIgnoreCase) = 0;
        
        virtual /* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE AddNewVariable( 
            LPOLESTR name,
            double value,
            LPOLESTR note) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE RemoveVariable( 
            LPOLESTR name) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IVariableCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IVariableCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IVariableCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IVariableCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IVariableCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IVariableCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPVARIABLE ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IVariableCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPVARIABLE ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IVariableCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPVARIABLE ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IVariableCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPVARIABLE ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IVariableCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPVARIABLE ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IVariableCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ LPVARIABLE ( STDMETHODCALLTYPE __RPC_FAR *GetByName )( 
            IVariableCollection __RPC_FAR * This,
            LPOLESTR name,
            BOOL testFullName,
            BOOL testIgnoreCase);
        
        /* [helpstring] */ LPVARIABLE ( STDMETHODCALLTYPE __RPC_FAR *AddNewVariable )( 
            IVariableCollection __RPC_FAR * This,
            LPOLESTR name,
            double value,
            LPOLESTR note);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *RemoveVariable )( 
            IVariableCollection __RPC_FAR * This,
            LPOLESTR name);
        
        END_INTERFACE
    } IVariableCollectionVtbl;

    interface IVariableCollection
    {
        CONST_VTBL struct IVariableCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IVariableCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IVariableCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IVariableCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IVariableCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IVariableCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IVariableCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define IVariableCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IVariableCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IVariableCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IVariableCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define IVariableCollection_GetByName(This,name,testFullName,testIgnoreCase)	\
    (This)->lpVtbl -> GetByName(This,name,testFullName,testIgnoreCase)

#define IVariableCollection_AddNewVariable(This,name,value,note)	\
    (This)->lpVtbl -> AddNewVariable(This,name,value,note)

#define IVariableCollection_RemoveVariable(This,name)	\
    (This)->lpVtbl -> RemoveVariable(This,name)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IVariableCollection_Refresh_Proxy( 
    IVariableCollection __RPC_FAR * This);


void __RPC_STUB IVariableCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IVariableCollection_GetCount_Proxy( 
    IVariableCollection __RPC_FAR * This);


void __RPC_STUB IVariableCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE IVariableCollection_First_Proxy( 
    IVariableCollection __RPC_FAR * This);


void __RPC_STUB IVariableCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE IVariableCollection_Last_Proxy( 
    IVariableCollection __RPC_FAR * This);


void __RPC_STUB IVariableCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE IVariableCollection_Next_Proxy( 
    IVariableCollection __RPC_FAR * This);


void __RPC_STUB IVariableCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE IVariableCollection_Prev_Proxy( 
    IVariableCollection __RPC_FAR * This);


void __RPC_STUB IVariableCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE IVariableCollection_GetByIndex_Proxy( 
    IVariableCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IVariableCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE IVariableCollection_GetByName_Proxy( 
    IVariableCollection __RPC_FAR * This,
    LPOLESTR name,
    BOOL testFullName,
    BOOL testIgnoreCase);


void __RPC_STUB IVariableCollection_GetByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPVARIABLE STDMETHODCALLTYPE IVariableCollection_AddNewVariable_Proxy( 
    IVariableCollection __RPC_FAR * This,
    LPOLESTR name,
    double value,
    LPOLESTR note);


void __RPC_STUB IVariableCollection_AddNewVariable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IVariableCollection_RemoveVariable_Proxy( 
    IVariableCollection __RPC_FAR * This,
    LPOLESTR name);


void __RPC_STUB IVariableCollection_RemoveVariable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IVariableCollection_INTERFACE_DEFINED__ */


#ifndef __IFeatureCollection_INTERFACE_DEFINED__
#define __IFeatureCollection_INTERFACE_DEFINED__

/* interface IFeatureCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IFeatureCollection,0xce5d4888,0x9006,0x43ac,0x9a,0xcc,0x6d,0x9e,0x58,0xb4,0x08,0xb4);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ce5d4888-9006-43ac-9acc-6d9e58b408b4")
    IFeatureCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ LPFEATURE STDMETHODCALLTYPE GetByName( 
            LPOLESTR name,
            BOOL testFullName,
            BOOL testIgnoreCase) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPFEATURE mate) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Add( 
            LPFEATURE obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddAt( 
            LPFEATURE obj,
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddBefore( 
            LPFEATURE obj,
            LPFEATURE base) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByBody( 
            LPFEATURE obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetByIndex( 
            LPFEATURE obj,
            long index) = 0;
        
        virtual /* [helpstring] */ LPATTRIBUTE3DCOLLECTION STDMETHODCALLTYPE AttributeCollection( 
            long key1,
            long key2,
            long key3,
            long key4,
            double numb) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IFeatureCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IFeatureCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IFeatureCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IFeatureCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IFeatureCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IFeatureCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IFeatureCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IFeatureCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IFeatureCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IFeatureCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IFeatureCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ LPFEATURE ( STDMETHODCALLTYPE __RPC_FAR *GetByName )( 
            IFeatureCollection __RPC_FAR * This,
            LPOLESTR name,
            BOOL testFullName,
            BOOL testIgnoreCase);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            IFeatureCollection __RPC_FAR * This,
            LPFEATURE mate);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IFeatureCollection __RPC_FAR * This,
            LPFEATURE obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddAt )( 
            IFeatureCollection __RPC_FAR * This,
            LPFEATURE obj,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddBefore )( 
            IFeatureCollection __RPC_FAR * This,
            LPFEATURE obj,
            LPFEATURE base);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByIndex )( 
            IFeatureCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByBody )( 
            IFeatureCollection __RPC_FAR * This,
            LPFEATURE obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IFeatureCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetByIndex )( 
            IFeatureCollection __RPC_FAR * This,
            LPFEATURE obj,
            long index);
        
        /* [helpstring] */ LPATTRIBUTE3DCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *AttributeCollection )( 
            IFeatureCollection __RPC_FAR * This,
            long key1,
            long key2,
            long key3,
            long key4,
            double numb);
        
        END_INTERFACE
    } IFeatureCollectionVtbl;

    interface IFeatureCollection
    {
        CONST_VTBL struct IFeatureCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IFeatureCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IFeatureCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IFeatureCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IFeatureCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IFeatureCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IFeatureCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define IFeatureCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IFeatureCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IFeatureCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IFeatureCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define IFeatureCollection_GetByName(This,name,testFullName,testIgnoreCase)	\
    (This)->lpVtbl -> GetByName(This,name,testFullName,testIgnoreCase)

#define IFeatureCollection_FindIt(This,mate)	\
    (This)->lpVtbl -> FindIt(This,mate)

#define IFeatureCollection_Add(This,obj)	\
    (This)->lpVtbl -> Add(This,obj)

#define IFeatureCollection_AddAt(This,obj,index)	\
    (This)->lpVtbl -> AddAt(This,obj,index)

#define IFeatureCollection_AddBefore(This,obj,base)	\
    (This)->lpVtbl -> AddBefore(This,obj,base)

#define IFeatureCollection_DetachByIndex(This,index)	\
    (This)->lpVtbl -> DetachByIndex(This,index)

#define IFeatureCollection_DetachByBody(This,obj)	\
    (This)->lpVtbl -> DetachByBody(This,obj)

#define IFeatureCollection_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IFeatureCollection_SetByIndex(This,obj,index)	\
    (This)->lpVtbl -> SetByIndex(This,obj,index)

#define IFeatureCollection_AttributeCollection(This,key1,key2,key3,key4,numb)	\
    (This)->lpVtbl -> AttributeCollection(This,key1,key2,key3,key4,numb)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeatureCollection_Refresh_Proxy( 
    IFeatureCollection __RPC_FAR * This);


void __RPC_STUB IFeatureCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IFeatureCollection_GetCount_Proxy( 
    IFeatureCollection __RPC_FAR * This);


void __RPC_STUB IFeatureCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IFeatureCollection_First_Proxy( 
    IFeatureCollection __RPC_FAR * This);


void __RPC_STUB IFeatureCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IFeatureCollection_Last_Proxy( 
    IFeatureCollection __RPC_FAR * This);


void __RPC_STUB IFeatureCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IFeatureCollection_Next_Proxy( 
    IFeatureCollection __RPC_FAR * This);


void __RPC_STUB IFeatureCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IFeatureCollection_Prev_Proxy( 
    IFeatureCollection __RPC_FAR * This);


void __RPC_STUB IFeatureCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IFeatureCollection_GetByIndex_Proxy( 
    IFeatureCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IFeatureCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFEATURE STDMETHODCALLTYPE IFeatureCollection_GetByName_Proxy( 
    IFeatureCollection __RPC_FAR * This,
    LPOLESTR name,
    BOOL testFullName,
    BOOL testIgnoreCase);


void __RPC_STUB IFeatureCollection_GetByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE IFeatureCollection_FindIt_Proxy( 
    IFeatureCollection __RPC_FAR * This,
    LPFEATURE mate);


void __RPC_STUB IFeatureCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeatureCollection_Add_Proxy( 
    IFeatureCollection __RPC_FAR * This,
    LPFEATURE obj);


void __RPC_STUB IFeatureCollection_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeatureCollection_AddAt_Proxy( 
    IFeatureCollection __RPC_FAR * This,
    LPFEATURE obj,
    long index);


void __RPC_STUB IFeatureCollection_AddAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeatureCollection_AddBefore_Proxy( 
    IFeatureCollection __RPC_FAR * This,
    LPFEATURE obj,
    LPFEATURE base);


void __RPC_STUB IFeatureCollection_AddBefore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeatureCollection_DetachByIndex_Proxy( 
    IFeatureCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IFeatureCollection_DetachByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeatureCollection_DetachByBody_Proxy( 
    IFeatureCollection __RPC_FAR * This,
    LPFEATURE obj);


void __RPC_STUB IFeatureCollection_DetachByBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeatureCollection_Clear_Proxy( 
    IFeatureCollection __RPC_FAR * This);


void __RPC_STUB IFeatureCollection_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IFeatureCollection_SetByIndex_Proxy( 
    IFeatureCollection __RPC_FAR * This,
    LPFEATURE obj,
    long index);


void __RPC_STUB IFeatureCollection_SetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPATTRIBUTE3DCOLLECTION STDMETHODCALLTYPE IFeatureCollection_AttributeCollection_Proxy( 
    IFeatureCollection __RPC_FAR * This,
    long key1,
    long key2,
    long key3,
    long key4,
    double numb);


void __RPC_STUB IFeatureCollection_AttributeCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IFeatureCollection_INTERFACE_DEFINED__ */


#ifndef __IFaceCollection_INTERFACE_DEFINED__
#define __IFaceCollection_INTERFACE_DEFINED__

/* interface IFaceCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IFaceCollection,0xd269ad47,0xb2cc,0x4152,0xa7,0xba,0x12,0x72,0x42,0x37,0x12,0x08);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d269ad47-b2cc-4152-a7ba-127242371208")
    IFaceCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE GetByName( 
            LPOLESTR name,
            BOOL testFullName,
            BOOL testIgnoreCase) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPFACEDEFINITION entity) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IFaceCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IFaceCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IFaceCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IFaceCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IFaceCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IFaceCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPFACEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IFaceCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPFACEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IFaceCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPFACEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IFaceCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPFACEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IFaceCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPFACEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IFaceCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ LPFACEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *GetByName )( 
            IFaceCollection __RPC_FAR * This,
            LPOLESTR name,
            BOOL testFullName,
            BOOL testIgnoreCase);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            IFaceCollection __RPC_FAR * This,
            LPFACEDEFINITION entity);
        
        END_INTERFACE
    } IFaceCollectionVtbl;

    interface IFaceCollection
    {
        CONST_VTBL struct IFaceCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IFaceCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IFaceCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IFaceCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IFaceCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IFaceCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IFaceCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define IFaceCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IFaceCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IFaceCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IFaceCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define IFaceCollection_GetByName(This,name,testFullName,testIgnoreCase)	\
    (This)->lpVtbl -> GetByName(This,name,testFullName,testIgnoreCase)

#define IFaceCollection_FindIt(This,entity)	\
    (This)->lpVtbl -> FindIt(This,entity)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IFaceCollection_Refresh_Proxy( 
    IFaceCollection __RPC_FAR * This);


void __RPC_STUB IFaceCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IFaceCollection_GetCount_Proxy( 
    IFaceCollection __RPC_FAR * This);


void __RPC_STUB IFaceCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE IFaceCollection_First_Proxy( 
    IFaceCollection __RPC_FAR * This);


void __RPC_STUB IFaceCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE IFaceCollection_Last_Proxy( 
    IFaceCollection __RPC_FAR * This);


void __RPC_STUB IFaceCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE IFaceCollection_Next_Proxy( 
    IFaceCollection __RPC_FAR * This);


void __RPC_STUB IFaceCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE IFaceCollection_Prev_Proxy( 
    IFaceCollection __RPC_FAR * This);


void __RPC_STUB IFaceCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE IFaceCollection_GetByIndex_Proxy( 
    IFaceCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IFaceCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPFACEDEFINITION STDMETHODCALLTYPE IFaceCollection_GetByName_Proxy( 
    IFaceCollection __RPC_FAR * This,
    LPOLESTR name,
    BOOL testFullName,
    BOOL testIgnoreCase);


void __RPC_STUB IFaceCollection_GetByName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE IFaceCollection_FindIt_Proxy( 
    IFaceCollection __RPC_FAR * This,
    LPFACEDEFINITION entity);


void __RPC_STUB IFaceCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IFaceCollection_INTERFACE_DEFINED__ */


#ifndef __IEdgeCollection_INTERFACE_DEFINED__
#define __IEdgeCollection_INTERFACE_DEFINED__

/* interface IEdgeCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IEdgeCollection,0x5e93d4b9,0xbaab,0x4fc4,0xac,0xf8,0x8f,0xf7,0x8e,0x9d,0x1b,0x42);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5e93d4b9-baab-4fc4-acf8-8ff78e9d1b42")
    IEdgeCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPEDGEDEFINITION entity) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IEdgeCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IEdgeCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IEdgeCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPEDGEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPEDGEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPEDGEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPEDGEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPEDGEDEFINITION ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IEdgeCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            IEdgeCollection __RPC_FAR * This,
            LPEDGEDEFINITION entity);
        
        END_INTERFACE
    } IEdgeCollectionVtbl;

    interface IEdgeCollection
    {
        CONST_VTBL struct IEdgeCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IEdgeCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IEdgeCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IEdgeCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IEdgeCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IEdgeCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IEdgeCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define IEdgeCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IEdgeCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IEdgeCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IEdgeCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define IEdgeCollection_FindIt(This,entity)	\
    (This)->lpVtbl -> FindIt(This,entity)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IEdgeCollection_Refresh_Proxy( 
    IEdgeCollection __RPC_FAR * This);


void __RPC_STUB IEdgeCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IEdgeCollection_GetCount_Proxy( 
    IEdgeCollection __RPC_FAR * This);


void __RPC_STUB IEdgeCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE IEdgeCollection_First_Proxy( 
    IEdgeCollection __RPC_FAR * This);


void __RPC_STUB IEdgeCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE IEdgeCollection_Last_Proxy( 
    IEdgeCollection __RPC_FAR * This);


void __RPC_STUB IEdgeCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE IEdgeCollection_Next_Proxy( 
    IEdgeCollection __RPC_FAR * This);


void __RPC_STUB IEdgeCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE IEdgeCollection_Prev_Proxy( 
    IEdgeCollection __RPC_FAR * This);


void __RPC_STUB IEdgeCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPEDGEDEFINITION STDMETHODCALLTYPE IEdgeCollection_GetByIndex_Proxy( 
    IEdgeCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IEdgeCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE IEdgeCollection_FindIt_Proxy( 
    IEdgeCollection __RPC_FAR * This,
    LPEDGEDEFINITION entity);


void __RPC_STUB IEdgeCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IEdgeCollection_INTERFACE_DEFINED__ */


#ifndef __IDeletedCopyCollection_INTERFACE_DEFINED__
#define __IDeletedCopyCollection_INTERFACE_DEFINED__

/* interface IDeletedCopyCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IDeletedCopyCollection,0xbec3920d,0x6238,0x401a,0x86,0xa3,0xa6,0x00,0x57,0x0f,0x47,0xa4);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("bec3920d-6238-401a-86a3-a600570f47a4")
    IDeletedCopyCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE First( 
            long __RPC_FAR *index1,
            long __RPC_FAR *index2) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Last( 
            long __RPC_FAR *index1,
            long __RPC_FAR *index2) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Next( 
            long __RPC_FAR *index1,
            long __RPC_FAR *index2) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Prev( 
            long __RPC_FAR *index1,
            long __RPC_FAR *index2) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetByIndex( 
            long index,
            long __RPC_FAR *index1,
            long __RPC_FAR *index2) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Add( 
            long index1,
            long index2) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddAt( 
            long index1,
            long index2,
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByBody( 
            long index1,
            long index2) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetByIndex( 
            long index1,
            long index2,
            long index) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            long index1,
            long index2) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDeletedCopyCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDeletedCopyCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDeletedCopyCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDeletedCopyCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IDeletedCopyCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IDeletedCopyCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IDeletedCopyCollection __RPC_FAR * This,
            long __RPC_FAR *index1,
            long __RPC_FAR *index2);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IDeletedCopyCollection __RPC_FAR * This,
            long __RPC_FAR *index1,
            long __RPC_FAR *index2);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IDeletedCopyCollection __RPC_FAR * This,
            long __RPC_FAR *index1,
            long __RPC_FAR *index2);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IDeletedCopyCollection __RPC_FAR * This,
            long __RPC_FAR *index1,
            long __RPC_FAR *index2);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IDeletedCopyCollection __RPC_FAR * This,
            long index,
            long __RPC_FAR *index1,
            long __RPC_FAR *index2);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IDeletedCopyCollection __RPC_FAR * This,
            long index1,
            long index2);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddAt )( 
            IDeletedCopyCollection __RPC_FAR * This,
            long index1,
            long index2,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByIndex )( 
            IDeletedCopyCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByBody )( 
            IDeletedCopyCollection __RPC_FAR * This,
            long index1,
            long index2);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IDeletedCopyCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetByIndex )( 
            IDeletedCopyCollection __RPC_FAR * This,
            long index1,
            long index2,
            long index);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            IDeletedCopyCollection __RPC_FAR * This,
            long index1,
            long index2);
        
        END_INTERFACE
    } IDeletedCopyCollectionVtbl;

    interface IDeletedCopyCollection
    {
        CONST_VTBL struct IDeletedCopyCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDeletedCopyCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDeletedCopyCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDeletedCopyCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDeletedCopyCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IDeletedCopyCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IDeletedCopyCollection_First(This,index1,index2)	\
    (This)->lpVtbl -> First(This,index1,index2)

#define IDeletedCopyCollection_Last(This,index1,index2)	\
    (This)->lpVtbl -> Last(This,index1,index2)

#define IDeletedCopyCollection_Next(This,index1,index2)	\
    (This)->lpVtbl -> Next(This,index1,index2)

#define IDeletedCopyCollection_Prev(This,index1,index2)	\
    (This)->lpVtbl -> Prev(This,index1,index2)

#define IDeletedCopyCollection_GetByIndex(This,index,index1,index2)	\
    (This)->lpVtbl -> GetByIndex(This,index,index1,index2)

#define IDeletedCopyCollection_Add(This,index1,index2)	\
    (This)->lpVtbl -> Add(This,index1,index2)

#define IDeletedCopyCollection_AddAt(This,index1,index2,index)	\
    (This)->lpVtbl -> AddAt(This,index1,index2,index)

#define IDeletedCopyCollection_DetachByIndex(This,index)	\
    (This)->lpVtbl -> DetachByIndex(This,index)

#define IDeletedCopyCollection_DetachByBody(This,index1,index2)	\
    (This)->lpVtbl -> DetachByBody(This,index1,index2)

#define IDeletedCopyCollection_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IDeletedCopyCollection_SetByIndex(This,index1,index2,index)	\
    (This)->lpVtbl -> SetByIndex(This,index1,index2,index)

#define IDeletedCopyCollection_FindIt(This,index1,index2)	\
    (This)->lpVtbl -> FindIt(This,index1,index2)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_Refresh_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This);


void __RPC_STUB IDeletedCopyCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IDeletedCopyCollection_GetCount_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This);


void __RPC_STUB IDeletedCopyCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_First_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This,
    long __RPC_FAR *index1,
    long __RPC_FAR *index2);


void __RPC_STUB IDeletedCopyCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_Last_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This,
    long __RPC_FAR *index1,
    long __RPC_FAR *index2);


void __RPC_STUB IDeletedCopyCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_Next_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This,
    long __RPC_FAR *index1,
    long __RPC_FAR *index2);


void __RPC_STUB IDeletedCopyCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_Prev_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This,
    long __RPC_FAR *index1,
    long __RPC_FAR *index2);


void __RPC_STUB IDeletedCopyCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_GetByIndex_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This,
    long index,
    long __RPC_FAR *index1,
    long __RPC_FAR *index2);


void __RPC_STUB IDeletedCopyCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_Add_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This,
    long index1,
    long index2);


void __RPC_STUB IDeletedCopyCollection_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_AddAt_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This,
    long index1,
    long index2,
    long index);


void __RPC_STUB IDeletedCopyCollection_AddAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_DetachByIndex_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IDeletedCopyCollection_DetachByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_DetachByBody_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This,
    long index1,
    long index2);


void __RPC_STUB IDeletedCopyCollection_DetachByBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_Clear_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This);


void __RPC_STUB IDeletedCopyCollection_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IDeletedCopyCollection_SetByIndex_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This,
    long index1,
    long index2,
    long index);


void __RPC_STUB IDeletedCopyCollection_SetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE IDeletedCopyCollection_FindIt_Proxy( 
    IDeletedCopyCollection __RPC_FAR * This,
    long index1,
    long index2);


void __RPC_STUB IDeletedCopyCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDeletedCopyCollection_INTERFACE_DEFINED__ */


#ifndef __IAttribute3DCollection_INTERFACE_DEFINED__
#define __IAttribute3DCollection_INTERFACE_DEFINED__

/* interface IAttribute3DCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IAttribute3DCollection,0xE17C2BE7,0x9C11,0x4fb3,0xAD,0xBD,0x04,0xEC,0x91,0x27,0x84,0xE8);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E17C2BE7-9C11-4fb3-ADBD-04EC912784E8")
    IAttribute3DCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPATTRIBUTE3D STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPATTRIBUTE3D STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPATTRIBUTE3D STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPATTRIBUTE3D STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPATTRIBUTE3D STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPATTRIBUTE3D obj) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Select( 
            long key1,
            long key2,
            long key3,
            long key4,
            double numb,
            int objType) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAttribute3DCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IAttribute3DCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IAttribute3DCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IAttribute3DCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IAttribute3DCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IAttribute3DCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPATTRIBUTE3D ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IAttribute3DCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPATTRIBUTE3D ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IAttribute3DCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPATTRIBUTE3D ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IAttribute3DCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPATTRIBUTE3D ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IAttribute3DCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPATTRIBUTE3D ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IAttribute3DCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            IAttribute3DCollection __RPC_FAR * This,
            LPATTRIBUTE3D obj);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Select )( 
            IAttribute3DCollection __RPC_FAR * This,
            long key1,
            long key2,
            long key3,
            long key4,
            double numb,
            int objType);
        
        END_INTERFACE
    } IAttribute3DCollectionVtbl;

    interface IAttribute3DCollection
    {
        CONST_VTBL struct IAttribute3DCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAttribute3DCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IAttribute3DCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IAttribute3DCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IAttribute3DCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IAttribute3DCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IAttribute3DCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define IAttribute3DCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IAttribute3DCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IAttribute3DCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IAttribute3DCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define IAttribute3DCollection_FindIt(This,obj)	\
    (This)->lpVtbl -> FindIt(This,obj)

#define IAttribute3DCollection_Select(This,key1,key2,key3,key4,numb,objType)	\
    (This)->lpVtbl -> Select(This,key1,key2,key3,key4,numb,objType)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IAttribute3DCollection_Refresh_Proxy( 
    IAttribute3DCollection __RPC_FAR * This);


void __RPC_STUB IAttribute3DCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IAttribute3DCollection_GetCount_Proxy( 
    IAttribute3DCollection __RPC_FAR * This);


void __RPC_STUB IAttribute3DCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPATTRIBUTE3D STDMETHODCALLTYPE IAttribute3DCollection_First_Proxy( 
    IAttribute3DCollection __RPC_FAR * This);


void __RPC_STUB IAttribute3DCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPATTRIBUTE3D STDMETHODCALLTYPE IAttribute3DCollection_Last_Proxy( 
    IAttribute3DCollection __RPC_FAR * This);


void __RPC_STUB IAttribute3DCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPATTRIBUTE3D STDMETHODCALLTYPE IAttribute3DCollection_Next_Proxy( 
    IAttribute3DCollection __RPC_FAR * This);


void __RPC_STUB IAttribute3DCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPATTRIBUTE3D STDMETHODCALLTYPE IAttribute3DCollection_Prev_Proxy( 
    IAttribute3DCollection __RPC_FAR * This);


void __RPC_STUB IAttribute3DCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPATTRIBUTE3D STDMETHODCALLTYPE IAttribute3DCollection_GetByIndex_Proxy( 
    IAttribute3DCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IAttribute3DCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE IAttribute3DCollection_FindIt_Proxy( 
    IAttribute3DCollection __RPC_FAR * This,
    LPATTRIBUTE3D obj);


void __RPC_STUB IAttribute3DCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IAttribute3DCollection_Select_Proxy( 
    IAttribute3DCollection __RPC_FAR * This,
    long key1,
    long key2,
    long key3,
    long key4,
    double numb,
    int objType);


void __RPC_STUB IAttribute3DCollection_Select_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAttribute3DCollection_INTERFACE_DEFINED__ */


#ifndef __IBodyCollection_INTERFACE_DEFINED__
#define __IBodyCollection_INTERFACE_DEFINED__

/* interface IBodyCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IBodyCollection,0x64cbc7cb,0x005d,0x47df,0x8b,0x3e,0x53,0xfd,0x97,0x4c,0x5a,0x32);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("64cbc7cb-005d-47df-8b3e-53fd974c5a32")
    IBodyCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPBODY STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPBODY STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPBODY STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPBODY STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPBODY STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPBODY entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Add( 
            LPBODY entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddAt( 
            LPBODY entity,
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddBefore( 
            LPBODY entity,
            LPBODY base) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByBody( 
            LPBODY entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetByIndex( 
            LPBODY entity,
            long index) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBodyCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IBodyCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IBodyCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IBodyCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IBodyCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IBodyCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPBODY ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IBodyCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPBODY ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IBodyCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPBODY ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IBodyCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPBODY ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IBodyCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPBODY ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IBodyCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            IBodyCollection __RPC_FAR * This,
            LPBODY entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            IBodyCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            IBodyCollection __RPC_FAR * This,
            LPBODY entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddAt )( 
            IBodyCollection __RPC_FAR * This,
            LPBODY entity,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddBefore )( 
            IBodyCollection __RPC_FAR * This,
            LPBODY entity,
            LPBODY base);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByIndex )( 
            IBodyCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByBody )( 
            IBodyCollection __RPC_FAR * This,
            LPBODY entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetByIndex )( 
            IBodyCollection __RPC_FAR * This,
            LPBODY entity,
            long index);
        
        END_INTERFACE
    } IBodyCollectionVtbl;

    interface IBodyCollection
    {
        CONST_VTBL struct IBodyCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IBodyCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IBodyCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IBodyCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IBodyCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IBodyCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IBodyCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define IBodyCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IBodyCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IBodyCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IBodyCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define IBodyCollection_FindIt(This,entity)	\
    (This)->lpVtbl -> FindIt(This,entity)

#define IBodyCollection_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IBodyCollection_Add(This,entity)	\
    (This)->lpVtbl -> Add(This,entity)

#define IBodyCollection_AddAt(This,entity,index)	\
    (This)->lpVtbl -> AddAt(This,entity,index)

#define IBodyCollection_AddBefore(This,entity,base)	\
    (This)->lpVtbl -> AddBefore(This,entity,base)

#define IBodyCollection_DetachByIndex(This,index)	\
    (This)->lpVtbl -> DetachByIndex(This,index)

#define IBodyCollection_DetachByBody(This,entity)	\
    (This)->lpVtbl -> DetachByBody(This,entity)

#define IBodyCollection_SetByIndex(This,entity,index)	\
    (This)->lpVtbl -> SetByIndex(This,entity,index)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyCollection_Refresh_Proxy( 
    IBodyCollection __RPC_FAR * This);


void __RPC_STUB IBodyCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IBodyCollection_GetCount_Proxy( 
    IBodyCollection __RPC_FAR * This);


void __RPC_STUB IBodyCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPBODY STDMETHODCALLTYPE IBodyCollection_First_Proxy( 
    IBodyCollection __RPC_FAR * This);


void __RPC_STUB IBodyCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPBODY STDMETHODCALLTYPE IBodyCollection_Last_Proxy( 
    IBodyCollection __RPC_FAR * This);


void __RPC_STUB IBodyCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPBODY STDMETHODCALLTYPE IBodyCollection_Next_Proxy( 
    IBodyCollection __RPC_FAR * This);


void __RPC_STUB IBodyCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPBODY STDMETHODCALLTYPE IBodyCollection_Prev_Proxy( 
    IBodyCollection __RPC_FAR * This);


void __RPC_STUB IBodyCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPBODY STDMETHODCALLTYPE IBodyCollection_GetByIndex_Proxy( 
    IBodyCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IBodyCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE IBodyCollection_FindIt_Proxy( 
    IBodyCollection __RPC_FAR * This,
    LPBODY entity);


void __RPC_STUB IBodyCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyCollection_Clear_Proxy( 
    IBodyCollection __RPC_FAR * This);


void __RPC_STUB IBodyCollection_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyCollection_Add_Proxy( 
    IBodyCollection __RPC_FAR * This,
    LPBODY entity);


void __RPC_STUB IBodyCollection_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyCollection_AddAt_Proxy( 
    IBodyCollection __RPC_FAR * This,
    LPBODY entity,
    long index);


void __RPC_STUB IBodyCollection_AddAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyCollection_AddBefore_Proxy( 
    IBodyCollection __RPC_FAR * This,
    LPBODY entity,
    LPBODY base);


void __RPC_STUB IBodyCollection_AddBefore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyCollection_DetachByIndex_Proxy( 
    IBodyCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IBodyCollection_DetachByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyCollection_DetachByBody_Proxy( 
    IBodyCollection __RPC_FAR * This,
    LPBODY entity);


void __RPC_STUB IBodyCollection_DetachByBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE IBodyCollection_SetByIndex_Proxy( 
    IBodyCollection __RPC_FAR * This,
    LPBODY entity,
    long index);


void __RPC_STUB IBodyCollection_SetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IBodyCollection_INTERFACE_DEFINED__ */


#ifndef __ILoopCollection_INTERFACE_DEFINED__
#define __ILoopCollection_INTERFACE_DEFINED__

/* interface ILoopCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ILoopCollection,0x22866947,0xf414,0x484b,0x8c,0xcc,0xf4,0x44,0x0b,0xfe,0xf9,0x2f);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("22866947-f414-484b-8ccc-f4440bfef92f")
    ILoopCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPLOOP STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPLOOP STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPLOOP STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPLOOP STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPLOOP STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPLOOP entity) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILoopCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ILoopCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ILoopCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ILoopCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            ILoopCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            ILoopCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPLOOP ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            ILoopCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPLOOP ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            ILoopCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPLOOP ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            ILoopCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPLOOP ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            ILoopCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPLOOP ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            ILoopCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            ILoopCollection __RPC_FAR * This,
            LPLOOP entity);
        
        END_INTERFACE
    } ILoopCollectionVtbl;

    interface ILoopCollection
    {
        CONST_VTBL struct ILoopCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ILoopCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ILoopCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ILoopCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ILoopCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define ILoopCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define ILoopCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define ILoopCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define ILoopCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define ILoopCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define ILoopCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define ILoopCollection_FindIt(This,entity)	\
    (This)->lpVtbl -> FindIt(This,entity)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE ILoopCollection_Refresh_Proxy( 
    ILoopCollection __RPC_FAR * This);


void __RPC_STUB ILoopCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE ILoopCollection_GetCount_Proxy( 
    ILoopCollection __RPC_FAR * This);


void __RPC_STUB ILoopCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPLOOP STDMETHODCALLTYPE ILoopCollection_First_Proxy( 
    ILoopCollection __RPC_FAR * This);


void __RPC_STUB ILoopCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPLOOP STDMETHODCALLTYPE ILoopCollection_Last_Proxy( 
    ILoopCollection __RPC_FAR * This);


void __RPC_STUB ILoopCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPLOOP STDMETHODCALLTYPE ILoopCollection_Next_Proxy( 
    ILoopCollection __RPC_FAR * This);


void __RPC_STUB ILoopCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPLOOP STDMETHODCALLTYPE ILoopCollection_Prev_Proxy( 
    ILoopCollection __RPC_FAR * This);


void __RPC_STUB ILoopCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPLOOP STDMETHODCALLTYPE ILoopCollection_GetByIndex_Proxy( 
    ILoopCollection __RPC_FAR * This,
    long index);


void __RPC_STUB ILoopCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE ILoopCollection_FindIt_Proxy( 
    ILoopCollection __RPC_FAR * This,
    LPLOOP entity);


void __RPC_STUB ILoopCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ILoopCollection_INTERFACE_DEFINED__ */


#ifndef __IOrientedEdgeCollection_INTERFACE_DEFINED__
#define __IOrientedEdgeCollection_INTERFACE_DEFINED__

/* interface IOrientedEdgeCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IOrientedEdgeCollection,0xd19b0a07,0x4ca6,0x4e77,0xa8,0xdb,0x8a,0xc8,0xc7,0x12,0x31,0x24);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d19b0a07-4ca6-4e77-a8db-8ac8c7123124")
    IOrientedEdgeCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPORIENTEDEDGE entity) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IOrientedEdgeCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IOrientedEdgeCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IOrientedEdgeCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IOrientedEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            IOrientedEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IOrientedEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPORIENTEDEDGE ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            IOrientedEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPORIENTEDEDGE ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            IOrientedEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPORIENTEDEDGE ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            IOrientedEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPORIENTEDEDGE ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            IOrientedEdgeCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPORIENTEDEDGE ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            IOrientedEdgeCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            IOrientedEdgeCollection __RPC_FAR * This,
            LPORIENTEDEDGE entity);
        
        END_INTERFACE
    } IOrientedEdgeCollectionVtbl;

    interface IOrientedEdgeCollection
    {
        CONST_VTBL struct IOrientedEdgeCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IOrientedEdgeCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IOrientedEdgeCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IOrientedEdgeCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IOrientedEdgeCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define IOrientedEdgeCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IOrientedEdgeCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define IOrientedEdgeCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define IOrientedEdgeCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define IOrientedEdgeCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define IOrientedEdgeCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define IOrientedEdgeCollection_FindIt(This,entity)	\
    (This)->lpVtbl -> FindIt(This,entity)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE IOrientedEdgeCollection_Refresh_Proxy( 
    IOrientedEdgeCollection __RPC_FAR * This);


void __RPC_STUB IOrientedEdgeCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IOrientedEdgeCollection_GetCount_Proxy( 
    IOrientedEdgeCollection __RPC_FAR * This);


void __RPC_STUB IOrientedEdgeCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE IOrientedEdgeCollection_First_Proxy( 
    IOrientedEdgeCollection __RPC_FAR * This);


void __RPC_STUB IOrientedEdgeCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE IOrientedEdgeCollection_Last_Proxy( 
    IOrientedEdgeCollection __RPC_FAR * This);


void __RPC_STUB IOrientedEdgeCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE IOrientedEdgeCollection_Next_Proxy( 
    IOrientedEdgeCollection __RPC_FAR * This);


void __RPC_STUB IOrientedEdgeCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE IOrientedEdgeCollection_Prev_Proxy( 
    IOrientedEdgeCollection __RPC_FAR * This);


void __RPC_STUB IOrientedEdgeCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPORIENTEDEDGE STDMETHODCALLTYPE IOrientedEdgeCollection_GetByIndex_Proxy( 
    IOrientedEdgeCollection __RPC_FAR * This,
    long index);


void __RPC_STUB IOrientedEdgeCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE IOrientedEdgeCollection_FindIt_Proxy( 
    IOrientedEdgeCollection __RPC_FAR * This,
    LPORIENTEDEDGE entity);


void __RPC_STUB IOrientedEdgeCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IOrientedEdgeCollection_INTERFACE_DEFINED__ */


#ifndef __INurbsPoint3dCollection_INTERFACE_DEFINED__
#define __INurbsPoint3dCollection_INTERFACE_DEFINED__

/* interface INurbsPoint3dCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_INurbsPoint3dCollection,0xac0e0f4d,0xacce,0x40c4,0x9b,0x7c,0x14,0xda,0xaf,0x22,0x4f,0x48);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ac0e0f4d-acce-40c4-9b7c-14daaf224f48")
    INurbsPoint3dCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DPARAM STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DPARAM STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DPARAM STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DPARAM STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DPARAM STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Add( 
            LPNURBSPOINT3DPARAM entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddAt( 
            LPNURBSPOINT3DPARAM entity,
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddBefore( 
            LPNURBSPOINT3DPARAM entity,
            LPNURBSPOINT3DPARAM base) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByBody( 
            LPNURBSPOINT3DPARAM entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetByIndex( 
            LPNURBSPOINT3DPARAM entity,
            long index) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPNURBSPOINT3DPARAM entity) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct INurbsPoint3dCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            INurbsPoint3dCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            INurbsPoint3dCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            INurbsPoint3dCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            INurbsPoint3dCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            INurbsPoint3dCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSPOINT3DPARAM ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            INurbsPoint3dCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSPOINT3DPARAM ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            INurbsPoint3dCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSPOINT3DPARAM ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            INurbsPoint3dCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSPOINT3DPARAM ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            INurbsPoint3dCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSPOINT3DPARAM ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            INurbsPoint3dCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            INurbsPoint3dCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            INurbsPoint3dCollection __RPC_FAR * This,
            LPNURBSPOINT3DPARAM entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddAt )( 
            INurbsPoint3dCollection __RPC_FAR * This,
            LPNURBSPOINT3DPARAM entity,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddBefore )( 
            INurbsPoint3dCollection __RPC_FAR * This,
            LPNURBSPOINT3DPARAM entity,
            LPNURBSPOINT3DPARAM base);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByIndex )( 
            INurbsPoint3dCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByBody )( 
            INurbsPoint3dCollection __RPC_FAR * This,
            LPNURBSPOINT3DPARAM entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetByIndex )( 
            INurbsPoint3dCollection __RPC_FAR * This,
            LPNURBSPOINT3DPARAM entity,
            long index);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            INurbsPoint3dCollection __RPC_FAR * This,
            LPNURBSPOINT3DPARAM entity);
        
        END_INTERFACE
    } INurbsPoint3dCollectionVtbl;

    interface INurbsPoint3dCollection
    {
        CONST_VTBL struct INurbsPoint3dCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define INurbsPoint3dCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define INurbsPoint3dCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define INurbsPoint3dCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define INurbsPoint3dCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define INurbsPoint3dCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define INurbsPoint3dCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define INurbsPoint3dCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define INurbsPoint3dCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define INurbsPoint3dCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define INurbsPoint3dCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define INurbsPoint3dCollection_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define INurbsPoint3dCollection_Add(This,entity)	\
    (This)->lpVtbl -> Add(This,entity)

#define INurbsPoint3dCollection_AddAt(This,entity,index)	\
    (This)->lpVtbl -> AddAt(This,entity,index)

#define INurbsPoint3dCollection_AddBefore(This,entity,base)	\
    (This)->lpVtbl -> AddBefore(This,entity,base)

#define INurbsPoint3dCollection_DetachByIndex(This,index)	\
    (This)->lpVtbl -> DetachByIndex(This,index)

#define INurbsPoint3dCollection_DetachByBody(This,entity)	\
    (This)->lpVtbl -> DetachByBody(This,entity)

#define INurbsPoint3dCollection_SetByIndex(This,entity,index)	\
    (This)->lpVtbl -> SetByIndex(This,entity,index)

#define INurbsPoint3dCollection_FindIt(This,entity)	\
    (This)->lpVtbl -> FindIt(This,entity)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollection_Refresh_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE INurbsPoint3dCollection_GetCount_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DPARAM STDMETHODCALLTYPE INurbsPoint3dCollection_First_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DPARAM STDMETHODCALLTYPE INurbsPoint3dCollection_Last_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DPARAM STDMETHODCALLTYPE INurbsPoint3dCollection_Next_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DPARAM STDMETHODCALLTYPE INurbsPoint3dCollection_Prev_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DPARAM STDMETHODCALLTYPE INurbsPoint3dCollection_GetByIndex_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This,
    long index);


void __RPC_STUB INurbsPoint3dCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollection_Clear_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollection_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollection_Add_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This,
    LPNURBSPOINT3DPARAM entity);


void __RPC_STUB INurbsPoint3dCollection_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollection_AddAt_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This,
    LPNURBSPOINT3DPARAM entity,
    long index);


void __RPC_STUB INurbsPoint3dCollection_AddAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollection_AddBefore_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This,
    LPNURBSPOINT3DPARAM entity,
    LPNURBSPOINT3DPARAM base);


void __RPC_STUB INurbsPoint3dCollection_AddBefore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollection_DetachByIndex_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This,
    long index);


void __RPC_STUB INurbsPoint3dCollection_DetachByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollection_DetachByBody_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This,
    LPNURBSPOINT3DPARAM entity);


void __RPC_STUB INurbsPoint3dCollection_DetachByBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollection_SetByIndex_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This,
    LPNURBSPOINT3DPARAM entity,
    long index);


void __RPC_STUB INurbsPoint3dCollection_SetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE INurbsPoint3dCollection_FindIt_Proxy( 
    INurbsPoint3dCollection __RPC_FAR * This,
    LPNURBSPOINT3DPARAM entity);


void __RPC_STUB INurbsPoint3dCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __INurbsPoint3dCollection_INTERFACE_DEFINED__ */


#ifndef __INurbsPoint3dCollCollection_INTERFACE_DEFINED__
#define __INurbsPoint3dCollCollection_INTERFACE_DEFINED__

/* interface INurbsPoint3dCollCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_INurbsPoint3dCollCollection,0xefeece8a,0x4bb9,0x4d51,0xb6,0xa4,0xac,0x1b,0xed,0xa7,0x35,0x68);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("efeece8a-4bb9-4d51-b6a4-ac1beda73568")
    INurbsPoint3dCollCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Add( 
            LPNURBSPOINT3DCOLLECTION entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddAt( 
            LPNURBSPOINT3DCOLLECTION entity,
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddBefore( 
            LPNURBSPOINT3DCOLLECTION entity,
            LPNURBSPOINT3DCOLLECTION base) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByBody( 
            LPNURBSPOINT3DCOLLECTION entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetByIndex( 
            LPNURBSPOINT3DCOLLECTION entity,
            long index) = 0;
        
        virtual /* [helpstring] */ unsigned long STDMETHODCALLTYPE FindIt( 
            LPNURBSPOINT3DCOLLECTION entity) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct INurbsPoint3dCollCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            INurbsPoint3dCollCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            INurbsPoint3dCollCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            INurbsPoint3dCollCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            INurbsPoint3dCollCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            INurbsPoint3dCollCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSPOINT3DCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            INurbsPoint3dCollCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSPOINT3DCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            INurbsPoint3dCollCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSPOINT3DCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            INurbsPoint3dCollCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSPOINT3DCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            INurbsPoint3dCollCollection __RPC_FAR * This);
        
        /* [helpstring] */ LPNURBSPOINT3DCOLLECTION ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            INurbsPoint3dCollCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            INurbsPoint3dCollCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            INurbsPoint3dCollCollection __RPC_FAR * This,
            LPNURBSPOINT3DCOLLECTION entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddAt )( 
            INurbsPoint3dCollCollection __RPC_FAR * This,
            LPNURBSPOINT3DCOLLECTION entity,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddBefore )( 
            INurbsPoint3dCollCollection __RPC_FAR * This,
            LPNURBSPOINT3DCOLLECTION entity,
            LPNURBSPOINT3DCOLLECTION base);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByIndex )( 
            INurbsPoint3dCollCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByBody )( 
            INurbsPoint3dCollCollection __RPC_FAR * This,
            LPNURBSPOINT3DCOLLECTION entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetByIndex )( 
            INurbsPoint3dCollCollection __RPC_FAR * This,
            LPNURBSPOINT3DCOLLECTION entity,
            long index);
        
        /* [helpstring] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *FindIt )( 
            INurbsPoint3dCollCollection __RPC_FAR * This,
            LPNURBSPOINT3DCOLLECTION entity);
        
        END_INTERFACE
    } INurbsPoint3dCollCollectionVtbl;

    interface INurbsPoint3dCollCollection
    {
        CONST_VTBL struct INurbsPoint3dCollCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define INurbsPoint3dCollCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define INurbsPoint3dCollCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define INurbsPoint3dCollCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define INurbsPoint3dCollCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define INurbsPoint3dCollCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define INurbsPoint3dCollCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define INurbsPoint3dCollCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define INurbsPoint3dCollCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define INurbsPoint3dCollCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define INurbsPoint3dCollCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define INurbsPoint3dCollCollection_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define INurbsPoint3dCollCollection_Add(This,entity)	\
    (This)->lpVtbl -> Add(This,entity)

#define INurbsPoint3dCollCollection_AddAt(This,entity,index)	\
    (This)->lpVtbl -> AddAt(This,entity,index)

#define INurbsPoint3dCollCollection_AddBefore(This,entity,base)	\
    (This)->lpVtbl -> AddBefore(This,entity,base)

#define INurbsPoint3dCollCollection_DetachByIndex(This,index)	\
    (This)->lpVtbl -> DetachByIndex(This,index)

#define INurbsPoint3dCollCollection_DetachByBody(This,entity)	\
    (This)->lpVtbl -> DetachByBody(This,entity)

#define INurbsPoint3dCollCollection_SetByIndex(This,entity,index)	\
    (This)->lpVtbl -> SetByIndex(This,entity,index)

#define INurbsPoint3dCollCollection_FindIt(This,entity)	\
    (This)->lpVtbl -> FindIt(This,entity)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollCollection_Refresh_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE INurbsPoint3dCollCollection_GetCount_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE INurbsPoint3dCollCollection_First_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE INurbsPoint3dCollCollection_Last_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE INurbsPoint3dCollCollection_Next_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE INurbsPoint3dCollCollection_Prev_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ LPNURBSPOINT3DCOLLECTION STDMETHODCALLTYPE INurbsPoint3dCollCollection_GetByIndex_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This,
    long index);


void __RPC_STUB INurbsPoint3dCollCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollCollection_Clear_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This);


void __RPC_STUB INurbsPoint3dCollCollection_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollCollection_Add_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This,
    LPNURBSPOINT3DCOLLECTION entity);


void __RPC_STUB INurbsPoint3dCollCollection_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollCollection_AddAt_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This,
    LPNURBSPOINT3DCOLLECTION entity,
    long index);


void __RPC_STUB INurbsPoint3dCollCollection_AddAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollCollection_AddBefore_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This,
    LPNURBSPOINT3DCOLLECTION entity,
    LPNURBSPOINT3DCOLLECTION base);


void __RPC_STUB INurbsPoint3dCollCollection_AddBefore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollCollection_DetachByIndex_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This,
    long index);


void __RPC_STUB INurbsPoint3dCollCollection_DetachByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollCollection_DetachByBody_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This,
    LPNURBSPOINT3DCOLLECTION entity);


void __RPC_STUB INurbsPoint3dCollCollection_DetachByBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsPoint3dCollCollection_SetByIndex_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This,
    LPNURBSPOINT3DCOLLECTION entity,
    long index);


void __RPC_STUB INurbsPoint3dCollCollection_SetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ unsigned long STDMETHODCALLTYPE INurbsPoint3dCollCollection_FindIt_Proxy( 
    INurbsPoint3dCollCollection __RPC_FAR * This,
    LPNURBSPOINT3DCOLLECTION entity);


void __RPC_STUB INurbsPoint3dCollCollection_FindIt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __INurbsPoint3dCollCollection_INTERFACE_DEFINED__ */


#ifndef __INurbsKnotCollection_INTERFACE_DEFINED__
#define __INurbsKnotCollection_INTERFACE_DEFINED__

/* interface INurbsKnotCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_INurbsKnotCollection,0x1f21432c,0xe5ba,0x404d,0xb1,0x8f,0x00,0x7a,0x0d,0x85,0xcc,0xd0);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1f21432c-e5ba-404d-b18f-007a0d85ccd0")
    INurbsKnotCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE First( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE Last( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE Next( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE Prev( void) = 0;
        
        virtual /* [helpstring] */ double STDMETHODCALLTYPE GetByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE Add( 
            double entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddAt( 
            double entity,
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE AddBefore( 
            double entity,
            double base) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByIndex( 
            long index) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE DetachByBody( 
            double entity) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE SetByIndex( 
            double entity,
            long index) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct INurbsKnotCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            INurbsKnotCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            INurbsKnotCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            INurbsKnotCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Refresh )( 
            INurbsKnotCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            INurbsKnotCollection __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *First )( 
            INurbsKnotCollection __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *Last )( 
            INurbsKnotCollection __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
            INurbsKnotCollection __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *Prev )( 
            INurbsKnotCollection __RPC_FAR * This);
        
        /* [helpstring] */ double ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            INurbsKnotCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Clear )( 
            INurbsKnotCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *Add )( 
            INurbsKnotCollection __RPC_FAR * This,
            double entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddAt )( 
            INurbsKnotCollection __RPC_FAR * This,
            double entity,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *AddBefore )( 
            INurbsKnotCollection __RPC_FAR * This,
            double entity,
            double base);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByIndex )( 
            INurbsKnotCollection __RPC_FAR * This,
            long index);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *DetachByBody )( 
            INurbsKnotCollection __RPC_FAR * This,
            double entity);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *SetByIndex )( 
            INurbsKnotCollection __RPC_FAR * This,
            double entity,
            long index);
        
        END_INTERFACE
    } INurbsKnotCollectionVtbl;

    interface INurbsKnotCollection
    {
        CONST_VTBL struct INurbsKnotCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define INurbsKnotCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define INurbsKnotCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define INurbsKnotCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define INurbsKnotCollection_Refresh(This)	\
    (This)->lpVtbl -> Refresh(This)

#define INurbsKnotCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define INurbsKnotCollection_First(This)	\
    (This)->lpVtbl -> First(This)

#define INurbsKnotCollection_Last(This)	\
    (This)->lpVtbl -> Last(This)

#define INurbsKnotCollection_Next(This)	\
    (This)->lpVtbl -> Next(This)

#define INurbsKnotCollection_Prev(This)	\
    (This)->lpVtbl -> Prev(This)

#define INurbsKnotCollection_GetByIndex(This,index)	\
    (This)->lpVtbl -> GetByIndex(This,index)

#define INurbsKnotCollection_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define INurbsKnotCollection_Add(This,entity)	\
    (This)->lpVtbl -> Add(This,entity)

#define INurbsKnotCollection_AddAt(This,entity,index)	\
    (This)->lpVtbl -> AddAt(This,entity,index)

#define INurbsKnotCollection_AddBefore(This,entity,base)	\
    (This)->lpVtbl -> AddBefore(This,entity,base)

#define INurbsKnotCollection_DetachByIndex(This,index)	\
    (This)->lpVtbl -> DetachByIndex(This,index)

#define INurbsKnotCollection_DetachByBody(This,entity)	\
    (This)->lpVtbl -> DetachByBody(This,entity)

#define INurbsKnotCollection_SetByIndex(This,entity,index)	\
    (This)->lpVtbl -> SetByIndex(This,entity,index)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsKnotCollection_Refresh_Proxy( 
    INurbsKnotCollection __RPC_FAR * This);


void __RPC_STUB INurbsKnotCollection_Refresh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE INurbsKnotCollection_GetCount_Proxy( 
    INurbsKnotCollection __RPC_FAR * This);


void __RPC_STUB INurbsKnotCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE INurbsKnotCollection_First_Proxy( 
    INurbsKnotCollection __RPC_FAR * This);


void __RPC_STUB INurbsKnotCollection_First_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE INurbsKnotCollection_Last_Proxy( 
    INurbsKnotCollection __RPC_FAR * This);


void __RPC_STUB INurbsKnotCollection_Last_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE INurbsKnotCollection_Next_Proxy( 
    INurbsKnotCollection __RPC_FAR * This);


void __RPC_STUB INurbsKnotCollection_Next_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE INurbsKnotCollection_Prev_Proxy( 
    INurbsKnotCollection __RPC_FAR * This);


void __RPC_STUB INurbsKnotCollection_Prev_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ double STDMETHODCALLTYPE INurbsKnotCollection_GetByIndex_Proxy( 
    INurbsKnotCollection __RPC_FAR * This,
    long index);


void __RPC_STUB INurbsKnotCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsKnotCollection_Clear_Proxy( 
    INurbsKnotCollection __RPC_FAR * This);


void __RPC_STUB INurbsKnotCollection_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsKnotCollection_Add_Proxy( 
    INurbsKnotCollection __RPC_FAR * This,
    double entity);


void __RPC_STUB INurbsKnotCollection_Add_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsKnotCollection_AddAt_Proxy( 
    INurbsKnotCollection __RPC_FAR * This,
    double entity,
    long index);


void __RPC_STUB INurbsKnotCollection_AddAt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsKnotCollection_AddBefore_Proxy( 
    INurbsKnotCollection __RPC_FAR * This,
    double entity,
    double base);


void __RPC_STUB INurbsKnotCollection_AddBefore_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsKnotCollection_DetachByIndex_Proxy( 
    INurbsKnotCollection __RPC_FAR * This,
    long index);


void __RPC_STUB INurbsKnotCollection_DetachByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsKnotCollection_DetachByBody_Proxy( 
    INurbsKnotCollection __RPC_FAR * This,
    double entity);


void __RPC_STUB INurbsKnotCollection_DetachByBody_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE INurbsKnotCollection_SetByIndex_Proxy( 
    INurbsKnotCollection __RPC_FAR * This,
    double entity,
    long index);


void __RPC_STUB INurbsKnotCollection_SetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __INurbsKnotCollection_INTERFACE_DEFINED__ */


#ifndef __ICoordinate3dCollection_INTERFACE_DEFINED__
#define __ICoordinate3dCollection_INTERFACE_DEFINED__

/* interface ICoordinate3dCollection */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_ICoordinate3dCollection,0xA5E6E83E,0x1F33,0x4eaf,0xBA,0xFC,0xA3,0xF4,0x34,0xF2,0x3B,0xAA);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A5E6E83E-1F33-4eaf-BAFC-A3F434F23BAA")
    ICoordinate3dCollection : public IUnknown
    {
    public:
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetByIndex( 
            long index,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z) = 0;
        
        virtual /* [helpstring] */ BOOL STDMETHODCALLTYPE GetSafeArray( 
            VARIANT __RPC_FAR *pArray) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICoordinate3dCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ICoordinate3dCollection __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ICoordinate3dCollection __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ICoordinate3dCollection __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            ICoordinate3dCollection __RPC_FAR * This);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetByIndex )( 
            ICoordinate3dCollection __RPC_FAR * This,
            long index,
            double __RPC_FAR *x,
            double __RPC_FAR *y,
            double __RPC_FAR *z);
        
        /* [helpstring] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *GetSafeArray )( 
            ICoordinate3dCollection __RPC_FAR * This,
            VARIANT __RPC_FAR *pArray);
        
        END_INTERFACE
    } ICoordinate3dCollectionVtbl;

    interface ICoordinate3dCollection
    {
        CONST_VTBL struct ICoordinate3dCollectionVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoordinate3dCollection_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ICoordinate3dCollection_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ICoordinate3dCollection_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ICoordinate3dCollection_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define ICoordinate3dCollection_GetByIndex(This,index,x,y,z)	\
    (This)->lpVtbl -> GetByIndex(This,index,x,y,z)

#define ICoordinate3dCollection_GetSafeArray(This,pArray)	\
    (This)->lpVtbl -> GetSafeArray(This,pArray)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ long STDMETHODCALLTYPE ICoordinate3dCollection_GetCount_Proxy( 
    ICoordinate3dCollection __RPC_FAR * This);


void __RPC_STUB ICoordinate3dCollection_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICoordinate3dCollection_GetByIndex_Proxy( 
    ICoordinate3dCollection __RPC_FAR * This,
    long index,
    double __RPC_FAR *x,
    double __RPC_FAR *y,
    double __RPC_FAR *z);


void __RPC_STUB ICoordinate3dCollection_GetByIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ BOOL STDMETHODCALLTYPE ICoordinate3dCollection_GetSafeArray_Proxy( 
    ICoordinate3dCollection __RPC_FAR * This,
    VARIANT __RPC_FAR *pArray);


void __RPC_STUB ICoordinate3dCollection_GetSafeArray_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ICoordinate3dCollection_INTERFACE_DEFINED__ */


#ifndef __IIntersectionResult_INTERFACE_DEFINED__
#define __IIntersectionResult_INTERFACE_DEFINED__

/* interface IIntersectionResult */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IIntersectionResult,0x66CBDD80,0x332C,0x40b5,0x99,0x68,0xDD,0x90,0x2E,0xBA,0xB5,0x5D);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("66CBDD80-332C-40b5-9968-DD902EBAB55D")
    IIntersectionResult : public IUnknown
    {
    public:
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetCount( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetIntersectionType( 
            long index) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIntersectionResultVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IIntersectionResult __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IIntersectionResult __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IIntersectionResult __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetCount )( 
            IIntersectionResult __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetIntersectionType )( 
            IIntersectionResult __RPC_FAR * This,
            long index);
        
        END_INTERFACE
    } IIntersectionResultVtbl;

    interface IIntersectionResult
    {
        CONST_VTBL struct IIntersectionResultVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIntersectionResult_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIntersectionResult_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIntersectionResult_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIntersectionResult_GetCount(This)	\
    (This)->lpVtbl -> GetCount(This)

#define IIntersectionResult_GetIntersectionType(This,index)	\
    (This)->lpVtbl -> GetIntersectionType(This,index)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ long STDMETHODCALLTYPE IIntersectionResult_GetCount_Proxy( 
    IIntersectionResult __RPC_FAR * This);


void __RPC_STUB IIntersectionResult_GetCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IIntersectionResult_GetIntersectionType_Proxy( 
    IIntersectionResult __RPC_FAR * This,
    long index);


void __RPC_STUB IIntersectionResult_GetIntersectionType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIntersectionResult_INTERFACE_DEFINED__ */


#ifndef __IObject3DNotifyResult_INTERFACE_DEFINED__
#define __IObject3DNotifyResult_INTERFACE_DEFINED__

/* interface IObject3DNotifyResult */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IObject3DNotifyResult,0x6B04A0E4,0x837A,0x4151,0x8E,0x5A,0x83,0x65,0x17,0xF3,0x9E,0xAE);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6B04A0E4-837A-4151-8E5A-836517F39EAE")
    IObject3DNotifyResult : public IUnknown
    {
    public:
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetNotifyType( void) = 0;
        
        virtual /* [helpstring] */ IUnknown __RPC_FAR *STDMETHODCALLTYPE GetFeatureCollection( void) = 0;
        
        virtual /* [helpstring] */ IUnknown __RPC_FAR *STDMETHODCALLTYPE GetPlacement( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetProcessType( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IObject3DNotifyResultVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IObject3DNotifyResult __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IObject3DNotifyResult __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IObject3DNotifyResult __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetNotifyType )( 
            IObject3DNotifyResult __RPC_FAR * This);
        
        /* [helpstring] */ IUnknown __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *GetFeatureCollection )( 
            IObject3DNotifyResult __RPC_FAR * This);
        
        /* [helpstring] */ IUnknown __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *GetPlacement )( 
            IObject3DNotifyResult __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetProcessType )( 
            IObject3DNotifyResult __RPC_FAR * This);
        
        END_INTERFACE
    } IObject3DNotifyResultVtbl;

    interface IObject3DNotifyResult
    {
        CONST_VTBL struct IObject3DNotifyResultVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IObject3DNotifyResult_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IObject3DNotifyResult_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IObject3DNotifyResult_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IObject3DNotifyResult_GetNotifyType(This)	\
    (This)->lpVtbl -> GetNotifyType(This)

#define IObject3DNotifyResult_GetFeatureCollection(This)	\
    (This)->lpVtbl -> GetFeatureCollection(This)

#define IObject3DNotifyResult_GetPlacement(This)	\
    (This)->lpVtbl -> GetPlacement(This)

#define IObject3DNotifyResult_GetProcessType(This)	\
    (This)->lpVtbl -> GetProcessType(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ long STDMETHODCALLTYPE IObject3DNotifyResult_GetNotifyType_Proxy( 
    IObject3DNotifyResult __RPC_FAR * This);


void __RPC_STUB IObject3DNotifyResult_GetNotifyType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ IUnknown __RPC_FAR *STDMETHODCALLTYPE IObject3DNotifyResult_GetFeatureCollection_Proxy( 
    IObject3DNotifyResult __RPC_FAR * This);


void __RPC_STUB IObject3DNotifyResult_GetFeatureCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ IUnknown __RPC_FAR *STDMETHODCALLTYPE IObject3DNotifyResult_GetPlacement_Proxy( 
    IObject3DNotifyResult __RPC_FAR * This);


void __RPC_STUB IObject3DNotifyResult_GetPlacement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IObject3DNotifyResult_GetProcessType_Proxy( 
    IObject3DNotifyResult __RPC_FAR * This);


void __RPC_STUB IObject3DNotifyResult_GetProcessType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IObject3DNotifyResult_INTERFACE_DEFINED__ */


#ifndef __IDocument3DNotify_INTERFACE_DEFINED__
#define __IDocument3DNotify_INTERFACE_DEFINED__

/* interface IDocument3DNotify */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IDocument3DNotify,0xEE5B4795,0x6E76,0x49a2,0xBF,0xAD,0x9D,0x95,0x3D,0x82,0x77,0x1F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EE5B4795-6E76-49a2-BFAD-9D953D82771F")
    IDocument3DNotify : public IKompasNotify
    {
    public:
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginRebuild( void) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE Rebuild( void) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginChoiceMaterial( void) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE ChoiceMaterial( 
            LPCSTR material,
            double density) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginChoiceMarking( void) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE ChoiceMarking( 
            LPCSTR marking) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginSetPartFromFile( void) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginCreatePartFromFile( 
            VARIANT_BOOL typeDoc,
            LPENTITY plane) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDocument3DNotifyVtbl
    {
        BEGIN_INTERFACE
        
        /* [id][restricted][funcdescattr] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDocument3DNotify __RPC_FAR * This,
            /* [in][idldescattr] */ struct GUID __RPC_FAR *riid,
            /* [out][idldescattr] */ void __RPC_FAR *__RPC_FAR *ppvObj);
        
        /* [id][restricted][funcdescattr] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDocument3DNotify __RPC_FAR * This);
        
        /* [id][restricted][funcdescattr] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDocument3DNotify __RPC_FAR * This);
        
        /* [id][funcdescattr] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsNotifyProcess )( 
            IDocument3DNotify __RPC_FAR * This,
            /* [idldescattr] */ signed INT notifyType);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginRebuild )( 
            IDocument3DNotify __RPC_FAR * This);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *Rebuild )( 
            IDocument3DNotify __RPC_FAR * This);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginChoiceMaterial )( 
            IDocument3DNotify __RPC_FAR * This);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *ChoiceMaterial )( 
            IDocument3DNotify __RPC_FAR * This,
            LPCSTR material,
            double density);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginChoiceMarking )( 
            IDocument3DNotify __RPC_FAR * This);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *ChoiceMarking )( 
            IDocument3DNotify __RPC_FAR * This,
            LPCSTR marking);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginSetPartFromFile )( 
            IDocument3DNotify __RPC_FAR * This);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginCreatePartFromFile )( 
            IDocument3DNotify __RPC_FAR * This,
            VARIANT_BOOL typeDoc,
            LPENTITY plane);
        
        END_INTERFACE
    } IDocument3DNotifyVtbl;

    interface IDocument3DNotify
    {
        CONST_VTBL struct IDocument3DNotifyVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDocument3DNotify_QueryInterface(This,riid,ppvObj)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObj)

#define IDocument3DNotify_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDocument3DNotify_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDocument3DNotify_IsNotifyProcess(This,notifyType)	\
    (This)->lpVtbl -> IsNotifyProcess(This,notifyType)


#define IDocument3DNotify_BeginRebuild(This)	\
    (This)->lpVtbl -> BeginRebuild(This)

#define IDocument3DNotify_Rebuild(This)	\
    (This)->lpVtbl -> Rebuild(This)

#define IDocument3DNotify_BeginChoiceMaterial(This)	\
    (This)->lpVtbl -> BeginChoiceMaterial(This)

#define IDocument3DNotify_ChoiceMaterial(This,material,density)	\
    (This)->lpVtbl -> ChoiceMaterial(This,material,density)

#define IDocument3DNotify_BeginChoiceMarking(This)	\
    (This)->lpVtbl -> BeginChoiceMarking(This)

#define IDocument3DNotify_ChoiceMarking(This,marking)	\
    (This)->lpVtbl -> ChoiceMarking(This,marking)

#define IDocument3DNotify_BeginSetPartFromFile(This)	\
    (This)->lpVtbl -> BeginSetPartFromFile(This)

#define IDocument3DNotify_BeginCreatePartFromFile(This,typeDoc,plane)	\
    (This)->lpVtbl -> BeginCreatePartFromFile(This,typeDoc,plane)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IDocument3DNotify_BeginRebuild_Proxy( 
    IDocument3DNotify __RPC_FAR * This);


void __RPC_STUB IDocument3DNotify_BeginRebuild_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IDocument3DNotify_Rebuild_Proxy( 
    IDocument3DNotify __RPC_FAR * This);


void __RPC_STUB IDocument3DNotify_Rebuild_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IDocument3DNotify_BeginChoiceMaterial_Proxy( 
    IDocument3DNotify __RPC_FAR * This);


void __RPC_STUB IDocument3DNotify_BeginChoiceMaterial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IDocument3DNotify_ChoiceMaterial_Proxy( 
    IDocument3DNotify __RPC_FAR * This,
    LPCSTR material,
    double density);


void __RPC_STUB IDocument3DNotify_ChoiceMaterial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IDocument3DNotify_BeginChoiceMarking_Proxy( 
    IDocument3DNotify __RPC_FAR * This);


void __RPC_STUB IDocument3DNotify_BeginChoiceMarking_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IDocument3DNotify_ChoiceMarking_Proxy( 
    IDocument3DNotify __RPC_FAR * This,
    LPCSTR marking);


void __RPC_STUB IDocument3DNotify_ChoiceMarking_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IDocument3DNotify_BeginSetPartFromFile_Proxy( 
    IDocument3DNotify __RPC_FAR * This);


void __RPC_STUB IDocument3DNotify_BeginSetPartFromFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IDocument3DNotify_BeginCreatePartFromFile_Proxy( 
    IDocument3DNotify __RPC_FAR * This,
    VARIANT_BOOL typeDoc,
    LPENTITY plane);


void __RPC_STUB IDocument3DNotify_BeginCreatePartFromFile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDocument3DNotify_INTERFACE_DEFINED__ */


#ifndef __IObject3DNotify_INTERFACE_DEFINED__
#define __IObject3DNotify_INTERFACE_DEFINED__

/* interface IObject3DNotify */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IObject3DNotify,0x7B4657BB,0x68D9,0x4ca8,0xBA,0x81,0x52,0xC1,0xD5,0xC9,0x69,0x43);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7B4657BB-68D9-4ca8-BA81-52C1D5C96943")
    IObject3DNotify : public IKompasNotify
    {
    public:
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginDelete( 
            IUnknown __RPC_FAR *obj) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE Delete( 
            IUnknown __RPC_FAR *obj) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE Excluded( 
            IUnknown __RPC_FAR *obj,
            VARIANT_BOOL excluded) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE Hidden( 
            IUnknown __RPC_FAR *obj,
            VARIANT_BOOL _hidden) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginPropertyChanged( 
            IUnknown __RPC_FAR *obj) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE PropertyChanged( 
            IUnknown __RPC_FAR *obj) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginPlacementChanged( 
            IUnknown __RPC_FAR *obj) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE PlacementChanged( 
            IUnknown __RPC_FAR *obj) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE BeginProcess( 
            long pType,
            IUnknown __RPC_FAR *obj) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE EndProcess( 
            long pType) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE CreateObject( 
            IUnknown __RPC_FAR *obj) = 0;
        
        virtual /* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE UpdateObject( 
            IUnknown __RPC_FAR *obj) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IObject3DNotifyVtbl
    {
        BEGIN_INTERFACE
        
        /* [id][restricted][funcdescattr] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IObject3DNotify __RPC_FAR * This,
            /* [in][idldescattr] */ struct GUID __RPC_FAR *riid,
            /* [out][idldescattr] */ void __RPC_FAR *__RPC_FAR *ppvObj);
        
        /* [id][restricted][funcdescattr] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IObject3DNotify __RPC_FAR * This);
        
        /* [id][restricted][funcdescattr] */ unsigned long ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IObject3DNotify __RPC_FAR * This);
        
        /* [id][funcdescattr] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsNotifyProcess )( 
            IObject3DNotify __RPC_FAR * This,
            /* [idldescattr] */ signed INT notifyType);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginDelete )( 
            IObject3DNotify __RPC_FAR * This,
            IUnknown __RPC_FAR *obj);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
            IObject3DNotify __RPC_FAR * This,
            IUnknown __RPC_FAR *obj);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *Excluded )( 
            IObject3DNotify __RPC_FAR * This,
            IUnknown __RPC_FAR *obj,
            VARIANT_BOOL excluded);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *Hidden )( 
            IObject3DNotify __RPC_FAR * This,
            IUnknown __RPC_FAR *obj,
            VARIANT_BOOL _hidden);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginPropertyChanged )( 
            IObject3DNotify __RPC_FAR * This,
            IUnknown __RPC_FAR *obj);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *PropertyChanged )( 
            IObject3DNotify __RPC_FAR * This,
            IUnknown __RPC_FAR *obj);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginPlacementChanged )( 
            IObject3DNotify __RPC_FAR * This,
            IUnknown __RPC_FAR *obj);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *PlacementChanged )( 
            IObject3DNotify __RPC_FAR * This,
            IUnknown __RPC_FAR *obj);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *BeginProcess )( 
            IObject3DNotify __RPC_FAR * This,
            long pType,
            IUnknown __RPC_FAR *obj);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *EndProcess )( 
            IObject3DNotify __RPC_FAR * This,
            long pType);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *CreateObject )( 
            IObject3DNotify __RPC_FAR * This,
            IUnknown __RPC_FAR *obj);
        
        /* [helpstring] */ VARIANT_BOOL ( STDMETHODCALLTYPE __RPC_FAR *UpdateObject )( 
            IObject3DNotify __RPC_FAR * This,
            IUnknown __RPC_FAR *obj);
        
        END_INTERFACE
    } IObject3DNotifyVtbl;

    interface IObject3DNotify
    {
        CONST_VTBL struct IObject3DNotifyVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IObject3DNotify_QueryInterface(This,riid,ppvObj)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObj)

#define IObject3DNotify_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IObject3DNotify_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IObject3DNotify_IsNotifyProcess(This,notifyType)	\
    (This)->lpVtbl -> IsNotifyProcess(This,notifyType)


#define IObject3DNotify_BeginDelete(This,obj)	\
    (This)->lpVtbl -> BeginDelete(This,obj)

#define IObject3DNotify_Delete(This,obj)	\
    (This)->lpVtbl -> Delete(This,obj)

#define IObject3DNotify_Excluded(This,obj,excluded)	\
    (This)->lpVtbl -> Excluded(This,obj,excluded)

#define IObject3DNotify_Hidden(This,obj,_hidden)	\
    (This)->lpVtbl -> Hidden(This,obj,_hidden)

#define IObject3DNotify_BeginPropertyChanged(This,obj)	\
    (This)->lpVtbl -> BeginPropertyChanged(This,obj)

#define IObject3DNotify_PropertyChanged(This,obj)	\
    (This)->lpVtbl -> PropertyChanged(This,obj)

#define IObject3DNotify_BeginPlacementChanged(This,obj)	\
    (This)->lpVtbl -> BeginPlacementChanged(This,obj)

#define IObject3DNotify_PlacementChanged(This,obj)	\
    (This)->lpVtbl -> PlacementChanged(This,obj)

#define IObject3DNotify_BeginProcess(This,pType,obj)	\
    (This)->lpVtbl -> BeginProcess(This,pType,obj)

#define IObject3DNotify_EndProcess(This,pType)	\
    (This)->lpVtbl -> EndProcess(This,pType)

#define IObject3DNotify_CreateObject(This,obj)	\
    (This)->lpVtbl -> CreateObject(This,obj)

#define IObject3DNotify_UpdateObject(This,obj)	\
    (This)->lpVtbl -> UpdateObject(This,obj)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_BeginDelete_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    IUnknown __RPC_FAR *obj);


void __RPC_STUB IObject3DNotify_BeginDelete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_Delete_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    IUnknown __RPC_FAR *obj);


void __RPC_STUB IObject3DNotify_Delete_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_Excluded_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    IUnknown __RPC_FAR *obj,
    VARIANT_BOOL excluded);


void __RPC_STUB IObject3DNotify_Excluded_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_Hidden_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    IUnknown __RPC_FAR *obj,
    VARIANT_BOOL _hidden);


void __RPC_STUB IObject3DNotify_Hidden_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_BeginPropertyChanged_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    IUnknown __RPC_FAR *obj);


void __RPC_STUB IObject3DNotify_BeginPropertyChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_PropertyChanged_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    IUnknown __RPC_FAR *obj);


void __RPC_STUB IObject3DNotify_PropertyChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_BeginPlacementChanged_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    IUnknown __RPC_FAR *obj);


void __RPC_STUB IObject3DNotify_BeginPlacementChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_PlacementChanged_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    IUnknown __RPC_FAR *obj);


void __RPC_STUB IObject3DNotify_PlacementChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_BeginProcess_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    long pType,
    IUnknown __RPC_FAR *obj);


void __RPC_STUB IObject3DNotify_BeginProcess_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_EndProcess_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    long pType);


void __RPC_STUB IObject3DNotify_EndProcess_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_CreateObject_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    IUnknown __RPC_FAR *obj);


void __RPC_STUB IObject3DNotify_CreateObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ VARIANT_BOOL STDMETHODCALLTYPE IObject3DNotify_UpdateObject_Proxy( 
    IObject3DNotify __RPC_FAR * This,
    IUnknown __RPC_FAR *obj);


void __RPC_STUB IObject3DNotify_UpdateObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IObject3DNotify_INTERFACE_DEFINED__ */


#ifndef __IDocument3DNotifyResult_INTERFACE_DEFINED__
#define __IDocument3DNotifyResult_INTERFACE_DEFINED__

/* interface IDocument3DNotifyResult */
/* [object][hidden][helpstring][uuid] */ 


DEFINE_GUID(IID_IDocument3DNotifyResult,0x06C34A3C,0x2634,0x4f82,0xBC,0xE0,0xF3,0xD7,0x35,0x72,0x95,0x8C);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("06C34A3C-2634-4f82-BCE0-F3D73572958C")
    IDocument3DNotifyResult : public IUnknown
    {
    public:
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetNotifyType( void) = 0;
        
        virtual /* [helpstring] */ long STDMETHODCALLTYPE GetNotifyObjectType( void) = 0;
        
        virtual /* [helpstring] */ IUnknown __RPC_FAR *STDMETHODCALLTYPE GetNotifyObject( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDocument3DNotifyResultVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            IDocument3DNotifyResult __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            IDocument3DNotifyResult __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            IDocument3DNotifyResult __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetNotifyType )( 
            IDocument3DNotifyResult __RPC_FAR * This);
        
        /* [helpstring] */ long ( STDMETHODCALLTYPE __RPC_FAR *GetNotifyObjectType )( 
            IDocument3DNotifyResult __RPC_FAR * This);
        
        /* [helpstring] */ IUnknown __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *GetNotifyObject )( 
            IDocument3DNotifyResult __RPC_FAR * This);
        
        END_INTERFACE
    } IDocument3DNotifyResultVtbl;

    interface IDocument3DNotifyResult
    {
        CONST_VTBL struct IDocument3DNotifyResultVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDocument3DNotifyResult_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IDocument3DNotifyResult_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IDocument3DNotifyResult_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IDocument3DNotifyResult_GetNotifyType(This)	\
    (This)->lpVtbl -> GetNotifyType(This)

#define IDocument3DNotifyResult_GetNotifyObjectType(This)	\
    (This)->lpVtbl -> GetNotifyObjectType(This)

#define IDocument3DNotifyResult_GetNotifyObject(This)	\
    (This)->lpVtbl -> GetNotifyObject(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ long STDMETHODCALLTYPE IDocument3DNotifyResult_GetNotifyType_Proxy( 
    IDocument3DNotifyResult __RPC_FAR * This);


void __RPC_STUB IDocument3DNotifyResult_GetNotifyType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ long STDMETHODCALLTYPE IDocument3DNotifyResult_GetNotifyObjectType_Proxy( 
    IDocument3DNotifyResult __RPC_FAR * This);


void __RPC_STUB IDocument3DNotifyResult_GetNotifyObjectType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ IUnknown __RPC_FAR *STDMETHODCALLTYPE IDocument3DNotifyResult_GetNotifyObject_Proxy( 
    IDocument3DNotifyResult __RPC_FAR * This);


void __RPC_STUB IDocument3DNotifyResult_GetNotifyObject_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IDocument3DNotifyResult_INTERFACE_DEFINED__ */

#endif /* __Kompas6API3D5COM_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif
