00001
00002
00003
00004
00005
00006
00007
00008 import "oaidl.idl";
00009 import "ocidl.idl";
00010
00012 cpp_quote("#define MUST_DEFINE_SKETCHUP_ERROR_CODES 1")
00013 cpp_quote("#ifdef MUST_DEFINE_SKETCHUP_ERROR_CODES")
00014 cpp_quote("#ifndef MAKE_HRESULT")
00015 cpp_quote("#define MAKE_HRESULT(sev,fac,code) ((HRESULT)(((unsigned long)(sev)<<31)|((unsigned long)(fac)<<16)|((unsigned long)(code))))")
00016 cpp_quote("#endif")
00017 cpp_quote("#ifndef FACILITY_ITF")
00018 cpp_quote("#define FACILITY_ITF 4")
00019 cpp_quote("#endif")
00020 cpp_quote("#define E_SKP_SKETCHUP_MODEL_MORE_RECENT MAKE_HRESULT(1, FACILITY_ITF, 1)")
00021 cpp_quote("#define E_SKP_SKETCHUP_MODEL_INVALID MAKE_HRESULT(1, FACILITY_ITF, 2)")
00022 cpp_quote("#define E_SKP_FILE_NOT_FOUND MAKE_HRESULT(1, FACILITY_ITF, 3)")
00023 cpp_quote("#define E_SKP_FILE_SERIALIZATION_ERROR MAKE_HRESULT(1, FACILITY_ITF, 4)")
00024 cpp_quote("#define E_SKP_IMAGE_FILE_FORMAT_NOT_SUPPORTED MAKE_HRESULT(1, FACILITY_ITF, 5)")
00025 cpp_quote("#endif // MUST_DEFINE_SKETCHUP_ERROR_CODES")
00026
00027 interface ISkpPoint3d;
00028 interface ISkpVector3d;
00029
00030 interface ISkpApplication;
00031 interface ISkpViewProvider;
00032 interface ISkpDocument;
00033 interface ISkpPlane;
00034 interface ISkpView;
00035 interface ISkpSelectionSet;
00036
00037 interface ISkpHLRWriter;
00038 interface ISkpHLRGeneration;
00039
00040 interface ISkpOptionsManager;
00041 interface ISkpOptionsProvider;
00042
00043 interface ISkpAttributes;
00044 interface ISkpAttribute;
00045 interface ISkpFaceTextureCoordsAttribute;
00046 interface ISkpAttributeDictionary;
00047
00048 interface ISkpCurve;
00049 interface ISkpArcCurve;
00050 interface ISkpLineCurve;
00051
00052 interface ISkpBoundingBox3d;
00053 interface ISkpDrawingElement;
00054
00055 interface ISkpNamedValue;
00056 interface ISkpNamedValues;
00057
00058 interface ISkpPolygonMesh;
00059 interface ISkpTextureWriter;
00060
00061 interface ISkpEntity;
00062 interface ISkpEntities;
00063 interface ISkpEntityTransformPairs;
00064
00065 interface ISkpEdge;
00066 interface ISkpEdges;
00067
00068 interface ISkpVertex;
00069 interface ISkpVertices;
00070
00071 interface ISkpLayer;
00072 interface ISkpLayers;
00073
00074 interface ISkpMaterial;
00075 interface ISkpMaterials;
00076
00077 interface ISkpTexture;
00078 interface ISkpTextures;
00079
00080 interface ISkpFace;
00081 interface ISkpFaces;
00082
00083 interface ISkpFont;
00084 interface ISkpFonts;
00085
00086 interface ISkpText;
00087 interface ISkpTexts;
00088
00089 interface ISkpSectionPlane;
00090 interface ISkpSectionPlanes;
00091
00092 interface ISkpDimension;
00093 interface ISkpDimensionLinear;
00094 interface ISkpDimensionRadial;
00095 interface ISkpDimensionStyle;
00096 interface ISkpDimensions;
00097
00098 interface ISkpTransform;
00099 interface ISkpCamera;
00100 interface ISkpCameraM;
00101
00102 interface ISkpPage;
00103 interface ISkpPages;
00104
00105 interface ISkpComponentDefinition;
00106 interface ISkpComponentDefinitions;
00107 interface ISkpComponentInstance;
00108 interface ISkpComponentInstances;
00109
00110 interface ISkpEdgeUse;
00111 interface ISkpEdgeUses;
00112
00113 interface ISkpLoop;
00114 interface ISkpLoops;
00115
00116 interface ISkpGroup;
00117 interface ISkpGroups;
00118
00119 interface ISkpConstructionLine;
00120 interface ISkpConstructionLines;
00121
00122 interface ISkpConstructionPoint;
00123 interface ISkpConstructionPoints;
00124
00125 interface ISkpPolyline3d;
00126 interface ISkpPolyline3ds;
00127
00128 interface ISkpImage;
00129 interface ISkpImages;
00130
00131 interface ISkpOpening;
00132 interface ISkpOpenings;
00133
00134 interface ISkpEntityProvider;
00135 interface ISkpCorrectPerspective;
00136 interface ISkpUVHelper;
00137
00138
00139 interface ISkpFileReader;
00140
00141 interface ISkpCoordinateSystem;
00142
00143 interface ISkpEntityProviderStatistics;
00144
00145
00146 interface ISkpRenderer;
00147
00148 interface ISkpStyleManager;
00149 interface ISkpStyleManagerM;
00150
00151 interface ISkpStyle;
00152 interface ISkpStyleM;
00153 interface ISkpStyles;
00154
00155 interface ISkpNamedValuesM;
00156
00161 typedef [v1_enum] enum
00162 {
00169 Decimal = 1,
00176 Architectural = 2,
00183 Engineering = 3,
00190 Fractional = 4
00191 } SkpLengthFormatType;
00192
00197 typedef [v1_enum] enum
00198 {
00202 Inches = 1,
00206 Feet = 2,
00210 Millimeter = 3,
00214 Centimeter = 4,
00218 Meter = 5
00219 } SkpLengthUnitType;
00220
00224 typedef [v1_enum] enum
00225 {
00229 DimensionTextAbove = 1,
00233 DimensionTextCenter = 2,
00237
00241 DimensionTextOutside = 4,
00245
00246 } SkpDimensionTextPosition;
00247
00251 typedef [v1_enum] enum
00252 {
00256 DimensionArrowNone = 1,
00260 DimensionArrowSlash = 2,
00264 DimensionArrowDot = 3,
00268 DimensionArrowClosed = 4,
00272 DimensionArrowOpen = 5
00273 } SkpDimensionArrow;
00274
00279 typedef [v1_enum] enum
00280 {
00284 Radius = 1,
00288 Diameter = 2
00289 } SkpRadialDimensionType;
00290
00294 typedef [v1_enum] enum
00295 {
00299 LinearAligned = 1,
00303 LinearHorizontal = 2,
00307 LinearVertical = 3
00308 } SkpLinearDimensionType;
00309
00314 typedef [v1_enum] enum
00315 {
00317 TextJustBottomLeft = 1,
00319 TextJustBottomCenter = 2,
00321 TextJustBottomRight = 3,
00322
00324 TextJustMiddleLeft = 4,
00326 TextJustMiddleCenter = 5,
00328 TextJustMiddleRight = 6,
00329
00331 TextJustTopLeft = 7,
00333 TextJustTopCenter = 8,
00335 TextJustTopRight = 9,
00336
00337
00338
00339
00340
00342 TextJustTopLineMiddleLeft = 10,
00344 TextJustTopLineMiddleRight = 11
00345 } SkpTextJustification;
00346
00350 typedef [v1_enum] enum
00351 {
00353 BitmapFont = 1,
00355 PixmapFont = 2,
00357 PolygonFont = 3,
00359 TextureFont = 4,
00361 OutlineFont = 5,
00363 ExtrudedFont = 6,
00365 ImageFont = 7
00366 } SkpFontType;
00367
00368
00372 typedef [v1_enum] enum
00373 {
00375 TextAlignLeft = 1,
00377 TextAlignCenter = 2,
00379 TextAlignRight = 3
00380 } SkpTextAlignment;
00381
00385 typedef [v1_enum] enum
00386 {
00387 ALeaderNone = 1,
00388 ALeaderView = 2,
00389 ALeaderModel = 3
00390 } SkpTextLeader;
00391
00395 typedef [v1_enum] enum
00396 {
00398 PolygonMeshPoints = 0,
00400 PolygonMeshUVQFront = 1,
00402 PolygonMeshUVQBack = 2,
00404 PolygonMeshNormals = 4
00405 } SkpMeshType;
00406
00407
00413 [
00414 object,
00415 uuid(C7D9298D-9F63-4ab1-B96C-A8FB96F9BA08),
00416 helpstring("ISkpRenderer Interface"),
00417 pointer_default(unique)
00418 ]
00419 interface ISkpRenderer : IUnknown
00420 {
00428 [helpstring("Get the page")]
00429 HRESULT GetPage([out,retval]ISkpPage* *ppPage);
00430
00437 HRESULT RenderToBitmap(
00438 [in] unsigned long width,
00439 [in] unsigned long height,
00440 [in] unsigned long bytesPerPixel,
00441 [in] unsigned long bytesPerRow,
00442 [in] unsigned long backgroundMode,
00443 [in] unsigned long format,
00444 [in] unsigned long type,
00445 [in] BOOL topToBottom,
00446 [in] BOOL nprSpeedMatters,
00447 [in] float outputDPI,
00448 [in] float linewidth,
00449 [in,out] unsigned char* bitmapBytes
00450 );
00451
00458 HRESULT _GuessTarget([out] double pPoint3d[3]);
00459
00466 HRESULT SetTileSize([in] int width, [in] int height);
00467
00475 [propget, helpstring("Get the renderer's view.")]
00476 HRESULT View([out,retval]ISkpView** ppView);
00477
00486 HRESULT RenderToFile(
00487 [in] unsigned long width,
00488 [in] unsigned long height,
00489 [in] unsigned long bytesPerPixel,
00490 [in] unsigned long bytesPerRow,
00491 [in] unsigned long backgroundMode,
00492 [in] unsigned long format,
00493 [in] unsigned long type,
00494 [in] BOOL topToBottom,
00495 [in] BOOL nprSpeedMatters,
00496 [in] float outputDPI,
00497 [in] float linewidth,
00498 [in] BSTR filename
00499 );
00500 };
00501
00507 [
00508 object,
00509 uuid(4861A4BE-32EE-4c5d-8B88-350D0463E445),
00510 helpstring("ISkpInputPointFinder Interface"),
00511 pointer_default(unique)
00512 ]
00513 interface ISkpInputPointFinder : IUnknown
00514 {
00524 [helpstring("Do FindPoint using an InputPointFinder.")]
00525 HRESULT FindPoint(
00526 [in] unsigned long x,
00527 [in] unsigned long y,
00528 [in] double aperture_in_pixels,
00529 [out]double picked_point[3],
00530 [out]unsigned long *input_point_type,
00531
00532
00533
00534
00535
00536
00537
00538
00539
00540
00541
00542
00543
00544
00545
00546
00547
00548 [out]ISkpEntity **picked_entity
00549 );
00557 [helpstring("Do FindPoint using an InputPointFinder.")]
00558 HRESULT ClearRecentPoints();
00559 }
00560
00566 [
00567 object,
00568 uuid(7E9855DB-E4D8-40d2-8E30-F4F026674E34),
00569 helpstring("ISkpHLRView Interface"),
00570 pointer_default(unique)
00571 ]
00572 interface ISkpHLRView : IUnknown
00573 {
00581 [helpstring("Get the page")]
00582 HRESULT GetPage([out,retval]ISkpPage* *ppPage);
00583
00591 [propget, helpstring("Get the ISkpView.")]
00592 HRESULT View([out,retval]ISkpView** ppView);
00593
00600 [helpstring("Initializes HLRView with the view page.")]
00601 HRESULT InitializeView(
00602 [in] unsigned long width,
00603 [in] unsigned long height,
00604 [in] float outputDPI,
00605 [in] float linewidth
00606 );
00607
00614 HRESULT _GuessTarget([out] double pPoint3d[3]);
00615 };
00616
00621 [
00622 object,
00623 uuid(40723364-9619-4ca8-BE77-25ABA612958C),
00624 helpstring("A Coordinate System"),
00625 pointer_default(unique)
00626 ]
00627 interface ISkpCoordinateSystem : IUnknown
00628 {
00632 [propget]
00633 HRESULT Origin([out,retval]ISkpPoint3d** ppOrigin);
00637 HRESULT _GetOrigin([out]double origin[3]);
00638
00639
00643 [propget]
00644 HRESULT XAxis([out,retval]ISkpVector3d** ppXAxis);
00648 HRESULT _GetXAxis([out]double XAxis[3]);
00649
00653 [propget]
00654 HRESULT YAxis([out,retval]ISkpVector3d** ppYAxis);
00658 HRESULT _GetYAxis([out]double YAxis[3]);
00662 [propget]
00663 HRESULT ZAxis([out,retval]ISkpVector3d** ppZAxis);
00667 HRESULT _GetZAxis([out]double ZAxis[3]);
00668
00672 [propget]
00673 HRESULT Plane([out,retval]ISkpPlane** ppPlane);
00674 }
00675
00680 [
00681 object,
00682 uuid(797A86D9-8EC2-4064-BE94-D4F589FC1A53),
00683 helpstring("A Point3d"),
00684 pointer_default(unique)
00685 ]
00686 interface ISkpPoint3d : IUnknown
00687 {
00694 [helpstring("Returns the point values.")]
00695 HRESULT Get([out] double *x, [out] double* y, [out]double *z);
00696
00701 [propget, helpstring("Returns the x coordinate")]
00702 HRESULT X([out, retval] double *pVal);
00707 [propget, helpstring("Returns the y coordinate")]
00708 HRESULT Y([out, retval] double *pVal);
00709
00714 [propget, helpstring("Returns the z coordinate")]
00715 HRESULT Z([out, retval] double *pVal);
00716
00717 };
00722 [
00723 object,
00724 uuid(1D2F07F1-6BC9-44e8-A228-489E0C6393A0),
00725 helpstring("A Vector3d"),
00726 pointer_default(unique)
00727 ]
00728 interface ISkpVector3d : IUnknown
00729 {
00736 [helpstring("Returns the Vector values.")]
00737 HRESULT Get([out] double *x, [out] double* y, [out]double *z);
00738
00743 [propget, helpstring("Returns the x coordinate")]
00744 HRESULT X([out, retval] double *pVal);
00745
00750 [propget, helpstring("Returns the y coordinate")]
00751 HRESULT Y([out, retval] double *pVal);
00752
00757 [propget, helpstring("Returns the z coordinate")]
00758 HRESULT Z([out, retval] double *pVal);
00759
00760 };
00761
00770 [
00771 object,
00772 uuid(A578615C-F813-4bba-9C1F-5E01ABF197A6),
00773 helpstring("ISkpVertex Interface"),
00774 pointer_default(unique)
00775 ]
00776 interface ISkpVertex : IUnknown
00777 {
00787 [helpstring("Get the point associated with the Vertex")]
00788 HRESULT _GetPosition([out] double pPoint3d[3]);
00789
00796 [propget, helpstring("Get the point associated with the Vertex")]
00797 HRESULT Position([out,retval] ISkpPoint3d** pPoint3d);
00798
00805 [propput, helpstring("Set the point associated with the Vertex")]
00806 HRESULT Position([in] ISkpPoint3d* pPoint3d);
00807
00815 [propget, helpstring("Get the Edges that use this Vertex")]
00816 HRESULT Edges([out, retval] ISkpEdges* *pVal);
00817
00825 [propget, helpstring("Get the Faces that use this Vertex")]
00826 HRESULT Faces([out, retval] ISkpFaces* *pVal);
00827
00835 [propget, helpstring("Get the Loops that use this Vertex")]
00836 HRESULT Loops([out, retval] ISkpLoops* *pVal);
00837 }
00838
00846 [
00847 object,
00848 uuid(03B1BA1E-3A11-492b-9F4F-7B5BC7C28922),
00849 helpstring("ISkpNamedValue Interface"),
00850 pointer_default(unique)
00851 ]
00852 interface ISkpNamedValue : IUnknown
00853 {
00861 [propget, helpstring("The Name")]
00862 HRESULT Name([out, retval] BSTR *pVal);
00863
00871 [propget, helpstring("The Value")]
00872 HRESULT Value([out, retval] VARIANT *pVal);
00873 };
00874
00879 [
00880 object,
00881 uuid(1513EB56-F0D5-41d0-BC71-7DB252A9032A),
00882 helpstring("A Collection of named value pairs"),
00883 pointer_default(unique)
00884 ]
00885 interface ISkpNamedValues : IUnknown
00886 {
00894 [propget]
00895 HRESULT Count([out, retval] long *pVal);
00896
00905 [propget]
00906 HRESULT _NewEnum([out, retval] IUnknown** pVal);
00907
00918 [propget]
00919 HRESULT Item([in] long nIndex, [out, retval] ISkpNamedValue* *pVal);
00920
00936 [propget, helpstring("Return the value with the given name")]
00937 HRESULT Value([in] BSTR valueName, [out, retval]VARIANT *pVal);
00938
00939 };
00940
00948 [
00949 object,
00950 uuid(6F13DFAB-D068-44db-88E6-3D0F22C8BFFB),
00951 helpstring("A Mutable Collection of named value pairs"),
00952 pointer_default(unique)
00953 ]
00954 interface ISkpNamedValuesM : IUnknown
00955 {
00963 [propget]
00964 HRESULT Count([out, retval] long *pVal);
00965
00974 [propget]
00975 HRESULT _NewEnum([out, retval] IUnknown** pVal);
00976
00987 [propget]
00988 HRESULT Item([in] long nIndex, [out, retval] ISkpNamedValue* *pVal);
00989
01005 [propget, helpstring("Return the value with the given name")]
01006 HRESULT Value([in] BSTR valueName, [out, retval]VARIANT *pVal);
01007
01023 [helpstring("Sets the name to have the given value. Replaces if current, adds if new")]
01024 HRESULT Set([in] BSTR valueName, [in]VARIANT value);
01025 };
01026
01027
01035 [
01036 object,
01037 uuid(1AC7CB56-7C6A-4e9d-A274-4DCE1C5C9749),
01038 helpstring("ISkpPlane Interface"),
01039 pointer_default(unique)
01040 ]
01041 interface ISkpPlane : IUnknown
01042 {
01056 [helpstring("A point on the plane")]
01057 HRESULT _GetPosition([out] double pPoint3d[3]);
01058
01070 [propget, helpstring("A point on the plane")]
01071 HRESULT Position([out, retval] ISkpPoint3d **pPoint3d);
01072
01084 [helpstring("The plane normal")]
01085 HRESULT _GetNormal([out] double pVector3d[3]);
01086
01095 [propget, helpstring("The plane normal")]
01096 HRESULT Normal([out, retval] ISkpVector3d** pVector3d);
01097
01112 [helpstring("get the a,b,c,d parameters of a plane")]
01113 HRESULT Get([out]double *a,[out]double *b,[out]double *c,[out]double *d);
01114 };
01115
01116
01127 [
01128 object,
01129 uuid(06E0C968-19B6-4973-98CF-E056E6D157AA),
01130 helpstring("ISkpApplication Interface"),
01131 pointer_default(unique)
01132 ]
01133 interface ISkpApplication : IUnknown
01134 {
01143 [propget, helpstring("property Name")]
01144 HRESULT Name([out, retval] BSTR *pVal);
01145
01154 [propget, helpstring("property Fullname")]
01155 HRESULT Fullname([out, retval] BSTR *pVal);
01156
01167 [propget, helpstring("property Version")]
01168 HRESULT Version([out, retval] BSTR *pVal);
01169
01178 [propget, helpstring("property ActiveDocument")]
01179 HRESULT ActiveDocument([out, retval] ISkpDocument* *pVal);
01180
01192 [propput, helpstring("Set the text for the status line")]
01193 HRESULT StatusText([in] BSTR str);
01194
01195
01204 [propget, helpstring("The type of this object")]
01205 HRESULT TypeName([out, retval] BSTR *pVal);
01206
01218 [helpstring("Create a texture writer")]
01219 HRESULT CreateTextureWriter([out,retval]ISkpTextureWriter** pWriter);
01220 }
01228 [
01229 object,
01230 uuid(D9B338BF-6B14-4813-AB17-DA7E7C64CAB5),
01231 helpstring("ISkpFileReader Interface"),
01232 pointer_default(unique)
01233 ]
01234 interface ISkpFileReader : IUnknown
01235 {
01254 [helpstring("Open the given file")]
01255 HRESULT OpenFile([in]BSTR filePath, [out,retval]ISkpDocument** ppDoc);
01256
01274 [helpstring("Open a SketchUp model from an IStream")]
01275 HRESULT OpenFromStream([in]IStream* pStream, [out, retval]ISkpDocument** ppDoc);
01276
01293 [helpstring("Open a SketchUp model from the clipboard")]
01294 HRESULT OpenFromClipboard([out, retval]ISkpDocument** ppDoc);
01295 }
01296
01303 [
01304 object,
01305 uuid(562CEEEE-91BF-4296-8F72-5635E7412FA7),
01306 helpstring("ISkpFileWriter Interface"),
01307 pointer_default(unique)
01308 ]
01309 interface ISkpFileWriter : IUnknown
01310 {
01326 [helpstring("Save the SketchUp model to a given file")]
01327 HRESULT SaveToFile([in]BSTR filePath);
01328
01339 [helpstring("Save a SketchUp model to an IStream")]
01340 HRESULT SaveToStream([in]IStream* pStream);
01341
01362 [helpstring("Sets the version of the SketchUp model to save to.")]
01363 HRESULT SetSaveVersion([in]long version);
01364 }
01365
01374 [
01375 object,
01376 uuid(8044FCF8-16C9-43f9-BB3C-B93983151E3E),
01377 helpstring("ISkpViewProvider Interface"),
01378 pointer_default(unique)
01379 ]
01380 interface ISkpViewProvider : IUnknown
01381 {
01390 [propget, helpstring("Get the current view - if any")]
01391 HRESULT CurrentView([out,retval]ISkpView** ppView);
01392
01393 }
01394
01401 [
01402 object,
01403 uuid(16BB046B-9742-4670-81C0-77C0804E2931),
01404 helpstring("ISkpEntityProvider Interface"),
01405 pointer_default(unique)
01406 ]
01407 interface ISkpEntityProvider : IUnknown
01408 {
01416 [propget, helpstring("Get the Edges contained within the provider")]
01417 HRESULT Edges([out,retval] ISkpEdges** pEdges);
01418
01426 [propget, helpstring("Get the EdgeUses contained within the provider")]
01427 HRESULT EdgeUses([out,retval] ISkpEdgeUses** pEdgeUses);
01428
01436 [propget, helpstring("Get the Faces contained within the provider")]
01437 HRESULT Faces([out,retval] ISkpFaces** pFaces);
01438
01446 [propget, helpstring("Get the Vertices contained within the provider")]
01447 HRESULT Vertices([out,retval] ISkpVertices** pVertices);
01448
01456 [propget, helpstring("Get the PolyLine3ds contained within the provider")]
01457 HRESULT Polyline3ds([out,retval] ISkpPolyline3ds** pPolylines);
01458
01466 [propget, helpstring("Get the Loops contained within the provider")]
01467 HRESULT Loops([out,retval] ISkpLoops** pLoops);
01468
01476 [propget, helpstring("Get the Images contained within the provider")]
01477 HRESULT Images([out,retval] ISkpImages** pImages);
01478
01486 [propget, helpstring("Get the Texts contained within the provider")]
01487 HRESULT Texts([out,retval] ISkpTexts** pTexts);
01488
01496 [propget, helpstring("Get the Groups contained within the provider")]
01497 HRESULT Groups([out,retval] ISkpGroups** pGroups);
01498
01506 [propget, helpstring("Get the ConstructionLines contained within the provider")]
01507 HRESULT ConstructionLines([out,retval] ISkpConstructionLines** pConstructionLines);
01508
01516 [propget, helpstring("Get the ConstructionPoints contained within the provider")]
01517 HRESULT ConstructionPoints([out,retval] ISkpConstructionPoints** pConstructionPoints);
01518
01526 [propget, helpstring("Get the Dimensions contained within the provider")]
01527 HRESULT Dimensions([out,retval] ISkpDimensions** pDimensions);
01528
01536 [propget, helpstring("Get the Component Instances contained within the provider")]
01537 HRESULT ComponentInstances([out,retval] ISkpComponentInstances** pInstances);
01538
01546 [propget, helpstring("A collection of all the Entities")]
01547 HRESULT Entities([out, retval] ISkpEntities* *pVal);
01548
01556 [propget, helpstring("A collection of all the SectionPlanes")]
01557 HRESULT SectionPlanes([out, retval] ISkpSectionPlanes* *pVal);
01558
01566 [helpstring("Does this provider have any section cuts?")]
01567 HRESULT HasSectionCuts([out,retval]BOOL* pVal);
01568
01576 [helpstring("Get the statistics for this entity provider")]
01577 HRESULT GetStatistics([out,retval] ISkpEntityProviderStatistics** ppStats);
01578 }
01579
01586 [
01587 object,
01588 uuid(E6E72823-A815-4760-91A1-76CED4F4AA60),
01589 helpstring("ISkpDocument Interface"),
01590 pointer_default(unique)
01591 ]
01592 interface ISkpDocument : IUnknown
01593 {
01601 [propget, helpstring("Returns the application")]
01602 HRESULT Application([out, retval] ISkpApplication** pVal);
01603
01611 [propget, helpstring("Returns the bounding box for the entire model")]
01612 HRESULT ModelExtents([out, retval] ISkpBoundingBox3d** pVal);
01613
01621 [propget, helpstring("Collection of all the Fonts")]
01622 HRESULT Fonts([out, retval] ISkpFonts* *pVal);
01623
01631 [propget, helpstring("Collection of all the Materials")]
01632 HRESULT Materials([out, retval] ISkpMaterials* *pVal);
01633
01641 [propget, helpstring("Get the Layers contained within the model")]
01642 HRESULT Layers([out,retval] ISkpLayers** pLayers);
01643
01651 [propget, helpstring("The Options Manager")]
01652 HRESULT OptionsManager([out, retval] ISkpOptionsManager* *pVal);
01653
01661 [propget, helpstring("Get the Component Definitions contained within the model")]
01662 HRESULT ComponentDefinitions([out,retval] ISkpComponentDefinitions** pDefinitions);
01663
01675 [propget, helpstring("Get the current camera - if any")]
01676 HRESULT CurrentCamera([out,retval]ISkpCamera** pVal);
01677
01685 [propget, helpstring("Get the pages")]
01686 HRESULT Pages([out,retval]ISkpPages** pVal);
01687
01695 [propget, helpstring("Get the selection set")]
01696 HRESULT SelectionSet([out,retval]ISkpSelectionSet** pVal);
01704 [propget, helpstring("Get the document's description")]
01705 HRESULT Description([out,retval]BSTR* pDesc);
01706
01714 [propget, helpstring("Get the renderer")]
01715 HRESULT Renderer([out,retval]ISkpRenderer** pVal);
01716
01724 [propget, helpstring("The Shadow options")]
01725 HRESULT ShadowOptions([out,retval]ISkpOptionsProvider** ppShadowOptions);
01726
01734 [propget, helpstring("The Style Manager")]
01735 HRESULT StyleManager([out, retval] ISkpStyleManager* *pVal);
01736
01744 [propget, helpstring("Returns the bounding box for the entire model in Lat-Long-Alt (LLA) in units of degrees and meters")]
01745 HRESULT ModelExtentsLLA([out, retval] ISkpBoundingBox3d** pVal);
01746
01754 [propget, helpstring("Get the HLRView")]
01755 HRESULT HLRView([out,retval]ISkpHLRView** pVal);
01756
01768 [propget, helpstring("Get the current (mutable) camera - if any")]
01769 HRESULT CurrentCameraM([out,retval]ISkpCameraM** pVal);
01770 }
01771
01777 [
01778 object,
01779 uuid(e47e315d-9c39-444d-b91f-12aa14efc484),
01780 helpstring("ISkpThumbnailProvider Interface"),
01781 pointer_default(unique)
01782 ]
01783 interface ISkpThumbnailProvider : IUnknown
01784 {
01793 [helpstring("Get thumbnail image size")]
01794 HRESULT GetThumbnailSize([out]long *nWidth, [out]long *nHeight);
01795
01808 [helpstring("Get the thumbnail image")]
01809 HRESULT GetThumbnail([in]long nWidth, [in]long nHeight,
01810 [out,size_is(nWidth*nHeight)]BYTE pBytes[*]);
01811
01821 [helpstring("Save the thumbnail to a file")]
01822 HRESULT SaveThumbnail([in] BSTR bstrFilePath);
01823 }
01824
01839 [
01840 object,
01841 uuid(80ACB93F-E86E-4198-90BE-17805448CA0C),
01842 helpstring("ISkpHLRGeneration Interface"),
01843 pointer_default(unique)
01844 ]
01845 interface ISkpHLRGeneration : IUnknown
01846 {
01858 [propget, helpstring("Return the named options")]
01859 HRESULT Options([out, retval]ISkpNamedValues* *pVal);
01860
01870 [propget, helpstring("Return the option with the given name")]
01871 HRESULT Option([in] BSTR optionName, [out, retval]VARIANT *pVal);
01872
01886 [propput, helpstring("Set the option with the given name to the given value")]
01887 HRESULT Option([in] BSTR optionName, [in]VARIANT value);
01888
01909 [helpstring("Produce HLR output written to the given writer")]
01910 HRESULT DoHLR([in]ISkpView* pView, [in]ISkpHLRWriter *pWriter);
01911
01934 [helpstring("Get the 2d bounding box limits for HLR output")]
01935 HRESULT GetHLRClipWindow([in] ISkpView* pView,
01936 [in] BOOL computeTightClipWindow,
01937 [out]double* minX, [out]double* minY,
01938 [out]double* maxX, [out]double* maxY,
01939 [out]double* nearDist, [out]double* farDist);
01940 }
01953 [
01954 object,
01955 uuid(8C930912-0653-4adc-99E4-3438DE820D6C),
01956 helpstring("ISkpHLRWriter Interface"),
01957 pointer_default(unique)
01958 ]
01959 interface ISkpHLRWriter : IUnknown
01960 {
01975 HRESULT StoreSegment ([in]OLE_COLOR color, [in] BOOL bSilhouette, [in]double* pFromPoint3d, [in]double* pToPoint3d);
01976
01990 HRESULT StoreSliceSegment ([in]OLE_COLOR color, [in]double* pFromPoint3d, [in]double* pToPoint3d);
01991
02003 HRESULT StoreFace ([in]OLE_COLOR color, [in]ISkpFace* pOutputFace);
02004
02022 HRESULT StoreText( [in]double* originPoint3d,
02023 [in]double* xAxisPoint3d,
02024 [in]double* yAxisPoint3d,
02025 [in]double width,
02026 [in]double height,
02027 [in]BOOL bItalic,
02028 [in]BOOL bBold,
02029 [in]BSTR fontFace,
02030 [in]BSTR line,
02031 [in]OLE_COLOR color);
02032
02048 HRESULT StoreTextWithFont([in]double* originPoint3d,
02049 [in]double* xAxisPoint3d,
02050 [in]double* yAxisPoint3d,
02051 [in]double width,
02052 [in]double height,
02053 [in]ISkpFont* font,
02054 [in]BSTR line,
02055 [in]OLE_COLOR color);
02056 }
02061 [
02062 object,
02063 uuid(2EF46735-233B-45a7-983A-361649055B98),
02064 helpstring("ISkpView Interface"),
02065 pointer_default(unique)
02066 ]
02067 interface ISkpView : IUnknown
02068 {
02081 [helpstring("Covert given number of pixels at the given world point to a world size")]
02082 HRESULT PixelToModel([in]long pixels, [in]double *pPoint3d, [out]double *pVal);
02083
02094 [helpstring("get the x and y pixels per inch")]
02095 HRESULT GetPixelsPerInch([out]long *x, [out]long *y);
02096
02106 [propget, helpstring("Get the direction associated with this view")]
02107 HRESULT Direction([out,retval]ISkpVector3d**pVector3d);
02108
02121 [helpstring("Get the direction associated with this view")]
02122 HRESULT _GetDirection([out]double pVector3d[3]);
02123
02136 [helpstring("Get the x-vector associated with this view")]
02137 HRESULT _GetXVec([out]double pVector3d[3]);
02138
02151 [helpstring("Get the y-vector associated with this view")]
02152 HRESULT _GetYVec([out]double pVector3d[3]);
02153
02163 [propget, helpstring("Get the x-vector associated with this view")]
02164 HRESULT XVec([out,retval]ISkpVector3d**pVector3d);
02165
02175 [propget, helpstring("Get the y-vector associated with this view")]
02176 HRESULT YVec([out,retval]ISkpVector3d**pVector3d);
02177
02196 [helpstring("Map a model space point into viewport coordinates.")]
02197 HRESULT MapToViewport([in] double *pModelSpacePoint3d,
02198 [out]double *pViewportPoint3d,
02199 [out]BOOL *pSuccess);
02200
02211 [helpstring("Retrieves the screen height and width in pixels.")]
02212 HRESULT GetScreenDimensions([out] long *x, [out] long* y);
02213 }
02218 [
02219 object,
02220 uuid(9DD5AFA7-10BC-4537-8793-CDCF86CEB17E),
02221 helpstring("A Collection of Dimensions"),
02222 pointer_default(unique)
02223 ]
02224 interface ISkpDimensions : IUnknown
02225 {
02233 [propget, helpstring("Returns number of Dimensions.")]
02234 HRESULT Count([out, retval] long *pVal);
02235
02246 [propget, helpstring("Given an index, returns an item in the collection.")]
02247 HRESULT Item([in] long Index, [out, retval] ISkpDimension* *pVal);
02248
02257 [propget, restricted, id(-4),
02258 helpstring("returns an enumerator for the collection.")]
02259 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
02260
02261 };
02262
02267 [
02268 object,
02269 uuid(738115B6-B41C-4ee4-94C1-E48AE59B225D),
02270 helpstring("A ISkpDimension"),
02271 pointer_default(unique)
02272 ]
02273 interface ISkpDimension : IUnknown
02274 {
02284 [propget, helpstring("Get the associated style")]
02285 HRESULT Style([out,retval] ISkpDimensionStyle** ppVal);
02286
02296 [propget, helpstring("Get the text of this dimension")]
02297 HRESULT Text([out,retval] BSTR* pVal);
02298
02308 [propget, helpstring("Get the plane of this dimension")]
02309 HRESULT Plane([out,retval] ISkpPlane** pVal);
02310
02311
02324 [helpstring("Get the formatted text of this dimension")]
02325 HRESULT GetFormattedText([in]ISkpView* pView,
02326 [in]BOOL bNotToScale,
02327 [out,retval] BSTR* pVal);
02328
02329
02347 [helpstring("Get the text position relative to the given view")]
02348 HRESULT _GetTextPosition([in]ISkpView *pView,
02349 [out]double textPositionPoint3d[3],
02350 [out]SkpTextJustification *just,
02351 [out]SkpTextAlignment *align);
02352
02367 [helpstring("Get the text position relative to the given view")]
02368 HRESULT TextPosition([in]ISkpView *pView,
02369 [out]ISkpPoint3d * *textPositionPoint3d,
02370 [out]SkpTextJustification *just,
02371 [out]SkpTextAlignment *align);
02372
02381 [propget, helpstring("get the associated font")]
02382 HRESULT Font([out, retval] ISkpFont* *pVal);
02383
02392 [propget, helpstring("Does the font support 3d text")]
02393 HRESULT Has3DText([out, retval] BOOL *pVal);
02394
02395
02404 [propget, helpstring("get the dimension arrow type")]
02405 HRESULT ArrowType([out, retval] SkpDimensionArrow *pVal);
02406
02407 };
02412 [
02413 object,
02414 uuid(8AD10337-A9CE-4281-89FA-EE6ADA9C242D),
02415 helpstring("A Linear Dimension"),
02416 pointer_default(unique)
02417 ]
02418 interface ISkpDimensionLinear : IUnknown
02419 {
02433 [helpstring("get the start point")]
02434 HRESULT _GetStartPoint([out] double pPoint3d[3]);
02435
02446 [propget, helpstring("get the start point")]
02447 HRESULT StartPoint([out, retval] ISkpPoint3d **pPoint3d);
02448
02462 [helpstring("get the End point")]
02463 HRESULT _GetEndPoint([out] double pPoint3d[3]);
02464
02475 [propget, helpstring("get the End point")]
02476 HRESULT EndPoint([out, retval] ISkpPoint3d **pPoint3d);
02477
02491 [helpstring("get the normal")]
02492 HRESULT _GetNormal([out] double pVector3d[3]);
02493
02504 [propget, helpstring("get the normal")]
02505 HRESULT Normal([out, retval] ISkpVector3d **pVector3d);
02506
02520 [helpstring("get the XAxis")]
02521 HRESULT _GetXAxis([out] double pVector3d[3]);
02522
02533 [propget, helpstring("get the XAxis")]
02534 HRESULT XAxis([out, retval] ISkpVector3d**pVector3d);
02535
02545 [propget, helpstring("get the XPosition")]
02546 HRESULT XPosition([out, retval] double *pVal);
02547
02557 [propget, helpstring("get the YPosition")]
02558 HRESULT YPosition([out, retval] double *pVal);
02559
02569 [propget, helpstring("get the type")]
02570 HRESULT Type([out, retval] SkpLinearDimensionType *pVal);
02571
02580 [propget, helpstring("get the text position")]
02581 HRESULT TextPosition([out, retval] SkpDimensionTextPosition *pVal);
02582
02583 };
02584
02591 [
02592 object,
02593 uuid(663E44A6-13A5-43b8-B216-8277B9E1AE1E),
02594 helpstring("A Radial Dimension"),
02595 pointer_default(unique)
02596 ]
02597 interface ISkpDimensionRadial : IUnknown
02598 {
02609 [propget, helpstring("get the type of radial dimension")]
02610 HRESULT RadialType([out, retval] SkpRadialDimensionType *pVal);
02611
02625 [helpstring("get the center of this radial dimension")]
02626 HRESULT _GetCenter([out] double pPoint3d[3]);
02627
02638 [propget, helpstring("get the center of this radial dimension")]
02639 HRESULT Center([out, retval] ISkpPoint3d **pPoint3d);
02640
02658 [propget, helpstring("get the radial ratio")]
02659 HRESULT Ratio([out, retval] double *pVal);
02660
02676 [propget, helpstring("get the parameter 't'")]
02677 HRESULT T([out, retval] double *pVal);
02678
02700 [helpstring("get the parameter leader points")]
02701 HRESULT _GetLeaderPoints([out] double p1Point3d[3],
02702 [out] double p2Point3d[3],
02703 [out] double p3Point3d[3]);
02704
02722 [helpstring("get the parameter leader points")]
02723 HRESULT LeaderPoints([out] ISkpPoint3d* *p1Point3d,
02724 [out] ISkpPoint3d* *p2Point3d,
02725 [out] ISkpPoint3d* *p3Point3d);
02726
02727
02749 [helpstring("Calculate text position, alignment, justification, and whether we have a leader extension")]
02750 HRESULT _GetTextInfo( [in] ISkpView *pView,
02751 [in] double p1Point3d[3],
02752 [in] double p2Point3d[3],
02753 [in] ISkpPlane *plane,
02754 [out] double pTextPositionPoint3d[3],
02755 [out] SkpTextJustification *just,
02756 [out] SkpTextAlignment *align,
02757 [out] BOOL *pVal );
02758
02776 [helpstring("Calculate text position, alignment, justification, and whether we have a leader extension")]
02777 HRESULT TextInfo( [in] ISkpView *pView,
02778 [in] ISkpPoint3d* *p1Point3d,
02779 [in] ISkpPoint3d* *p2Point3d,
02780 [in] ISkpPlane *plane,
02781 [out] ISkpPoint3d* *pTextPositionPoint3d,
02782 [out] SkpTextJustification *just,
02783 [out] SkpTextAlignment *align,
02784 [out] BOOL *pVal );
02785
02786
02787 };
02792 [
02793 object,
02794 uuid(FE6A3A09-EE20-4de1-A4C9-346AF3B95DBF),
02795 helpstring("A Dimension"),
02796 pointer_default(unique)
02797 ]
02798 interface ISkpDimensionStyle : IUnknown
02799 {
02808 [propget, helpstring("get the associated font")]
02809 HRESULT Font([out, retval] ISkpFont* *pVal);
02810
02819 [propget, helpstring("Does the font support 3d text")]
02820 HRESULT Has3DText([out, retval] BOOL *pVal);
02821
02830 [propget, helpstring("get the text position")]
02831 HRESULT TextPosition([out, retval] SkpDimensionTextPosition *pVal);
02832
02841 [propget, helpstring("get the dimension arrow type")]
02842 HRESULT ArrowType([out, retval] SkpDimensionArrow *pVal);
02843
02852 [propget, helpstring("get the dimension arrow size")]
02853 HRESULT ArrowSize([out, retval] long *pVal);
02854
02863 [propget, helpstring("Get the color of the dimension if no color assigned to the dimension itself")]
02864 HRESULT Color([out,retval]OLE_COLOR *pColor);
02865
02877 [propget, helpstring("Get the color of the dimension if no color assigned to the dimension itself")]
02878 HRESULT TextColor([out,retval]OLE_COLOR *pColor);
02879
02889 [propget, helpstring("Control whether 3d text is always oriented for readability in view.")]
02890 HRESULT AlwaysReadable([out,retval]BOOL *pVal);
02891
02901 [propget, helpstring("Gets the offset value.")]
02902 HRESULT ExtensionLineOffset([out,retval]long *pVal);
02903
02913 [propget, helpstring("Gets the overshoot value.")]
02914 HRESULT ExtensionLineOvershoot([out,retval]long *pVal);
02915
02925 [propget, helpstring("Gets the line weight value.")]
02926 HRESULT LineWeight([out,retval]long *pVal);
02927
02938 [propget, helpstring("Control whether we show non-associative dimensions (including edited text) in a special color.")]
02939 HRESULT HighlightNonAssociativeDimensions([out,retval]BOOL *pVal);
02940
02951 [propget, helpstring("The non-associative dimensions color.")]
02952 HRESULT HighlightNonAssociativeDimensionsColor([out,retval]OLE_COLOR *pVal);
02953
02963 [propget, helpstring("Is the radial dimension type drawn in the dimension?")]
02964 HRESULT ShowRadialDiamPrefix([out,retval]BOOL *pVal);
02965
02975 [propget, helpstring("Are out-of-plane dimensions drawn?")]
02976 HRESULT HideOutOfPlane([out,retval]BOOL *pVal);
02977
02987 [propget, helpstring("What is the limiting value to determine out of plane?")]
02988 HRESULT HideOutOfPlaneValue([out,retval]double *pVal);
02989
02999 [propget, helpstring("Are small dimensions drawn?")]
03000 HRESULT HideSmall([out,retval]BOOL *pVal);
03001
03011 [propget, helpstring("What is the limiting value to determine small?")]
03012 HRESULT HideSmallValue([out,retval]double *pVal);
03013
03014
03015 };
03016
03017
03022 [
03023 object,
03024 uuid(69AD8EA1-31BB-4070-B61D-A1313DDCB5BA),
03025 helpstring("A Font"),
03026 pointer_default(unique)
03027 ]
03028 interface ISkpFont : IUnknown
03029 {
03039 [propget, helpstring("get the point size")]
03040 HRESULT PointSize([out, retval] long *pVal);
03041
03051 [propget, helpstring("get the font face")]
03052 HRESULT FontFace([out,retval] BSTR* pVal);
03053
03063 [propget, helpstring("is the font bold?")]
03064 HRESULT Bold([out,retval] BOOL* pVal);
03065
03075 [propget, helpstring("is the font italic?")]
03076 HRESULT Italic([out,retval] BOOL* pVal);
03088 [helpstring("get the bounds for the given text")]
03089 HRESULT GetBoundsMultiLine([in]ISkpView* pView,
03090 [in] BSTR text,
03091 [out, retval] ISkpBoundingBox3d** ppBox);
03092
03103 [propget, helpstring("get the world size for the font")]
03104 HRESULT WorldSize([out,retval] double* pVal);
03105
03116 [propget, helpstring("is the font world size?")]
03117 HRESULT UseWorldSize([out,retval] BOOL* pVal);
03118 };
03123 [
03124 object,
03125 uuid(DF614131-E9F3-42b9-93A2-391058AC0FC1),
03126 helpstring("A Collection of SkpFonts"),
03127 pointer_default(unique)
03128 ]
03129 interface ISkpFonts : IUnknown
03130 {
03141 [propget, helpstring("Get a SkFont by index")]
03142 HRESULT Item([in] long Index, [out, retval] ISkpFont* *pVal);
03143
03151 [propget, helpstring("The number of SkpFonts")]
03152 HRESULT Count([out, retval] long *pVal);
03153
03162 [propget, restricted, id(-4),
03163 helpstring("returns an enumerator for the collection.")]
03164 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
03165 };
03166
03171 [
03172 object,
03173 uuid(D45DAAEC-1E6C-4908-8C3F-168838AA0B4B),
03174 helpstring("A Text entity"),
03175 pointer_default(unique)
03176 ]
03177 interface ISkpText : IUnknown
03178 {
03188 [propget, helpstring("Get the text")]
03189 HRESULT Text([out,retval]BSTR* pVal);
03190
03200 [propget, helpstring("Get the font used to render the text")]
03201 HRESULT DrawingFont([out,retval]ISkpFont** pVal);
03202
03212 [propget, helpstring("Get the type of leader")]
03213 HRESULT LeaderType([out,retval]SkpTextLeader* pVal);
03214
03224 [propget, helpstring("Is the leader displayed?")]
03225 HRESULT DisplayLeader([out,retval]BOOL* pVal);
03226
03236 [propget, helpstring("Get the arrow type")]
03237 HRESULT ArrowType([out,retval]SkpDimensionArrow* pVal);
03238
03257 [helpstring("Get the leader points of this text entity relative to the given view")]
03258 HRESULT _GetLeaderPoints([in] ISkpView *pView,
03259 [out]double *pLeaderStartPoint3d,
03260 [out]double *pLeaderEndPoint3d,
03261 [out]double *pExtensionEndPoint3d,
03262 [out]double *pTextOffsetPoint3d,
03263 [out]SkpTextJustification *just,
03264 [out]SkpTextAlignment *align);
03265
03281 [helpstring("Get the leader points of this text entity relative to the given view")]
03282 HRESULT LeaderPoints([in] ISkpView *pView,
03283 [out]ISkpPoint3d* *pLeaderStartPoint3d,
03284 [out]ISkpPoint3d* *pLeaderEndPoint3d,
03285 [out]ISkpPoint3d* *pExtensionEndPoint3d,
03286 [out]ISkpPoint3d* *pTextOffsetPoint3d,
03287 [out]SkpTextJustification *just,
03288 [out]SkpTextAlignment *align);
03289 };
03294 [
03295 object,
03296 uuid(3A09F67E-C54A-404a-8C46-D7F35576CDD6),
03297 helpstring("A Collection of SkpTexts"),
03298 pointer_default(unique)
03299 ]
03300 interface ISkpTexts : IUnknown
03301 {
03312 [propget, helpstring("Get a SkpText by index")]
03313 HRESULT Item([in] long Index, [out, retval] ISkpText* *pVal);
03314
03322 [propget, helpstring("The number of SkpTexts")]
03323 HRESULT Count([out, retval] long *pVal);
03324
03333 [propget, restricted, id(-4),
03334 helpstring("returns an enumerator for the collection.")]
03335 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
03336 };
03337
03346 [
03347 object,
03348 uuid(31A3B2BA-D512-473d-9289-2709BDBF2D1D),
03349 helpstring("A OptionsManager entity"),
03350 pointer_default(unique)
03351 ]
03352 interface ISkpOptionsManager : IUnknown
03353 {
03365 [propget, helpstring("Return the ISkpOptionsProvider at the given index or with the given name")]
03366 HRESULT Item([in] VARIANT IndexOrName, [out, retval] ISkpOptionsProvider **pVal);
03367
03375 [propget, helpstring("Get the number of ISkpOptionsProviders")]
03376 HRESULT Count([out, retval] long *pVal);
03377
03386 [propget, restricted, id(-4), helpstring("returns an enumerator for the collection.")]
03387 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
03388 }
03403 [
03404 object,
03405 uuid(120A278B-61BF-49c9-8A5C-4045D5631DCC),
03406 helpstring("A OptionsProvider entity"),
03407 pointer_default(unique)
03408 ]
03409 interface ISkpOptionsProvider : IUnknown
03410 {
03420 [propget, helpstring("Return the named options")]
03421 HRESULT Options([out, retval]ISkpNamedValues* *pVal);
03431 [propget, helpstring("Return the name of this Options Provider")]
03432 HRESULT Name([out, retval]BSTR *pVal);
03433
03444 [propget, helpstring("Return the option with the given name")]
03445 HRESULT Option([in] BSTR optionName, [out, retval]VARIANT *pVal);
03446 }
03447
03452 [
03453 object,
03454 uuid(3E9D8816-993A-4c3b-9427-3458C9280AE9),
03455 helpstring("An Attributes collection"),
03456 pointer_default(unique)
03457 ]
03458 interface ISkpAttributes : IUnknown
03459 {
03467 [propget, helpstring("Returns number of Attributes.")]
03468 HRESULT Count([out, retval] long *pVal);
03469
03480 [propget, helpstring("Given an index, returns an item in the collection.")]
03481 HRESULT Item([in] long Index, [out, retval] ISkpAttribute* *pVal);
03482
03491 [propget, restricted, id(-4),
03492 helpstring("returns an enumerator for the collection.")]
03493 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
03494 }
03495
03500 [
03501 object,
03502 uuid(D1A0D3D4-A608-4840-A646-2D6CA547C34C),
03503 helpstring("An Attribute entity"),
03504 pointer_default(unique)
03505 ]
03506 interface ISkpAttribute : IUnknown
03507 {
03508 }
03509
03514 [
03515 object,
03516 uuid(9EA3F921-C6D0-4fc0-B0E2-A397FF2EEA39),
03517 helpstring("An ISkpFaceTextureCoordsAttribute entity"),
03518 pointer_default(unique)
03519 ]
03520 interface ISkpFaceTextureCoordsAttribute : IUnknown
03521 {
03522 }
03523
03529 [
03530 object,
03531 uuid(B091771F-1144-4af9-9FA3-A8D7147D42B7),
03532 helpstring("An AttributeDictionary entity"),
03533 pointer_default(unique)
03534 ]
03535 interface ISkpAttributeDictionary : IUnknown
03536 {
03545 [propget, helpstring("Get the name of this dictionary")]
03546 HRESULT Name([out,retval] BSTR* pVal);
03547
03558 [propget, helpstring("Get a named value pair by name")]
03559 HRESULT Item([in] BSTR bstrName, [out, retval] VARIANT *pVal);
03560
03569 [propget, helpstring("The number of Name Value pairs")]
03570 HRESULT Count([out, retval] long *pVal);
03571
03584 [propget, restricted, id(-4),
03585 helpstring("returns an enumerator for the collection.")]
03586 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
03587
03588 }
03589
03594 [
03595 object,
03596 uuid(EC4F4363-D5F9-42af-BBBF-BAED0A9501AD),
03597 helpstring("ISkpCurve Interface"),
03598 pointer_default(unique)
03599 ]
03600 interface ISkpCurve : IUnknown
03601 {
03602
03612 [propget, helpstring("Get the Edges that use this curve")]
03613 HRESULT Edges([out, retval] ISkpEdges* *pVal);
03614
03624 [propget, helpstring("Get the first Edge that uses this curve")]
03625 HRESULT FirstEdge([out, retval] ISkpEdge* *pVal);
03626
03637 [propget, helpstring("Get the last Edge that uses this curve")]
03638 HRESULT LastEdge([out, retval] ISkpEdge* *pVal);
03639 };
03640
03645 [
03646 object,
03647 uuid(A5A4B9B7-3384-4750-B43B-33C788E7FFC3),
03648 helpstring("ISkpArcCurve Interface"),
03649 pointer_default(unique)
03650 ]
03651 interface ISkpArcCurve : IUnknown
03652 {
03662 [propget, helpstring("Returns the radius of the arc")]
03663 HRESULT Radius([out,retval]double* pVal);
03664
03677 [helpstring("Returns the start point of the arc")]
03678 HRESULT _GetStartPoint([out]double pPoint3d[3]);
03679
03692 [helpstring("Returns the end point of the arc")]
03693 HRESULT _GetEndPoint([out]double pPoint3d[3]);
03694
03707 [helpstring("Returns the X-Axis of the arc")]
03708 HRESULT _GetXAxis([out]double pVector3d[3]);
03709
03722 [helpstring("Returns the Y-Axis of the arc")]
03723 HRESULT _GetYAxis([out]double pVector3d[3]);
03724
03737 [helpstring("Returns the center of the arc")]
03738 HRESULT _GetCenter([out]double pPoint3d[3]);
03739
03752 [helpstring("Returns the unit normal of the arc")]
03753 HRESULT _GetNormal([out]double pVector3d[3]);
03754
03764 [propget, helpstring("Returns the start point of the arc")]
03765 HRESULT StartPoint([out,retval]ISkpPoint3d** pPoint3d);
03766
03776 [propget, helpstring("Returns the end point of the arc")]
03777 HRESULT EndPoint([out,retval]ISkpPoint3d** pPoint3d);
03778
03788 [propget, helpstring("Returns the X-Axis of the arc")]
03789 HRESULT XAxis([out,retval]ISkpVector3d** pVector3d);
03790
03800 [propget, helpstring("Returns the Y-Axis of the arc")]
03801 HRESULT YAxis([out,retval]ISkpVector3d** pVector3d);
03802
03803
03813 [propget, helpstring("Returns the center of the arc")]
03814 HRESULT Center([out,retval]ISkpPoint3d** pPoint3d);
03815
03816
03826 [propget, helpstring("Returns the unit normal of the arc")]
03827 HRESULT Normal([out,retval]ISkpVector3d** pVector3d);
03828
03829
03839 [propget, helpstring("Returns the start angle of the arc")]
03840 HRESULT StartAngle([out,retval]double* pVal);
03841
03851 [propget, helpstring("Returns the end angle of the arc")]
03852 HRESULT EndAngle([out,retval]double* pVal);
03853
03863 [propget, helpstring("Returns TRUE iff the arc is a full circle")]
03864 HRESULT IsFullCircle([out,retval]BOOL* pVal);
03865
03866 };
03867
03879 [
03880 object,
03881 uuid(BD4EEF9E-B1D1-4fe1-A835-6EA9568AADC1),
03882 helpstring("ISkpLineCurve Interface"),
03883 pointer_default(unique)
03884 ]
03885 interface ISkpLineCurve : IUnknown
03886 {
03887
03900 [helpstring("The start point of the line")]
03901 HRESULT _GetStartPoint([out]double pPoint3d[3]);
03902
03915 [helpstring("The end point of the line")]
03916 HRESULT _GetEndPoint([out]double pPoint3d[3]);
03917
03927 [propget, helpstring("The start point of the line")]
03928 HRESULT StartPoint([out,retval]ISkpPoint3d** pPoint3d);
03929
03939 [propget, helpstring("The end point of the line")]
03940 HRESULT EndPoint([out,retval]ISkpPoint3d** pPoint3d);
03941
03951 [propget, helpstring("The start vertex of the line")]
03952 HRESULT StartVertex([out,retval]ISkpVertex** pStartVertex);
03953
03963 [propget, helpstring("The end vertex of the line")]
03964 HRESULT EndVertex([out,retval]ISkpVertex** pEndVertex);
03965 }
03970 [
03971 object,
03972 uuid(20131A69-C286-4b2e-9309-E8F6014DF323),
03973 helpstring("A 3d Bounding Box"),
03974 pointer_default(unique)
03975 ]
03976 interface ISkpBoundingBox3d : IUnknown
03977 {
03990 [helpstring("Get the minimum point")]
03991 HRESULT _GetMinPoint([out] double pPoint3d[3]);
03992
04005 [helpstring("Get the maximum point")]
04006 HRESULT _GetMaxPoint([out] double pPoint3d[3]);
04007
04020 [helpstring("Get the mid point")]
04021 HRESULT _GetMidPoint([out] double pPoint3d[3]);
04022
04032 [propget, helpstring("Get the minimum point")]
04033 HRESULT MinPoint([out, retval] ISkpPoint3d** pPoint3d);
04034
04044 [propget, helpstring("Get the maximum point")]
04045 HRESULT MaxPoint([out, retval] ISkpPoint3d** pPoint3d);
04046
04056 [propget, helpstring("Get the mid point")]
04057 HRESULT MidPoint([out, retval] ISkpPoint3d** pPoint3d);
04058 };
04059
04064 [
04065 object,
04066 uuid(8D3949A7-0A77-48b8-9295-EF5546998F6B),
04067 helpstring("A Collection of entities"),
04068 pointer_default(unique)
04069 ]
04070 interface ISkpEntities : IUnknown
04071 {
04079 [propget, helpstring("Returns number of Entities.")]
04080 HRESULT Count([out, retval] long *pVal);
04081
04092 [propget, helpstring("Given an index, returns an item in the collection.")]
04093 HRESULT Item([in] long Index, [out, retval] ISkpEntity* *pVal);
04105 [propget, restricted, id(-4),
04106 helpstring("returns an enumerator for the collection.")]
04107 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
04108
04109 };
04110
04115 [
04116 object,
04117 uuid(108747BB-8B0C-46ef-A371-223B849CC2CA),
04118 helpstring("A Collection of Edges"),
04119 pointer_default(unique)
04120 ]
04121 interface ISkpEdges : IUnknown
04122 {
04130 [propget, helpstring("Returns number of Edges.")]
04131 HRESULT Count([out, retval] long *pVal);
04132
04143 [propget, helpstring("Given an index, returns an item in the collection.")]
04144 HRESULT Item([in] long Index, [out, retval] ISkpEdge* *pVal);
04145
04157 [propget, restricted, id(-4),
04158 helpstring("returns an enumerator for the collection.")]
04159 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
04160
04161 };
04166 [
04167 object,
04168 uuid(2840457C-FA4F-4cbb-93D3-088DD4D4E338),
04169 helpstring("An edge"),
04170 pointer_default(unique)
04171 ]
04172 interface ISkpEdge : IUnknown
04173 {
04183 [propget, helpstring("Is this Edge smooth?")]
04184 HRESULT IsSmooth([out, retval] BOOL *pVal);
04185
04195 [propget, helpstring("Is this Edge soft?")]
04196 HRESULT IsSoft([out, retval] BOOL *pVal);
04197
04207 [propget, helpstring("The curve geometry for the edge")]
04208 HRESULT Curve([out, retval] ISkpCurve* *pVal);
04209
04219 [propget, helpstring("The start vertex of the line")]
04220 HRESULT StartVertex([out,retval]ISkpVertex** pStartVertex);
04221
04231 [propget, helpstring("The end vertex of the line")]
04232 HRESULT EndVertex([out,retval]ISkpVertex** pEndVertex);
04233
04246 [helpstring("The start Point of the edge")]
04247 HRESULT _GetStartPoint([out]double pPoint3d[3]);
04248
04261 [helpstring("The end Point of the edge")]
04262 HRESULT _GetEndPoint([out]double pPoint3d[3]);
04263
04273 [propget, helpstring("The start Point of the edge")]
04274 HRESULT StartPoint([out,retval]ISkpPoint3d** pPoint3d);
04275
04285 [propget, helpstring("The end Point of the edge")]
04286 HRESULT EndPoint([out,retval]ISkpPoint3d** pPoint3d);
04287
04297 [propget, helpstring("Get the Faces that use this Edge")]
04298 HRESULT Faces([out, retval] ISkpFaces* *pVal);
04299 };
04300
04305 [
04306 object,
04307 uuid(84AA31DA-5074-42b5-950A-F46E33EF5BB8),
04308 helpstring("An entity"),
04309 pointer_default(unique)
04310 ]
04311 interface ISkpEntity : IUnknown
04312 {
04326 [propget, helpstring("returns true iff the entity is a virtual entity - not really in the model")]
04327 HRESULT IsVirtual([out,retval]BOOL* pVal);
04328
04342 [propget, helpstring("The unique Id of the Entity")]
04343 HRESULT Id([out, retval] long *pVal);
04344
04355 [propget, helpstring("The type of this object")]
04356 HRESULT TypeName([out, retval] BSTR *pVal);
04357
04358 };
04363 [
04364 object,
04365 uuid(4E8E2CD6-3A33-41ea-A725-6579E40F08D1),
04366 helpstring("Something that can hold attributes"),
04367 pointer_default(unique)
04368 ]
04369 interface ISkpAttributeProvider : IUnknown
04370 {
04380 [propget, helpstring("Get the attributes associated with this entity")]
04381 HRESULT Attributes([out,retval]ISkpAttributes** pVal);
04382 }
04387 [
04388 object,
04389 uuid(85195406-7341-443c-AFCD-395EF30954F6),
04390 helpstring("A drawable entity"),
04391 pointer_default(unique)
04392 ]
04393 interface ISkpDrawingElement : IUnknown
04394 {
04413 [propget, helpstring("property IsVisible")]
04414 HRESULT IsVisible([out, retval] BOOL *pVal);
04415
04425 [propget, helpstring("Is the Entity highlighted?")]
04426 HRESULT IsHighlighted([out, retval] BOOL *pVal);
04427
04438 [propget, helpstring("Does the entity have a material?")]
04439 HRESULT HasMaterial([out, retval] BOOL *pVal);
04440
04462 [propget, helpstring("Get the material of the entity")]
04463 HRESULT Material([out, retval] ISkpMaterial* *pVal);
04464
04476 [propget, helpstring("property Layer")]
04477 HRESULT Layer([out, retval] ISkpLayer* *pVal);
04486 [propget, helpstring("Retrieves the bounding box for this element")]
04487 HRESULT BoundingBox([out,retval]ISkpBoundingBox3d **ppBBox);
04497 [propget, helpstring("property CastsShadows")]
04498 HRESULT CastsShadows([out, retval] BOOL *pVal);
04508 [propget, helpstring("property ReceivesShadows")]
04509 HRESULT ReceivesShadows([out, retval] BOOL *pVal);
04510 };
04511
04512
04513
04524 [
04525 object,
04526 uuid(54860340-05E1-4837-AEFC-BD265F7D9375),
04527 helpstring("A polygon mesh"),
04528 pointer_default(unique)
04529 ]
04530 interface ISkpPolygonMesh : IUnknown
04531 {
04541 [propget, helpstring("The number of polygons")]
04542 HRESULT NumPolygons([out, retval] long *pVal);
04543
04553 [propget, helpstring("The number of points")]
04554 HRESULT NumPoints([out, retval] long *pVal);
04555
04569 [helpstring("Get a point given a 1 based index")]
04570 HRESULT _GetPoint([in] long nIndex, [out] double pPoint3d[3]);
04571
04586 [helpstring("Get a point in a polygon")]
04587 HRESULT _GetPolygonPoint([in] long nPoly, [in] long nPoint, [out] double pPoint3d[3]);
04588
04602 [helpstring("Get the front UV(Q) point at the 1-based specified index")]
04603 HRESULT _GetFrontUVPoint([in] long nIndex, [out] double pPoint3d[3]);
04604
04618 [helpstring("Get the back UV(Q) point at the 1-based specified index")]
04619 HRESULT _GetBackUVPoint([in] long nIndex, [out] double pPoint3d[3]);
04620
04634 [helpstring("Get the vertex normal at the 1-based specified index")]
04635 HRESULT _GetVertexNormal([in] long nIndex, [out] double pVector3d[3]);
04636
04647 [propget, helpstring("Get a point given a 1 based index")]
04648 HRESULT Point([in] long nIndex, [out, retval] ISkpPoint3d* *pPoint3d);
04649
04660 [helpstring("Get the number of points in one of the polygons")]
04661 HRESULT CountPolygonPoints([in] long nPoly, [out, retval] long *pVal);
04662
04681 [helpstring("Get the index for a point in a polygon")]
04682 HRESULT GetPolygonPointIndex([in] long nPoly, [in] long nPoint, [out, retval] long *pVal);
04683
04695 [propget, helpstring("Get a point in a polygon")]
04696 HRESULT PolygonPoint([in] long nPoly, [in] long nPoint, [out, retval] ISkpPoint3d* *pPoint3d);
04697
04708 [propget, helpstring("Get the front UV(Q) point at the 1-based specified index")]
04709 HRESULT FrontUVPoint([in] long nIndex, [out, retval] ISkpPoint3d**pPoint3d);
04710
04721 [propget, helpstring("Get the back UV(Q) point at the 1-based specified index")]
04722 HRESULT BackUVPoint([in] long nIndex, [out, retval] ISkpPoint3d**pPoint3d);
04723
04734 [propget, helpstring("Get the vertex normal at the 1-based specified index")]
04735 HRESULT VertexNormal([in] long nIndex, [out, retval] ISkpVector3d** pVector3d);
04736 };
04778 [
04779 object,
04780 uuid(02228DDC-5252-499a-B8DA-EC7F1BBA1ED8),
04781 helpstring("A face"),
04782 pointer_default(unique)
04783 ]
04784 interface ISkpFace : IUnknown
04785 {
04795 [propget, helpstring("Get the EdgeUses that are used by this Face")]
04796 HRESULT EdgeUses([out, retval] ISkpEdgeUses* *pVal);
04797
04812 [propget, helpstring("Get the Loops that are used by this Face")]
04813 HRESULT Loops([out, retval] ISkpLoops* *pVal);
04814
04824 [propget, helpstring("Get the outer loop of this face")]
04825 HRESULT OuterLoop([out,retval] ISkpLoop** pVal);
04826
04836 [propget, helpstring("Get the Openings for this Face")]
04837 HRESULT Openings([out, retval] ISkpOpenings* *pVal);
04838
04853 [propget, helpstring("Get the Edges that are used by this Face")]
04854 HRESULT Edges([out, retval] ISkpEdges* *pVal);
04855
04866 [propget, helpstring("Get the Vertices that are used by this Face")]
04867 HRESULT Vertices([out, retval] ISkpVertices* *pVal);
04868
04879 [propget, helpstring("The area of the face")]
04880 HRESULT Area([out, retval] double* pVal);
04881
04892 [propget, helpstring("The surface geometry (a plane) for the face")]
04893 HRESULT Plane([out, retval] ISkpPlane* *pVal);
04894
04912 [helpstring("Tesselate the face and return a PolygonMesh")]
04913 HRESULT CreateMesh([in] unsigned long type,
04914 [in] ISkpCorrectPerspective* pPerspective,
04915 [out, retval] ISkpPolygonMesh* *pVal);
04916
04927 [propget, helpstring("Get the back material of the entity")]
04928 HRESULT BackMaterial([out, retval] ISkpMaterial* *pVal);
04929
04940 [propget, helpstring("Get the front material of the entity")]
04941 HRESULT FrontMaterial([out, retval] ISkpMaterial* *pVal);
04942
04955 [helpstring("Get the ComponentInstances that are attached to this face")]
04956 HRESULT GetAttachedComponentInstances([out,retval]ISkpComponentInstances** pVal);
04957
04975 [helpstring("Get a UV Helper")]
04976 HRESULT GetUVHelper([in]BOOL front, [in]BOOL back,
04977 [in] ISkpCorrectPerspective* pPerspective,
04978 [out, retval]ISkpUVHelper** pHelper);
05004 [helpstring("Get a UV Helper")]
05005 HRESULT GetUVHelperWithTextureHandle([in]BOOL front, [in]BOOL back,
05006 [in] ISkpCorrectPerspective* pPerspective,
05007 [in] long textureHandle,
05008 [out, retval]ISkpUVHelper** pHelper);
05009
05030 [helpstring("Tesselate the face and return a PolygonMesh")]
05031 HRESULT CreateMeshWithUVHelper([in] unsigned long type,
05032 [in] ISkpUVHelper* pUVHelper,
05033 [out, retval] ISkpPolygonMesh* *pVal);
05034
05051 [helpstring("Get the number of back pushpins, the pushpins, and the \
05052 projection vector.")]
05053 HRESULT GetFrontPushPins([out] unsigned short* length,
05054 [out] double pushpins[16], [out] double projection_vector[3]);
05055
05072 [helpstring("Get the number of back pushpins, the pushpins, and the \
05073 projection vector.")]
05074 HRESULT GetBackPushPins([out] unsigned short* length,
05075 [out] double pushpins[16], [out] double projection_vector[3]);
05076 }
05077
05082 [
05083 object,
05084 uuid(AF7B67C6-151F-469e-B683-998B7B7D8FA2),
05085 helpstring("A Collection of Faces"),
05086 pointer_default(unique)
05087 ]
05088 interface ISkpFaces : IUnknown
05089 {
05098 [propget, helpstring("Returns number of Faces.")]
05099 HRESULT Count([out, retval] long *pVal);
05100
05111 [propget, helpstring("Given an index, returns an item in the collection.")]
05112 HRESULT Item([in] long Index, [out, retval] ISkpFace* *pVal);
05113
05125 [propget, restricted, id(-4),
05126 helpstring("returns an enumerator for the collection.")]
05127 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
05128
05129 };
05138 [
05139 object,
05140 uuid(B1808685-CEF0-42e2-AA0F-8F9570C6F09D),
05141 helpstring("A collector of textures [internal]"),
05142 pointer_default(unique)
05143 ]
05144 interface ISkpCorrectPerspective : IUnknown
05145 {
05146 }
05147
05156 [
05157 object,
05158 uuid(2EE945F0-DBAE-4ff3-8119-64AF9378C01D),
05159 helpstring("A helper to compute UV texture coordinates"),
05160 pointer_default(unique)
05161 ]
05162 interface ISkpUVHelper : IUnknown
05163 {
05179 HRESULT GetFrontUVQ([in]double x, [in]double y, [in]double z,
05180 [out]double* u, [out]double* v, [out]double* q);
05196 HRESULT GetBackUVQ([in]double x, [in]double y, [in]double z,
05197 [out]double* u, [out]double* v, [out]double* q);
05198 }
05199
05207 [
05208 object,
05209 uuid(BBD2EED1-8DA6-4f4d-8E92-8A18083104B7),
05210 helpstring("A writer of textures"),
05211 pointer_default(unique)
05212 ]
05213 interface ISkpTextureWriter : IUnknown
05214 {
05237 [helpstring("Load the given face into the writer")]
05238 HRESULT LoadFace([in] ISkpFace* pFace, [in] BOOL bFront, [out,retval]long* pHandle);
05239
05259 [helpstring("Load the given Image into the writer")]
05260 HRESULT LoadImage([in] ISkpImage* pImage, [out,retval]long* pHandle);
05261
05285 [helpstring("Load the given Component Instance into the writer")]
05286 HRESULT LoadComponentInstance([in] ISkpComponentInstance* pComponentInstance, [out,retval]long* pHandle);
05287
05300 [propget, helpstring("Count the textures in the writer")]
05301 HRESULT Count([out,retval]long* pVal);
05302
05319 [helpstring("Get the texture handle for the given face - face must have been loaded")]
05320 HRESULT GetTextureHandleFromFace([in]ISkpFace *pFace, [in]BOOL bFront, [out,retval]long *pVal);
05321
05322
05337 [helpstring("Get the texture handle for the given component - which must have been loaded")]
05338 HRESULT GetTextureHandleFromComponentInstance([in]ISkpComponentInstance *pInst, [out,retval]long *pVal);
05339
05354 [helpstring("Get the texture handle for the given component - which must have been loaded")]
05355 HRESULT GetTextureHandleFromImage([in]ISkpImage *pInst, [out,retval]long *pVal);
05356
05374 [helpstring("Get the file to which the texture represented by the given handle will be written")]
05375 HRESULT GetTextureFile([in]long textureHandle, [out,retval]BSTR* pFileName);
05376
05395 [helpstring("Write all the textures in the writer to the given directory name")]
05396 HRESULT WriteAllTextures([in]BSTR directoryName, [in]BOOL use83);
05397
05417 [helpstring("Write the texture associated with this face to the given file name - face must have been loaded")]
05418 HRESULT WriteTextureFileFromFace([in]ISkpFace* pFace, [in] BOOL bFront, [in]BSTR fileName);
05419
05438 [helpstring("Write the texture associated with this Component Instance to the given file name - Component Instance must have been loaded")]
05439 HRESULT WriteTextureFileFromComponentInstance([in]ISkpComponentInstance* pComponentInstance, [in]BSTR fileName);
05440
05459 [helpstring("Write the texture associated with this Image to the given file name - Image must have been loaded")]
05460 HRESULT WriteTextureFileFromImage([in]ISkpImage* pImage, [in]BSTR fileName);
05461
05483 [helpstring("Write the texture identified by the given handle to the given file name")]
05484 HRESULT WriteTextureFileFromHandle([in]long textureHandle, [in]BSTR fileName);
05485
05508 [helpstring("Write the texture identified by the given handle to the given file name")]
05509 HRESULT WriteTextureFileFromHandleOptimize([in]long textureHandle,
05510 [in]BSTR fileName, [in]long optimize);
05511
05512 };
05513
05518 [
05519 object,
05520 uuid(5470F0F3-7883-4ef2-881F-9CA1DA8DD0E8),
05521 helpstring("An improved writer of textures"),
05522 pointer_default(unique)
05523 ]
05524 interface ISkpTextureWriter2 : ISkpTextureWriter
05525 {
05549 [helpstring("Load the given Group into the writer")]
05550 HRESULT LoadGroup([in] ISkpGroup* pGroup, [out,retval]long* pHandle);
05569 [helpstring("Write the texture associated with this Group to the given file name - Group must have been loaded")]
05570 HRESULT WriteTextureFileFromGroup([in]ISkpGroup* pGroup, [in]BSTR fileName);
05571
05572
05587 [helpstring("Get the texture handle for the given group - which must have been loaded")]
05588 HRESULT GetTextureHandleFromGroup([in]ISkpGroup *pGroup, [out,retval]long *pVal);
05589
05605 [helpstring("Load the given Layer into the writer")]
05606 HRESULT LoadLayer([in] ISkpLayer* pLayer, [out,retval]long* pHandle);
05625 [helpstring("Write the texture associated with this layer to the given file name - the layer must have been loaded")]
05626 HRESULT WriteTextureFileFromLayer([in]ISkpLayer* pLayer, [in]BSTR fileName);
05627
05628
05643 [helpstring("Get the texture handle for the given layer - which must have been loaded")]
05644 HRESULT GetTextureHandleFromLayer([in]ISkpLayer *pLayer, [out,retval]long *pVal);
05645 }
05646
05651 [
05652 object,
05653 uuid(43CAB51D-29DF-4ad0-8DF1-3D461D32885C),
05654 helpstring("A Collection of Vertices"),
05655 pointer_default(unique)
05656 ]
05657 interface ISkpVertices : IUnknown
05658 {
05666 [propget, helpstring("Returns number of Vertices.")]
05667 HRESULT Count([out, retval] long *pVal);
05668
05679 [propget, helpstring("Given an index, returns an item in the collection.")]
05680 HRESULT Item([in] long Index, [out, retval] ISkpVertex* *pVal);
05681
05693 [propget, restricted, id(-4),
05694 helpstring("returns an enumerator for the collection.")]
05695 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
05696
05697 };
05702 [
05703 object,
05704 uuid(EB0A8A47-D3D3-486e-8F96-626E8F0A1670),
05705 helpstring("ISkpLayer Interface"),
05706 pointer_default(unique)
05707 ]
05708 interface ISkpLayer : IUnknown
05709 {
05718 [propget, helpstring("The Layer name")]
05719 HRESULT Name([out, retval] BSTR *pVal);
05720
05731 [propget, helpstring("Is the layer visible")]
05732 HRESULT IsVisible([out, retval] BOOL *pVal);
05733
05747 [propget, helpstring("The Color for this Layer")]
05748 HRESULT Color([out, retval] OLE_COLOR *pVal);
05749
05760 [propget] HRESULT Material([out,retval]ISkpMaterial** ppMat);
05761 }
05766 [
05767 object,
05768 uuid(D00F5B9C-77DD-4eaa-9885-AEB6EEB177CF),
05769 helpstring("A Collection of Layers"),
05770 pointer_default(unique)
05771 ]
05772 interface ISkpLayers : IUnknown
05773 {
05781 [propget, helpstring("Returns number of Layers.")]
05782 HRESULT Count([out, retval] long *pVal);
05783
05794 [propget, helpstring("Given an index, returns an item in the collection.")]
05795 HRESULT Item([in] long Index, [out, retval] ISkpLayer* *pVal);
05796
05808 [propget, restricted, id(-4),
05809 helpstring("returns an enumerator for the collection.")]
05810 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
05811
05812 };
05813
05818 [
05819 object,
05820 uuid(E405969E-3C7C-4e74-B73C-5EA278E9EB71),
05821 helpstring("ISkpMaterial Interface"),
05822 pointer_default(unique)
05823 ]
05824 interface ISkpMaterial : IUnknown
05825 {
05835 [propget, helpstring("The name of the material")]
05836 HRESULT Name([out, retval] BSTR *pVal);
05837
05857 [propget, helpstring("Is the material a color?")]
05858 HRESULT IsColor([out, retval] BOOL *pVal);
05859
05880 [propget, helpstring("Is the material a texture?")]
05881 HRESULT IsTexture([out, retval] BOOL *pVal);
05882
05900 [propget, helpstring("The color of the material (explicit or average of texture)")]
05901 HRESULT Color([out, retval] OLE_COLOR *pVal);
05902
05920 [propget, helpstring("Get the texture of the material")]
05921 HRESULT Texture([out, retval] ISkpTexture* *pVal);
05922
05929 [propget, helpstring("Get the alpha associated with this material")]
05930 HRESULT Alpha([out,retval]double* pAlpha);
05931
05937 [propget, helpstring("Get whether or not this material uses the alpha property")]
05938 HRESULT UsesAlpha([out,retval]BOOL* pVal);
05939
05947 [propget, helpstring("Does this material draw with transparency?")]
05948 HRESULT IsDrawnTransparent([out, retval] BOOL *pVal);
05949
05956 [propget, helpstring("Does this material have a transparent texture?")]
05957 HRESULT HasTextureAlphaChannel([out, retval] BOOL *pVal);
05958
05959 }
05964 [
05965 object,
05966 uuid(57241BDB-31FA-4831-A00B-7B56733F07F8),
05967 helpstring("A Collection of Materials"),
05968 pointer_default(unique)
05969 ]
05970 interface ISkpMaterials : IUnknown
05971 {
05979 [propget, helpstring("Returns number of Materials.")]
05980 HRESULT Count([out, retval] long *pVal);
05981
05992 [propget, helpstring("Given an index, returns an item in the collection.")]
05993 HRESULT Item([in] long Index, [out, retval] ISkpMaterial* *pVal);
05994
06006 [propget, restricted, id(-4),
06007 helpstring("returns an enumerator for the collection.")]
06008 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
06009
06010 };
06011
06016 [
06017 object,
06018 uuid(FE2473EA-2BF1-460b-BC15-3F9560F78BA0),
06019 helpstring("ISkpTexture Interface"),
06020 pointer_default(unique)
06021 ]
06022 interface ISkpTexture : IUnknown
06023 {
06033 [propget, helpstring("The average color of the texture")]
06034 HRESULT Color([out, retval] OLE_COLOR *pVal);
06035
06046 [propget, helpstring("The name of the image file")]
06047 HRESULT Filename([out, retval] BSTR *pVal);
06048
06060 [propget, helpstring("The full pathname of the image file")]
06061 HRESULT Fullname([out, retval] BSTR *pVal);
06062
06072 [propget, helpstring("The size of the image in the X direction")]
06073 HRESULT XScale([out, retval] double *pVal);
06074
06084 [propget, helpstring("The size of the image in the Y direction")]
06085 HRESULT YScale([out, retval] double *pVal);
06105 [helpstring("Writes the image to the given file")]
06106 HRESULT WriteToFile([in] BSTR filename);
06107 }
06112 [
06113 object,
06114 uuid(08FAA070-8E8D-49aa-B691-350E803A593B),
06115 helpstring("A Collection of Textures"),
06116 pointer_default(unique)
06117 ]
06118 interface ISkpTextures : IUnknown
06119 {
06127 [propget, helpstring("Returns number of Textures.")]
06128 HRESULT Count([out, retval] long *pVal);
06129
06140 [propget, helpstring("Given an index, returns an item in the collection.")]
06141 HRESULT Item([in] long Index, [out, retval] ISkpTexture* *pVal);
06142
06154 [propget, restricted, id(-4),
06155 helpstring("returns an enumerator for the collection.")]
06156 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
06157
06158 };
06159
06182 [
06183 object,
06184 uuid(0EBA7013-9266-4f35-9056-B3187000973B),
06185 helpstring("A ISkpTransform"),
06186 pointer_default(unique)
06187 ]
06188 interface ISkpTransform : IUnknown
06189 {
06202 [helpstring("Get the 4x4 entries in this transform")]
06203 HRESULT GetData([out] double data[16]);
06204
06214 [propget, helpstring("Is this the identity transform?")]
06215 HRESULT IsIdentity([out, retval] BOOL *pVal);
06216 };
06217
06222 [
06223 object,
06224 uuid(9E729685-B603-47d4-AF2C-049A89AF95B3),
06225 helpstring("A ISkpComponentDefinition"),
06226 pointer_default(unique)
06227 ]
06228 interface ISkpComponentDefinition : IUnknown
06229 {
06247 typedef [v1_enum] enum
06248 {
06249 Normal = 1,
06250 Group = 2,
06251 Image = 3
06252 } ComponentDefinitionType;
06253
06263 [propget, helpstring("The Component name")]
06264 HRESULT Name([out, retval] BSTR *pVal);
06265
06275 [propget, helpstring("The Component description")]
06276 HRESULT Description([out, retval] BSTR *pVal);
06277
06287 [propget, helpstring("The Component GUID")]
06288 HRESULT Guid([out, retval] BSTR *pVal);
06289
06307 [propget, helpstring("Is this an internal component?")]
06308 HRESULT IsInternal([out, retval] BOOL *pVal);
06309
06321 [propget, helpstring("The path to the file that this was loaded from")]
06322 HRESULT Path([out, retval] BSTR *pVal);
06323
06338 [propget, helpstring("The time the component was loaded if it is not an internal component")]
06339 HRESULT LoadTime([out, retval] DATE *pVal);
06340
06363 [propget, helpstring("The behaviors of the component")]
06364 HRESULT Behaviors([out, retval] ISkpNamedValues* *pVal);
06365
06375 [propget, helpstring("The openings that the component cuts")]
06376 HRESULT Openings([out, retval] ISkpOpenings** pVal);
06377
06390 [helpstring("The default insertion point")]
06391 HRESULT _GetInsertionPoint([out, retval] double pPoint3d[3]);
06401 [propget, helpstring("The default insertion point")]
06402 HRESULT InsertionPoint([out, retval] ISkpPoint3d** pPoint3d);
06403
06413 [propget]
06414 HRESULT Type([out,retval]ComponentDefinitionType* pType);
06415
06416 };
06417
06422 [
06423 object,
06424 uuid(EE7FB267-8EA2-4a5c-9121-28E45FC46AF3),
06425 helpstring("A Collection of ComponentDefinitions"),
06426 pointer_default(unique)
06427 ]
06428 interface ISkpComponentDefinitions : IUnknown
06429 {
06437 [propget, helpstring("Returns number of ComponentDefinitions.")]
06438 HRESULT Count([out, retval] long *pVal);
06439
06450 [propget, helpstring("Given an index, returns an item in the collection.")]
06451 HRESULT Item([in] long Index, [out, retval] ISkpComponentDefinition* *pVal);
06452
06464 [propget, restricted, id(-4),
06465 helpstring("returns an enumerator for the collection.")]
06466 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
06467
06468 };
06469
06474 [
06475 object,
06476 uuid(CE351997-ABF3-434f-88D9-CDA079FA6873),
06477 helpstring("A ISkpComponentInstance"),
06478 pointer_default(unique)
06479 ]
06480 interface ISkpComponentInstance : IUnknown
06481 {
06491 [propget, helpstring("The ComponentDefinition")]
06492 HRESULT ComponentDefinition([out, retval] ISkpComponentDefinition* *pVal);
06493
06504 [propget, helpstring("Transformation to model space")]
06505 HRESULT Transform([out, retval] ISkpTransform* *pVal);
06506
06516 [helpstring("Get the Faces and ComponentInstances to which this ComponentInstance is attached")]
06517 HRESULT GetObjectsAttachedTo([out,retval] ISkpEntities** pVal);
06518
06529 [helpstring("Get the ComponentInstances that are attached to this component instance")]
06530 HRESULT GetAttachedComponentInstances([out,retval]ISkpComponentInstances** pVal);
06531
06542 [helpstring("Save the component instance to a SKP file")]
06543 HRESULT SaveAs([in] BSTR fileName);
06544
06553 [propget, helpstring("Returns the name of this instance")]
06554 HRESULT Name([out,retval]BSTR* pName);
06555 }
06556
06561 [
06562 object,
06563 uuid(152994E6-DD1D-4c50-AADD-BB7CDD25593E),
06564 helpstring("A Collection of ComponentInstances"),
06565 pointer_default(unique)
06566 ]
06567 interface ISkpComponentInstances : IUnknown
06568 {
06576 [propget, helpstring("Returns number of ComponentInstances.")]
06577 HRESULT Count([out, retval] long *pVal);
06578
06589 [propget, helpstring("Given an index, returns an item in the collection.")]
06590 HRESULT Item([in] long Index, [out, retval] ISkpComponentInstance* *pVal);
06591
06603 [propget, restricted, id(-4),
06604 helpstring("returns an enumerator for the collection.")]
06605 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
06606
06607 };
06608
06609
06629 [
06630 object,
06631 uuid(31B41CF2-8C8A-48ba-B8D8-837B7E86676F),
06632 helpstring("A ISkpEdgeUse"),
06633 pointer_default(unique)
06634 ]
06635 interface ISkpEdgeUse : IUnknown
06636 {
06646 [propget, helpstring("The Edge that this is a use of")]
06647 HRESULT Edge([out, retval] ISkpEdge* *pVal);
06648
06658 [propget, helpstring("The Loop that uses this")]
06659 HRESULT Loop([out, retval] ISkpLoop* *pVal);
06660
06670 [propget, helpstring("The Face that uses this")]
06671 HRESULT Face([out, retval] ISkpFace* *pVal);
06672
06682 [propget, helpstring("The partners of this EdgeUse")]
06683 HRESULT Partners([out, retval] ISkpEdgeUses* *pVal);
06684
06698 [propget, helpstring("Is the EdgeUse reversed relative to its Edge?")]
06699 HRESULT IsReversed([out, retval] BOOL *pVal);
06700
06711 [propget, helpstring("The previous edgeuse in the loop")]
06712 HRESULT Previous([out, retval] ISkpEdgeUse* *pVal);
06713
06724 [propget, helpstring("The next edgeuse in the loop")]
06725 HRESULT Next([out, retval] ISkpEdgeUse* *pVal);
06735 [propget, helpstring("The start vertex of the edgeuse")]
06736 HRESULT StartVertex([out,retval]ISkpVertex** pStartVertex);
06737
06747 [propget, helpstring("The end vertex of the edgeuse")]
06748 HRESULT EndVertex([out,retval]ISkpVertex** pEndVertex);
06749
06762 [helpstring("The start Point of the edgeuse")]
06763 HRESULT _GetStartPoint([out]double pPoint3d[3]);
06764
06777 [helpstring("The end Point of the edgeuse")]
06778 HRESULT _GetEndPoint([out]double pPoint3d[3]);
06788 [propget, helpstring("The start Point of the edgeuse")]
06789 HRESULT StartPoint([out,retval]ISkpPoint3d** pVal);
06790
06800 [propget, helpstring("The end Point of the edgeuse")]
06801 HRESULT EndPoint([out,retval]ISkpPoint3d** pVal);
06802
06812 [propget, helpstring("The start vertex normal of the edgeuse")]
06813 HRESULT StartVertexNormal([out,retval]ISkpVector3d** pVal);
06823 [propget, helpstring("The end vertex normal of the edgeuse")]
06824 HRESULT EndVertexNormal([out,retval]ISkpVector3d** pVal);
06825 };
06826
06831 [
06832 object,
06833 uuid(0E8633C5-2129-45e0-8628-15FE25D314DA),
06834 helpstring("A Collection of EdgeUses"),
06835 pointer_default(unique)
06836 ]
06837 interface ISkpEdgeUses : IUnknown
06838 {
06846 [propget, helpstring("Returns number of EdgeUses.")]
06847 HRESULT Count([out, retval] long *pVal);
06848
06859 [propget, helpstring("Given an index, returns an item in the collection.")]
06860 HRESULT Item([in] long Index, [out, retval] ISkpEdgeUse* *pVal);
06861
06873 [propget, restricted, id(-4),
06874 helpstring("returns an enumerator for the collection.")]
06875 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
06876
06877 };
06885 [
06886 object,
06887 uuid(42798DB5-F496-4f69-9555-81FEB05573F0),
06888 helpstring("A ISkpLoop"),
06889 pointer_default(unique)
06890 ]
06891 interface ISkpLoop : IUnknown
06892 {
06907 [propget, helpstring("Get the Edges that bound this Loop")]
06908 HRESULT Edges([out, retval] ISkpEdges* *pVal);
06909
06919 [propget, helpstring("Get the EdgeUses that define this Loop")]
06920 HRESULT EdgeUses([out, retval] ISkpEdgeUses* *pVal);
06921
06932 [propget, helpstring("Get the Vertices that are used by this Loop")]
06933 HRESULT Vertices([out, retval] ISkpVertices* *pVal);
06934
06935
06945 [propget, helpstring("The Face that this Loop bounds")]
06946 HRESULT Face([out, retval] ISkpFace* *pVal);
06947
06948
06959 [propget, helpstring("Determine if this is an outer loop")]
06960 HRESULT IsOuterLoop([out, retval] BOOL *pVal);
06961
06962
06972 [propget, helpstring("Determine if the loop is convex")]
06973 HRESULT IsConvex([out, retval] BOOL *pVal);
06974 };
06975
06980 [
06981 object,
06982 uuid(CBCCFB83-CD00-45a1-A631-07DCBA4B842F),
06983 helpstring("A Collection of Loops"),
06984 pointer_default(unique)
06985 ]
06986 interface ISkpLoops : IUnknown
06987 {
06995 [propget, helpstring("Returns number of Loops.")]
06996 HRESULT Count([out, retval] long *pVal);
06997
07008 [propget, helpstring("Given an index, returns an item in the collection.")]
07009 HRESULT Item([in] long Index, [out, retval] ISkpLoop* *pVal);
07010
07022 [propget, restricted, id(-4),
07023 helpstring("returns an enumerator for the collection.")]
07024 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
07025
07026 };
07031 [
07032 object,
07033 uuid(A17CE198-CFCF-4f39-80A2-6A6512CF1E4B),
07034 helpstring("ISkpPolyline3d Interface"),
07035 pointer_default(unique)
07036 ]
07037 interface ISkpPolyline3d : IUnknown
07038 {
07047 [propget, helpstring("The number of points in the polyline")]
07048 HRESULT Count([out, retval] long *pVal);
07049
07050
07065 [helpstring("Get point at a given index")]
07066 HRESULT _GetPosition([in] long nIndex, [out] double pPoint3d[3]);
07067
07079 [propget, helpstring("Get point at a given index")]
07080 HRESULT Position([in] long nIndex, [out, retval] ISkpPoint3d** pPoint3d);
07081 };
07086 [
07087 object,
07088 uuid(5BF6968B-7C46-4045-A6D8-5CF4CC600C7D),
07089 helpstring("A Collection of Polyline3ds"),
07090 pointer_default(unique)
07091 ]
07092 interface ISkpPolyline3ds : IUnknown
07093 {
07101 [propget, helpstring("Returns number of Polyline3ds.")]
07102 HRESULT Count([out, retval] long *pVal);
07103
07114 [propget, helpstring("Given an index, returns an item in the collection.")]
07115 HRESULT Item([in] long Index, [out, retval] ISkpPolyline3d* *pVal);
07116
07128 [propget, restricted, id(-4),
07129 helpstring("returns an enumerator for the collection.")]
07130 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
07131
07132 };
07133
07138 [
07139 object,
07140 uuid(1BBD3AAA-C3A2-4c54-B8EC-FDD3A148BBFB),
07141 helpstring("A ISkpConstructionLine"),
07142 pointer_default(unique)
07143 ]
07144 interface ISkpConstructionLine : IUnknown
07145 {
07158 [helpstring("A point on the line")]
07159 HRESULT _GetPosition([out] double pPoint3d[3]);
07160
07173 [helpstring("The direction of the line")]
07174 HRESULT _GetDirection([out] double pVector3d[3]);
07175
07185 [propget, helpstring("A point on the line")]
07186 HRESULT Position([out, retval] ISkpPoint3d** pPoint3d);
07187
07197 [propget, helpstring("The direction of the line")]
07198 HRESULT Direction([out, retval] ISkpVector3d** pVector3d);
07199 };
07200
07205 [
07206 object,
07207 uuid(EA8BDFA0-D3A0-4196-923B-65E39468EBC6),
07208 helpstring("A Collection of ConstructionLines"),
07209 pointer_default(unique)
07210 ]
07211 interface ISkpConstructionLines : IUnknown
07212 {
07220 [propget, helpstring("Returns number of ConstructionLines.")]
07221 HRESULT Count([out, retval] long *pVal);
07222
07233 [propget, helpstring("Given an index, returns an item in the collection.")]
07234 HRESULT Item([in] long Index, [out, retval] ISkpConstructionLine* *pVal);
07235
07247 [propget, restricted, id(-4),
07248 helpstring("returns an enumerator for the collection.")]
07249 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
07250
07251 };
07256 [
07257 object,
07258 uuid(D14336D5-5378-4b8a-8BEE-A35D92CAEA86),
07259 helpstring("A ISkpConstructionPoint"),
07260 pointer_default(unique)
07261 ]
07262 interface ISkpConstructionPoint : IUnknown
07263 {
07276 [helpstring("The position of the point")]
07277 HRESULT _GetPosition([out] double pPoint3d[3]);
07278
07288 [propget, helpstring("The position of the point")]
07289 HRESULT Position([out, retval] ISkpPoint3d** pPoint3d);
07290
07300 [propget, helpstring("Determine if this is displayed as a line")]
07301 HRESULT DisplayAsLine([out, retval] BOOL* pVal);
07314 [helpstring("The position of the point")]
07315 HRESULT _GetFromPosition([out] double pPoint3d[3]);
07316
07326 [propget, helpstring("The position of the point")]
07327 HRESULT FromPosition([out, retval] ISkpPoint3d** pPoint3d);
07328
07329 };
07330
07335 [
07336 object,
07337 uuid(B1409D01-70CB-4ac8-93C2-94A406C42BFB),
07338 helpstring("A Collection of ConstructionPoints"),
07339 pointer_default(unique)
07340 ]
07341 interface ISkpConstructionPoints : IUnknown
07342 {
07350 [propget, helpstring("Returns number of ConstructionPoints.")]
07351 HRESULT Count([out, retval] long *pVal);
07352
07363 [propget, helpstring("Given an index, returns an item in the collection.")]
07364 HRESULT Item([in] long Index, [out, retval] ISkpConstructionPoint* *pVal);
07365
07377 [propget, restricted, id(-4),
07378 helpstring("returns an enumerator for the collection.")]
07379 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
07380
07381 };
07387 [
07388 object,
07389 uuid(92868017-548A-40aa-843E-19F20114D00A),
07390 helpstring("A ISkpGroup"),
07391 pointer_default(unique)
07392 ]
07393 interface ISkpGroup : IUnknown
07394 {
07404 [propget, helpstring("The Name")]
07405 HRESULT Name([out, retval] BSTR *pVal);
07406
07416 [propget, helpstring("The Description")]
07417 HRESULT Description([out, retval] BSTR *pVal);
07418
07429 [propget, helpstring("Transformation to model space")]
07430 HRESULT Transform([out, retval] ISkpTransform* *pVal);
07431
07442 [helpstring("Save the component instance to a SKP file")]
07443 HRESULT SaveAs([in] BSTR fileName);
07444
07445 };
07446
07451 [
07452 object,
07453 uuid(0D7263FC-4F37-46ec-B518-4FF92D40BC3D),
07454 helpstring("A Collection of Groups"),
07455 pointer_default(unique)
07456 ]
07457 interface ISkpGroups : IUnknown
07458 {
07466 [propget, helpstring("Returns number of Groups.")]
07467 HRESULT Count([out, retval] long *pVal);
07468
07479 [propget, helpstring("Given an index, returns an item in the collection.")]
07480 HRESULT Item([in] long Index, [out, retval] ISkpGroup* *pVal);
07481
07493 [propget, restricted, id(-4),
07494 helpstring("returns an enumerator for the collection.")]
07495 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
07496
07497 };
07498
07504 [
07505 object,
07506 uuid(355842C5-1938-4120-93D9-A9126147400C),
07507 helpstring("A ISkpImage"),
07508 pointer_default(unique)
07509 ]
07510 interface ISkpImage : IUnknown
07511 {
07521 [propget, helpstring("Transformation to model space")]
07522 HRESULT Transform([out, retval] ISkpTransform* *pVal);
07523
07533 [propget, helpstring("The path of the image file")]
07534 HRESULT Path([out, retval] BSTR *pVal);
07535
07547 [propget, helpstring("The width of the image in the model")]
07548 HRESULT Width([out, retval] double* pVal);
07549
07561 [propget, helpstring("The height of the image in the model")]
07562 HRESULT Height([out, retval] double* pVal);
07563
07575 [propget, helpstring("The width of the image in pixels")]
07576 HRESULT PixelWidth([out, retval] long* pVal);
07577
07589 [propget, helpstring("The height of the image in pixels")]
07590 HRESULT PixelHeight([out, retval] long* pVal);
07591
07603 [propget, helpstring("The rotation about the image's z-axis (or normal)")]
07604 HRESULT ZRotation([out, retval] double* pVal);
07605
07615 [propget, helpstring("The origin of the image")]
07616 HRESULT Origin([out, retval] ISkpPoint3d** pVal);
07626 [propget, helpstring("The normal to the image")]
07627 HRESULT Normal([out, retval] ISkpVector3d** pVal);
07637 [propget, helpstring("The Component name")]
07638 HRESULT Name([out, retval] BSTR *pVal);
07639 };
07640
07641
07646 [
07647 object,
07648 uuid(80EC0989-9FE2-4996-A93C-8DD0611FE3B7),
07649 helpstring("A Collection of Images"),
07650 pointer_default(unique)
07651 ]
07652 interface ISkpImages : IUnknown
07653 {
07661 [propget, helpstring("Returns number of Images.")]
07662 HRESULT Count([out, retval] long *pVal);
07663
07674 [propget, helpstring("Given an index, returns an item in the collection.")]
07675 HRESULT Item([in] long Index, [out, retval] ISkpImage* *pVal);
07676
07688 [propget, restricted, id(-4),
07689 helpstring("returns an enumerator for the collection.")]
07690 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
07691
07692 };
07697 [
07698 object,
07699 uuid(62DFE658-E514-4797-ADBC-FA7A0A2A22AB),
07700 helpstring("ISkpCamera Interface"),
07701 pointer_default(unique)
07702 ]
07703 interface ISkpCamera : IUnknown
07704 {
07717 [helpstring("The position of the camera")]
07718 HRESULT _GetEye([out] double pPoint3d[3]);
07719
07732 [helpstring("The direction in which the camera is aimed")]
07733 HRESULT _GetDirection([out] double pVector3d[3]);
07734
07735
07748 [helpstring("The up direction of the camera")]
07749 HRESULT _GetUp([out] double pVector3d[3]);
07750
07763 [helpstring("The view center")]
07764 HRESULT _GetCenter([out] double pPoint3d[3]);
07765
07766
07779 [helpstring("The target of the camera")]
07780 HRESULT _GetTarget([out] double pPoint3d[3]);
07781
07791 [propget, helpstring("The position of the camera")]
07792 HRESULT Eye([out, retval] ISkpPoint3d** pPoint3d);
07793
07803 [propget, helpstring("The direction in which the camera is aimed")]
07804 HRESULT Direction([out, retval] ISkpVector3d** pVector3d);
07805
07815 [propget, helpstring("The up direction of the camera")]
07816 HRESULT Up([out, retval] ISkpVector3d** pVector3d);
07817
07827 [propget, helpstring("The view center")]
07828 HRESULT Center([out, retval] ISkpPoint3d** pPoint3d);
07829
07839 [propget, helpstring("The target of the camera")]
07840 HRESULT Target([out, retval] ISkpPoint3d** pPoint3d);
07841
07851 [propget, helpstring("The projection")]
07852 HRESULT Projection([out, retval] long* pVal);
07853
07863 [propget, helpstring("The near clipping distance")]
07864 HRESULT NearClip([out, retval] double* pVal);
07865
07875 [propget, helpstring("The far clipping distance")]
07876 HRESULT FarClip([out, retval] double* pVal);
07877
07887 [propget, helpstring("The field of view (for a perspective projection)")]
07888 HRESULT FieldOfView([out, retval] double* pVal);
07889
07901 [propget, helpstring("The height (for an parallel projection)")]
07902 HRESULT Height([out, retval] double* pVal);
07903
07916 [propget, helpstring("The aspect ratio of the camera")]
07917 HRESULT AspectRatio([out, retval] double *pVal);
07927 [propget, helpstring("The description of the camera")]
07928 HRESULT Description([out, retval] BSTR *pVal);
07929
07939 [propget, helpstring("Is field of view measured in height")]
07940 HRESULT FieldOfViewIsHeight([out, retval] BOOL *pVal);
07941
07953 [propget, helpstring("The width of the image on film")]
07954 HRESULT ImageWidth([out, retval] double *pVal);
07955
07968 [propget, helpstring("The 2D center of the camera")]
07969 HRESULT Center2D([out] double *x, [out] double *y);
07970
07983 [propget, helpstring("The 2D scale of the camera.")]
07984 HRESULT Scale2D([out, retval] double *scale);
07985
07995 [propget, helpstring("The 2D state of the camera (BOOL).")]
07996 HRESULT Camera2D([out, retval] BOOL* pVal);
07997 };
07998
08003 [
08004 object,
08005 uuid(E390B61E-C271-4cb1-9793-2CA57EC19C7B),
08006 helpstring("ISkpCameraM Interface"),
08007 pointer_default(unique)
08008 ]
08009 interface ISkpCameraM : IUnknown
08010 {
08019 [helpstring("Set the orientation of the camera")]
08020 HRESULT _SetOrientation([in] double eye[3], [in] double target[3], [in] double up[3]);
08021
08030 [helpstring("Set the orientation of the camera")]
08031 HRESULT SetOrientation([in] ISkpPoint3d *eye, [in] ISkpPoint3d *target, [in] ISkpVector3d *up);
08032
08041 [helpstring("Set the center of projection of the camera")]
08042 HRESULT SetCenter([in] ISkpPoint3d* pCenter);
08043
08052 [helpstring("Set the center of projection of the camera")]
08053 HRESULT _SetCenter([in] double center[3]);
08054
08063 [propput, helpstring("Set the camera projection")]
08064 HRESULT Projection([in] long val);
08065
08074 [propput, helpstring("Set the near clipping distance")]
08075 HRESULT NearClip([in] double val);
08076
08085 [propput, helpstring("Sets the far clipping distance")]
08086 HRESULT FarClip([in] double val);
08087
08096 [propput, helpstring("Sets the field of view (for a perspective projection)")]
08097 HRESULT FieldOfView([in] double val);
08098
08109 [propput, helpstring("Sets the height (for an parallel projection)")]
08110 HRESULT Height([in] double val);
08111
08120 [propput, helpstring("Sets the aspect ratio of the camera")]
08121 HRESULT AspectRatio([in] double val);
08122
08131 [propput, helpstring("Sets the description of the camera")]
08132 HRESULT Description([in] BSTR val);
08133
08142 [propput, helpstring("Is field of view measured in height")]
08143 HRESULT FieldOfViewIsHeight([in] BOOL val);
08144
08153 [propput, helpstring("The width of the image on film")]
08154 HRESULT ImageWidth([in] double val);
08155
08164 [propput, helpstring("Set the 2D center")]
08165 HRESULT Center2D([in] double x, [in] double y);
08166
08176 [propput, helpstring("Set the 2D scale of the camera")]
08177 HRESULT Scale2D([in] double scale);
08178
08188 [propput, helpstring("Sets the camera's 2D state")]
08189 HRESULT Camera2D([in] BOOL pVal);
08190 };
08191
08196 [
08197 object,
08198 uuid(E4A81C66-9699-44a5-9A10-6394B253E43C),
08199 helpstring("ISkpPage Interface"),
08200 pointer_default(unique)
08201 ]
08202 interface ISkpPage : IUnknown
08203 {
08213 [propget, helpstring("The Page name")]
08214 HRESULT Name([out, retval] BSTR *pVal);
08215
08225 [propget, helpstring("The camera for this page")]
08226 HRESULT Camera([out, retval] ISkpCamera* *pVal);
08227
08237 [propget, helpstring("Use the camera")]
08238 HRESULT UseCamera([out, retval] BOOL *pVal);
08239
08249 [propget, helpstring("Use rendering options")]
08250 HRESULT UseRenderingOptions([out, retval] BOOL *pVal);
08251
08261 [propget, helpstring("Use shadow info")]
08262 HRESULT UseShadowInfo([out, retval] BOOL *pVal);
08263
08275 [propget, helpstring("Use sketch cs")]
08276 HRESULT UseSketchCS([out, retval] BOOL *pVal);
08277
08287 [propget, helpstring("Use hidden")]
08288 HRESULT UseHidden([out, retval] BOOL *pVal);
08289
08299 [propget, helpstring("Use hidden layers")]
08300 HRESULT UseHiddenLayers([out, retval] BOOL *pVal);
08301
08312 [propget, helpstring("The rendering options")]
08313 HRESULT RenderingOptions([out,retval]ISkpOptionsProvider** ppRenderingOptions);
08324 [propget, helpstring("The Shadow options")]
08325 HRESULT ShadowOptions([out,retval]ISkpOptionsProvider** ppShadowOptions);
08326
08336 [propget, helpstring("The coordinate system used by this page.")]
08337 HRESULT CoordinateSystem([out,retval]ISkpCoordinateSystem** ppCS);
08338
08348 [propget, helpstring("Get the Layers for this Page")]
08349 HRESULT Layers([out,retval] ISkpLayers** pLayers);
08350
08359 [propget, helpstring("Get the hidden Entities for this Page")]
08360 HRESULT HiddenEntities([out,retval] ISkpEntities** pEntities);
08361
08368 [propget, helpstring("Get the flags indicating which values are saved")]
08369 HRESULT Flags([out,retval] unsigned long* pVal);
08370
08378 [propget, helpstring("Get whether the sketch axes are displayed")]
08379 HRESULT SketchAxesDisplayed([out,retval] BOOL* pVal);
08380
08390 [propget, helpstring("The Style")]
08391 HRESULT Style([out,retval] ISkpStyle** pVal);
08392
08400 [propget, helpstring("Gets whether Photo Match image is displayed.")]
08401 HRESULT PhotoMatchImageDisplayed([out,retval] BOOL* pVal);
08402 }
08403
08408 [
08409 object,
08410 uuid(8DF1B3FA-5A0B-4fad-A173-F2E311673AEF),
08411 helpstring("ISkpPageM Interface"),
08412 pointer_default(unique)
08413 ]
08414 interface ISkpPageM : IUnknown
08415 {
08423 [helpstring("Assign the properties of this Page to match another Page.")]
08424 HRESULT AssignFrom([in]ISkpPage* page);
08425
08433 [propput, helpstring("The Page name")]
08434 HRESULT Name([in] BSTR newVal);
08435
08442 [propput, helpstring("Set the flags indicating which values are saved")]
08443 HRESULT Flags([in] unsigned long val);
08444
08450 [propput, helpstring("Set whether the sketch axes are displayed")]
08451 HRESULT SketchAxesDisplayed([in] BOOL val);
08452
08458 [helpstring("Clear the array of hidden Layers")]
08459 HRESULT ClearLayers();
08460
08467 [helpstring("Add a Layer to the array of hidden Layers")]
08468 HRESULT AddLayer([in]ISkpLayer* pLayer);
08469
08475 [helpstring("Clears the Photo Match image.")]
08476 HRESULT ClearPhotoMatchImage();
08482 [helpstring("Activates the view page.")]
08483 HRESULT Activate();
08484 }
08485
08486
08491 [
08492 object,
08493 uuid(6EDF2146-2D2C-4045-BE56-FB9999D979D5),
08494 helpstring("A Collection of Pages"),
08495 pointer_default(unique)
08496 ]
08497 interface ISkpPages : IUnknown
08498 {
08506 [propget, helpstring("Returns number of Pages.")]
08507 HRESULT Count([out, retval] long *pVal);
08508
08519 [propget, helpstring("Given an index, returns an item in the collection.")]
08520 HRESULT Item([in] long Index, [out, retval] ISkpPage* *pVal);
08521
08533 [propget, restricted, id(-4),
08534 helpstring("returns an enumerator for the collection.")]
08535 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
08536
08547 [helpstring("Find the Page with the given name.")]
08548 HRESULT GetPageWithName([in] BSTR name, [out] ISkpPage* *pVal);
08549
08558 [propget, helpstring("Find the Selected Page.")]
08559 HRESULT SelectedPage([out,retval] ISkpPage* *pVal);
08560 };
08561
08566 [
08567 object,
08568 uuid(1FEF380D-BB08-480b-BC9F-166215629843),
08569 helpstring("ISkpPagesM Interface"),
08570 pointer_default(unique)
08571 ]
08572 interface ISkpPagesM : IUnknown
08573 {
08592 [helpstring("Adds a new Page with the given name.")]
08593 HRESULT AddPage([in] BSTR newPageName,
08594 [in] unsigned long flags,
08595 [in] long index
08596 );
08597 };
08598
08599 [
08600 object,
08601 uuid(44ACF88B-DE77-4c84-BA20-90D05C684416),
08602 helpstring("ISkpEntityTransformPair"),
08603 pointer_default(unique)
08604 ]
08605 interface ISkpEntityTransformPair : IUnknown
08606 {
08607 [propget, helpstring("Returns the ISkpEntity.")]
08608 HRESULT Entity([out, retval] ISkpEntity* *pVal);
08609
08610 [propget, helpstring("Returns the ISkpTransform.")]
08611 HRESULT Transform([out, retval] ISkpTransform* *pVal);
08612 };
08613 [
08614 object,
08615 uuid(4648DE5B-1584-4748-8F82-FAEDDAF0158F),
08616 helpstring("A Collection of ISkpEntityTransformPair's"),
08617 pointer_default(unique)
08618 ]
08619 interface ISkpEntityTransformPairs : IUnknown
08620 {
08628 [propget, helpstring("Returns number of ISkpEntityTransformPair.")]
08629 HRESULT Count([out, retval] long *pVal);
08630
08641 [propget, helpstring("Given an index, returns an item in the collection.")]
08642 HRESULT Item([in] long Index, [out, retval] ISkpEntityTransformPair* *pVal);
08643
08655 [propget, restricted, id(-4),
08656 helpstring("returns an enumerator for the collection.")]
08657 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
08658
08659 };
08667 [
08668 object,
08669 uuid(90EAE5C7-BC47-4b38-9301-11CC2F389F6C),
08670 helpstring("A ISkpOpening"),
08671 pointer_default(unique)
08672 ]
08673 interface ISkpOpening : IUnknown
08674 {
08684 [propget, helpstring("Get the number of points defining this opening loop")]
08685 HRESULT PointCount([out,retval]long* pVal);
08686
08701 [helpstring("Get the properly transformed points deliminating the opening loop.")]
08702 HRESULT _GetPoints([in]long pointCount, [out, size_is(pointCount*3)]double pPoints[*]);
08703
08715 [propget, helpstring("Get the i'th point")]
08716 HRESULT Point([in]long nIndex, [out,retval]ISkpPoint3d** pPoint);
08717
08729 [propget, helpstring("Get the i'th vertex normal")]
08730 HRESULT VertexNormal([in]long nIndex, [out,retval]ISkpVector3d** pNormal);
08731
08741 [propget, helpstring("Get the ComponentInstance that created this opening")]
08742 HRESULT ComponentInstance([out,retval] ISkpComponentInstance** pVal);
08743 };
08744
08749 [
08750 object,
08751 uuid(C8FB2F03-FE52-4716-B260-C372C4B5C002),
08752 helpstring("A Collection of Openings"),
08753 pointer_default(unique)
08754 ]
08755 interface ISkpOpenings : IUnknown
08756 {
08764 [propget, helpstring("Returns number of Openings.")]
08765 HRESULT Count([out, retval] long *pVal);
08766
08777 [propget, helpstring("Given an index, returns an item in the collection.")]
08778 HRESULT Item([in] long Index, [out, retval] ISkpOpening* *pVal);
08779
08791 [propget, restricted, id(-4),
08792 helpstring("returns an enumerator for the collection.")]
08793 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
08794
08795 };
08796
08797
08802 [
08803 object,
08804 uuid(6ABECF30-A0D8-4369-BB1F-94ABD0FD20C4),
08805 helpstring("A Selection Set"),
08806 pointer_default(unique)
08807 ]
08808 interface ISkpSelectionSet : IUnknown
08809 {
08821 [propget, helpstring("Get an entity from the SelectionSet by index")]
08822 HRESULT Item([in] long nIndex, [out, retval] ISkpEntity* *pVal);
08823
08833 [propget, helpstring("The number of entities in the SelectionSet")]
08834 HRESULT Count([out, retval] long *pVal);
08835
08845 [helpstring("See if an entity is in the SelectionSet")]
08846 HRESULT Contains([in] ISkpEntity* pEntity, [out, retval] BOOL *pVal);
08847
08859 [propget, restricted, id(-4),
08860 helpstring("returns an enumerator for the SelectionSet.")]
08861 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
08862
08863 };
08864
08865
08866
08871 [
08872 object,
08873 uuid(22B29B28-69BB-49be-92BA-8D2509EA8C3A),
08874 helpstring("A SectionPlane entity"),
08875 pointer_default(unique)
08876 ]
08877 interface ISkpSectionPlane : IUnknown
08878 {
08888 [propget, helpstring("Get the Plane")]
08889 HRESULT Plane([out,retval]ISkpPlane** pVal);
08890 };
08895 [
08896 object,
08897 uuid(5B27CB66-EE1B-4ed8-9898-F0DA064FAB30),
08898 helpstring("A Collection of SkpSectionPlanes"),
08899 pointer_default(unique)
08900 ]
08901 interface ISkpSectionPlanes : IUnknown
08902 {
08913 [propget, helpstring("Get a SkpSectionPlane by index")]
08914 HRESULT Item([in] long Index, [out, retval] ISkpSectionPlane* *pVal);
08915
08923 [propget, helpstring("The number of SkpSectionPlanes")]
08924 HRESULT Count([out, retval] long *pVal);
08925
08934 [propget, restricted, id(-4),
08935 helpstring("returns an enumerator for the collection.")]
08936 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
08937 };
08938
08944 [
08945 object,
08946 uuid(b294b3ba-7043-4714-bc7f-3f1f4fca6947),
08947 helpstring("Data about an Entity Provider"),
08948 pointer_default(unique)
08949 ]
08950 interface ISkpEntityProviderStatistics : IUnknown
08951 {
08956 typedef [v1_enum] enum
08957 {
08961 statEdge = 0,
08965 statFace = 1,
08969 statComponentInstance = 2,
08973 statConstructionLine = 3,
08977 statConstructionPoint = 4,
08981 statGroup = 5,
08985 statImage = 6,
08989 statCurve = 7,
08993 statSection = 8,
08997 statDimension = 9,
09001 statText = 10,
09005 statComponentDefinition = 11,
09006 } StatisticsType;
09015 [propget] HRESULT NumberOfTypes([out,retval]long* pNumTypes);
09016
09028 HRESULT GetTypeName([in] StatisticsType typeIndex, [out,retval]BSTR* pTypeName);
09029
09045 HRESULT GetCount([in]StatisticsType typeIndex, [in]BOOL bIncludeInstances, [out, retval]long* pCount);
09046 };
09047
09052 [
09053 object,
09054 uuid(351E3A4E-E919-43eb-A17C-C01376DB2EC9),
09055 helpstring("A manager for all of the document styles."),
09056 pointer_default(unique)
09057 ]
09058 interface ISkpStyleManager : IUnknown
09059 {
09067 [propget, helpstring("Get the styles")]
09068 HRESULT Styles([out,retval]ISkpStyles** ppStyles);
09069
09078 [propget, helpstring("The Active Style")]
09079 HRESULT ActiveStyle([out,retval] ISkpStyle** ppStyle);
09080
09089 [propget, helpstring("The Selected Style")]
09090 HRESULT SelectedStyle([out,retval] ISkpStyle** ppStyle);
09091
09100 [propget, helpstring("The Style by guid")]
09101 HRESULT StyleByGuid([in] BSTR guid, [out,retval] ISkpStyle** ppStyle);
09102
09111 [propget, helpstring("The Style by path")]
09112 HRESULT StyleByPath([in] BSTR path, [out,retval] ISkpStyle** ppStyle);
09113
09121 [helpstring("Save a style to disk.")]
09122 HRESULT SaveStyle([in] BSTR path, [in] ISkpStyle* pStyle);
09123
09124
09135 [propget, helpstring("If the active style is different than the selected style.")]
09136 HRESULT ActiveStyleChanged([out, retval] BOOL *pChanged);
09137 };
09138
09143 [
09144 object,
09145 uuid(91CC81C5-3060-4e42-B119-FBF6485C5E2B),
09146 helpstring("ISkpStyleManagerM Interface"),
09147 pointer_default(unique)
09148 ]
09149 interface ISkpStyleManagerM : IUnknown
09150 {
09151
09159 [helpstring("Adds a new style to the style manager.")]
09160 HRESULT AddStyle([in] ISkpStyle* pStyle);
09161
09169 [helpstring("Set the style on the page. This does not save the style so AddStyle should be used first when applying a new style.")]
09170 HRESULT ApplyStyleToPage([in] ISkpStyle* pStyle, [in] ISkpPage* pSkpPage);
09171
09172 }
09173
09178 [
09179 object,
09180 uuid(cedef8d7-a41b-4964-8b3d-d6c010bdff9e),
09181 helpstring("A SketchIp style that holds a thumbnail of the style and a guid or location on disk to uniquely identify the style"),
09182 pointer_default(unique)
09183 ]
09184 interface ISkpStyle : IUnknown
09185 {
09195 [propget, helpstring("The Style name")]
09196 HRESULT Name([out,retval] BSTR *pVal);
09197
09207 [propget, helpstring("The Display Style name")]
09208 HRESULT DisplayName([out,retval] BSTR *pVal);
09209
09217 [propget, helpstring("Get the style's description")]
09218 HRESULT Description([out,retval]BSTR* pDesc);
09219
09227 [propget, helpstring("Get the style's file path")]
09228 HRESULT Path([out,retval]BSTR* pPath);
09229
09239 [propget, helpstring("The Style GUID")]
09240 HRESULT Guid([out,retval] BSTR *pVal);
09241
09251 [propget, helpstring("Returns true if watermarks are being drawn.")]
09252 HRESULT DisplaysWatermark([out,retval] BOOL *pVal);
09253 };
09254
09259 [
09260 object,
09261 uuid(D8B976E3-7D3B-4938-A9AB-7154666261C0),
09262 helpstring("ISkpStyleM Interface"),
09263 pointer_default(unique)
09264 ]
09265 interface ISkpStyleM : IUnknown
09266 {
09274 [propput, helpstring("Set the name of the style")]
09275 HRESULT Name([in] BSTR str);
09276
09284 [propput, helpstring("Set the guid of the style")]
09285 HRESULT Guid([in] BSTR str);
09286 }
09287
09292 [
09293 object,
09294 uuid(36C97FB6-D9CC-4faf-BBE2-D579B699DFAB),
09295 helpstring("A Collection of Styles"),
09296 pointer_default(unique)
09297 ]
09298 interface ISkpStyles : IUnknown
09299 {
09307 [propget, helpstring("Returns number of Styles.")]
09308 HRESULT Count([out, retval] long *pVal);
09309
09320 [propget, helpstring("Given an index, returns an item in the collection.")]
09321 HRESULT Item([in] long Index, [out, retval] ISkpStyle* *pVal);
09322
09334 [propget, restricted, id(-4),
09335 helpstring("returns an enumerator for the collection.")]
09336 HRESULT _NewEnum([out, retval] IUnknown** enumeration);
09337 };
09338
09340
09341
09342 [
09343 uuid(4BFA2F61-04D4-11D4-92DE-0050DA73EEF2),
09344 version(2.0),
09345 helpstring("SketchUp 2.0 Type Library")
09346 ]
09347 library SketchUp
09348 {
09349 importlib("stdole32.tlb");
09350 importlib("stdole2.tlb");
09351
09352
09353 interface ISkpPoint3d;
09354 interface ISkpVector3d;
09355
09356 interface ISkpApplication;
09357 interface ISkpViewProvider;
09358 interface ISkpDocument;
09359 interface ISkpPlane;
09360 interface ISkpView;
09361 interface ISkpSelectionSet;
09362
09363 interface ISkpHLRWriter;
09364 interface ISkpHLRGeneration;
09365
09366 interface ISkpOptionsManager;
09367 interface ISkpOptionsProvider;
09368
09369 interface ISkpAttributes;
09370 interface ISkpAttribute;
09371 interface ISkpFaceTextureCoordsAttribute;
09372 interface ISkpAttributeDictionary;
09373
09374 interface ISkpCurve;
09375 interface ISkpArcCurve;
09376 interface ISkpLineCurve;
09377
09378 interface ISkpBoundingBox3d;
09379 interface ISkpDrawingElement;
09380
09381 interface ISkpNamedValue;
09382 interface ISkpNamedValues;
09383
09384 interface ISkpPolygonMesh;
09385 interface ISkpTextureWriter;
09386
09387 interface ISkpEntity;
09388 interface ISkpEntities;
09389 interface ISkpEntityTransformPairs;
09390
09391 interface ISkpEdge;
09392 interface ISkpEdges;
09393
09394 interface ISkpVertex;
09395 interface ISkpVertices;
09396
09397 interface ISkpLayer;
09398 interface ISkpLayers;
09399
09400 interface ISkpMaterial;
09401 interface ISkpMaterials;
09402
09403 interface ISkpTexture;
09404 interface ISkpTextures;
09405
09406 interface ISkpFace;
09407 interface ISkpFaces;
09408
09409 interface ISkpFont;
09410 interface ISkpFonts;
09411
09412 interface ISkpText;
09413 interface ISkpTexts;
09414
09415 interface ISkpSectionPlane;
09416 interface ISkpSectionPlanes;
09417
09418 interface ISkpDimension;
09419 interface ISkpDimensionLinear;
09420 interface ISkpDimensionRadial;
09421 interface ISkpDimensionStyle;
09422 interface ISkpDimensions;
09423
09424 interface ISkpTransform;
09425 interface ISkpCamera;
09426
09427 interface ISkpPage;
09428 interface ISkpPages;
09429
09430 interface ISkpComponentDefinition;
09431 interface ISkpComponentDefinitions;
09432 interface ISkpComponentInstance;
09433 interface ISkpComponentInstances;
09434
09435 interface ISkpEdgeUse;
09436 interface ISkpEdgeUses;
09437
09438 interface ISkpLoop;
09439 interface ISkpLoops;
09440
09441 interface ISkpGroup;
09442 interface ISkpGroups;
09443
09444 interface ISkpConstructionLine;
09445 interface ISkpConstructionLines;
09446
09447 interface ISkpConstructionPoint;
09448 interface ISkpConstructionPoints;
09449
09450 interface ISkpPolyline3d;
09451 interface ISkpPolyline3ds;
09452
09453 interface ISkpImage;
09454 interface ISkpImages;
09455
09456 interface ISkpOpening;
09457 interface ISkpOpenings;
09458
09459 interface ISkpEntityProvider;
09460 interface ISkpCorrectPerspective;
09461 interface ISkpUVHelper;
09462
09463
09464 interface ISkpFileReader;
09465 interface ISkpCoordinateSystem;
09466
09467
09468 interface ISkpRenderer;
09469
09470 interface ISkpStyleManager;
09471 interface ISkpStyleManagerM;
09472 interface ISkpStyle;
09473 interface ISkpStyleM;
09474 interface ISkpStyles;
09475
09476
09477 interface ISkpHLRView;
09478
09479
09480 interface ISkpInputPointFinder;
09481
09482 interface ISkpCameraM;
09483 interface ISkpNamedValuesM;
09484
09485
09486
09487 [
09488 uuid(F14F48BC-A565-4c4a-B89D-B937A7C3F92F),
09489 helpstring("SkpCurve Class")
09490 ]
09491 coclass SkpCurve
09492 {
09493 [default] interface ISkpCurve;
09494 interface ISkpEntity;
09495 interface ISkpDrawingElement;
09496 };
09497
09498 [
09499 uuid(B3DB0982-7499-4da9-A2E2-5C8CDF83A03E),
09500 helpstring("SkpArcCurve Class")
09501 ]
09502 coclass SkpArcCurve
09503 {
09504 [default] interface ISkpArcCurve;
09505 interface ISkpEntity;
09506 interface ISkpDrawingElement;
09507 };
09508
09509 [
09510 uuid(4A1AB8BE-7F80-4cd5-B45A-B647C01BCBD5),
09511 helpstring("SkpLineCurve Class")
09512 ]
09513 coclass SkpLineCurve
09514 {
09515 [default] interface ISkpLineCurve;
09516 interface ISkpEntity;
09517 interface ISkpDrawingElement;
09518 };
09519
09520 [
09521 uuid(49AD9805-4DE2-46b7-B10B-543D37E8E34C),
09522 helpstring("SkpBoundingBox3d Class")
09523 ]
09524 coclass SkpBoundingBox3d
09525 {
09526 [default] interface ISkpBoundingBox3d;
09527 };
09528
09529 [
09530 uuid(7860E6D1-C06A-409c-ACBC-7A028C89BEE8),
09531 helpstring("SkpDimensions")
09532 ]
09533 coclass SkpDimensions
09534 {
09535 [default] interface ISkpDimensions;
09536 };
09537
09538 [
09539 uuid(14BB888F-6B45-4c84-885C-6D9C81C0431C),
09540 helpstring("SkpDimensionStyle Class")
09541 ]
09542 coclass SkpDimensionStyle
09543 {
09544 [default] interface ISkpDimensionStyle;
09545 interface ISkpEntity;
09546 };
09547
09548
09549 [
09550 uuid(68A7A031-0A69-434d-9D76-2A9EF6DD2E95),
09551 helpstring("SkpDimensionRadial Class")
09552 ]
09553 coclass SkpDimensionRadial
09554 {
09555 [default] interface ISkpDimensionRadial;
09556 interface ISkpDimension;
09557 interface ISkpEntity;
09558 interface ISkpDrawingElement;
09559 };
09560
09561 [
09562 uuid(2A964D77-D81E-4d1b-84A8-8F4703237A8B),
09563 helpstring("SkpDimensionLinear Class")
09564 ]
09565 coclass SkpDimensionLinear
09566 {
09567 [default] interface ISkpDimensionLinear;
09568 interface ISkpDimension;
09569 interface ISkpEntity;
09570 interface ISkpDrawingElement;
09571 };
09572
09573
09574 [
09575 uuid(654DE6F5-EF09-4ab1-8B13-58EA07E91AE2),
09576 helpstring("SkpFont Class")
09577 ]
09578 coclass SkpFont
09579 {
09580 [default] interface ISkpFont;
09581 interface ISkpEntity;
09582 };
09583
09584 [
09585 uuid(8DBA2A17-8693-41b4-950F-35AA18BC9E6E),
09586 helpstring("SkpFonts Class")
09587 ]
09588 coclass SkpFonts
09589 {
09590 [default] interface ISkpFonts;
09591 };
09592
09593
09594 [
09595 uuid(AFD3FC6D-518B-4783-AA70-4F71A1B20DC5),
09596 helpstring("SkpView Class")
09597 ]
09598 coclass SkpView
09599 {
09600 [default] interface ISkpView;
09601 };
09602
09603
09604 [
09605 uuid(2F890771-B9CB-4428-9C66-8C8A3557A217),
09606 helpstring("SkpText Class")
09607 ]
09608 coclass SkpText
09609 {
09610 [default] interface ISkpText;
09611 interface ISkpEntity;
09612 interface ISkpDrawingElement;
09613 };
09614
09615 [
09616 uuid(BF6E4AE8-A322-4602-833F-C39D25630538),
09617 helpstring("SkpTexts Class")
09618 ]
09619 coclass SkpTexts
09620 {
09621 [default] interface ISkpTexts;
09622 };
09623
09624 [
09625 uuid(27BB57D5-F11E-4eb5-B39A-C9DB40023B48),
09626 helpstring("SkpOptionsManager Class")
09627 ]
09628 coclass SkpOptionsManager
09629 {
09630 [default] interface ISkpOptionsManager;
09631 interface ISkpEntity;
09632
09633 };
09634
09635 [
09636 uuid(9D16F3A7-3A4F-4036-A422-E70DC31D5A38),
09637 helpstring("SkpOptionsProvider Class")
09638 ]
09639 coclass SkpOptionsProvider
09640 {
09641 [default] interface ISkpOptionsProvider;
09642 interface ISkpNamedValues;
09643 };
09644
09645
09646 [
09647 uuid(DD8A0680-D541-4557-A265-6FAA2EC51A87),
09648 helpstring("SkpFaceTextureCoordsAttribute Class")
09649 ]
09650 coclass SkpFaceTextureCoordsAttribute
09651 {
09652 [default] interface ISkpFaceTextureCoordsAttribute;
09653 interface ISkpAttribute;
09654 interface ISkpEntity;
09655 };
09656
09657
09658 [
09659 uuid(E60D14BB-2B0A-4d00-A82A-5584273629F9),
09660 helpstring("SkpAttributeDictionary Class")
09661 ]
09662 coclass SkpAttributeDictionary
09663 {
09664 [default] interface ISkpAttributeDictionary;
09665 interface ISkpAttribute;
09666 interface ISkpEntity;
09667 };
09668
09669
09670 [
09671 uuid(CACB1EA7-619B-4209-B308-BDFCF086DAF7),
09672 helpstring("SkpAttribute Class")
09673 ]
09674 coclass SkpAttribute
09675 {
09676 [default] interface ISkpAttribute;
09677 interface ISkpAttribute;
09678 interface ISkpEntity;
09679 };
09680
09681 [
09682 uuid(0ADF95E1-BA0D-4588-B0F4-9FD3EF8DB5F4),
09683 helpstring("SkpAttributes Class")
09684 ]
09685 coclass SkpAttributes
09686 {
09687 [default] interface ISkpAttributes;
09688 };
09689
09690 [
09691 uuid(41F635F4-FFAC-4f67-9E3E-3223816767F1),
09692 helpstring("SkpPlaneClass")
09693 ]
09694 coclass SkpPlane
09695 {
09696 [default] interface ISkpPlane;
09697 };
09698
09699 [
09700 uuid(A6202410-06BB-4dcd-B575-14B2C4476E1C),
09701 helpstring("SkpNamedValue Class")
09702 ]
09703 coclass SkpNamedValue
09704 {
09705 [default] interface ISkpNamedValue;
09706 };
09707
09708 [
09709 uuid(AD6339AA-D127-47e4-A0A6-8AFB2B8D79E9),
09710 helpstring("SkpEntities Collection")
09711 ]
09712 coclass SkpEntities
09713 {
09714 [default] interface ISkpEntities;
09715 };
09716
09717 [
09718 uuid(051594E4-D5C2-4988-BBE2-01E23DA53E50),
09719 helpstring("SkpPolygonMesh")
09720 ]
09721 coclass SkpPolygonMesh
09722 {
09723 [default] interface ISkpPolygonMesh;
09724 };
09725
09726 [
09727 uuid(3AC00E24-2B2F-4368-95C0-9FFA0F305AFD),
09728 helpstring("SkpFace")
09729 ]
09730 coclass SkpFace
09731 {
09732 [default] interface ISkpFace;
09733 interface ISkpEntity;
09734 interface ISkpDrawingElement;
09735 };
09736
09737 [
09738 uuid(2CCE567F-25AD-4523-9F79-6A42A76F7403),
09739 helpstring("SkpFaces")
09740 ]
09741 coclass SkpFaces
09742 {
09743 [default] interface ISkpFaces;
09744 };
09745
09746
09747 [
09748 uuid(7915DD58-5887-4cf5-A802-6A517665E535),
09749 helpstring("SkpTextureWriter")
09750 ]
09751 coclass SkpTextureWriter
09752 {
09753 [default] interface ISkpTextureWriter;
09754 interface ISkpTextureWriter2;
09755 interface ISkpCorrectPerspective;
09756 };
09757
09758
09759
09760 [
09761 uuid(FCD8BDD9-F12C-4646-9829-5387D844C5E1),
09762 helpstring("SkpApplication")
09763 ]
09764 coclass SkpApplication
09765 {
09766 [default] interface ISkpApplication;
09767 interface ISkpViewProvider;
09768 };
09769
09770 [
09771 uuid(27E7D638-4E08-4c2c-8BD0-2DE34BC896EA),
09772 helpstring("SkpDocument")
09773 ]
09774 coclass SkpDocument
09775 {
09776 [default] interface ISkpDocument;
09777 interface ISkpEntityProvider;
09778 interface ISkpHLRGeneration;
09779 interface ISkpAttributeProvider;
09780 interface ISkpThumbnailProvider;
09781 interface ISkpFileWriter;
09782 };
09783
09784
09785 [
09786 uuid(D434F6F4-D7F8-42d7-9F63-B2AA4D609E50),
09787 helpstring("SkpEdge")
09788 ]
09789 coclass SkpEdge
09790 {
09791 [default] interface ISkpEdge;
09792 interface ISkpDrawingElement;
09793 interface ISkpEntity;
09794 };
09795
09796 [
09797 uuid(13F82ADC-269F-4d7e-89C4-508786C3B8CB),
09798 helpstring("SkpEdges")
09799 ]
09800 coclass SkpEdges
09801 {
09802 [default] interface ISkpEdges;
09803 };
09804
09805
09806 [
09807 uuid(CD2F8CCA-8B04-4567-B152-48C3B12D2768),
09808 helpstring("SkpNamedValues")
09809 ]
09810 coclass SkpNamedValues
09811 {
09812 [default] interface ISkpNamedValues;
09813 };
09814
09815 [
09816 uuid(48A28EA9-844F-4260-8BC1-EEFA394E9DB4),
09817 helpstring("SkpVertex")
09818 ]
09819 coclass SkpVertex
09820 {
09821 [default] interface ISkpVertex;
09822 interface ISkpEntity;
09823 };
09824
09825 [
09826 uuid(2B9FB964-B154-4969-B356-F5E3CF81EFDC),
09827 helpstring("SkpVertices")
09828 ]
09829 coclass SkpVertices
09830 {
09831 [default] interface ISkpVertices;
09832 };
09833
09834 [
09835 uuid(3A62EB90-9625-4f3e-AFC6-A4DFC3D11A5E),
09836 helpstring("SkpLayer")
09837 ]
09838 coclass SkpLayer
09839 {
09840 [default] interface ISkpLayer;
09841 interface ISkpEntity;
09842 };
09843
09844 [
09845 uuid(35E1EF8A-CD0D-490a-B493-A78841D79290),
09846 helpstring("SkpLayers")
09847 ]
09848 coclass SkpLayers
09849 {
09850 [default] interface ISkpLayers;
09851 };
09852
09853 [
09854 uuid(2510264C-96DC-4fc4-88B9-E2503F49A8DD),
09855 helpstring("SkpMaterial")
09856 ]
09857 coclass SkpMaterial
09858 {
09859 [default] interface ISkpMaterial;
09860 interface ISkpEntity;
09861 };
09862
09863 [
09864 uuid(3307BAAB-4624-4423-B076-37AB33F3EE6A),
09865 helpstring("SkpMaterials")
09866 ]
09867 coclass SkpMaterials
09868 {
09869 [default] interface ISkpMaterials;
09870 };
09871
09872 [
09873 uuid(19356807-23AB-4a7b-AC98-C77381141A5D),
09874 helpstring("SkpTexture")
09875 ]
09876 coclass SkpTexture
09877 {
09878 [default] interface ISkpTexture;
09879 interface ISkpEntity;
09880 };
09881
09882 [
09883 uuid(F4728C8E-AA35-4092-AD8E-B8090A6A9EDE),
09884 helpstring("SkpTextures")
09885 ]
09886 coclass SkpTextures
09887 {
09888 [default] interface ISkpTextures;
09889 };
09890
09891 [
09892 uuid(25D39F1B-0A6F-4a8a-ABAC-9FE56BE4D45E),
09893 helpstring("SkpTransform")
09894 ]
09895 coclass SkpTransform
09896 {
09897 [default] interface ISkpTransform;
09898 };
09899
09900 [
09901 uuid(2C39F89C-458F-4435-BA79-8ED3CEAE9068),
09902 helpstring("SkpComponentDefinition")
09903 ]
09904 coclass SkpComponentDefinition
09905 {
09906 [default] interface ISkpComponentDefinition;
09907 interface ISkpEntityProvider;
09908 interface ISkpEntity;
09909 interface ISkpDrawingElement;
09910 interface ISkpThumbnailProvider;
09911 };
09912
09913 [
09914 uuid(09A855B9-440D-4ec0-BCCF-DBD1E2C6AAF5),
09915 helpstring("SkpComponentDefinitions")
09916 ]
09917 coclass SkpComponentDefinitions
09918 {
09919 [default] interface ISkpComponentDefinitions;
09920 };
09921
09922 [
09923 uuid(1ABECA09-D994-4eb4-8421-747F7C12E2D8),
09924 helpstring("SkpComponentInstance")
09925 ]
09926 coclass SkpComponentInstance
09927 {
09928 [default] interface ISkpComponentInstance;
09929 interface ISkpEntity;
09930 interface ISkpDrawingElement;
09931 };
09932
09933 [
09934 uuid(23623210-E18A-43b5-AF25-F259DF138024),
09935 helpstring("SkpComponentInstances")
09936 ]
09937 coclass SkpComponentInstances
09938 {
09939 [default] interface ISkpComponentInstances;
09940 };
09941
09942 [
09943 uuid(682A0B04-C07B-4ed1-963A-8E776CF83085),
09944 helpstring("SkpEdgeUse")
09945 ]
09946 coclass SkpEdgeUse
09947 {
09948 [default] interface ISkpEdgeUse;
09949 interface ISkpEntity;
09950 };
09951
09952 [
09953 uuid(3FDE8661-D7D6-4c34-ABEB-FA55A60A6771),
09954 helpstring("SkpEdgeUses")
09955 ]
09956 coclass SkpEdgeUses
09957 {
09958 [default] interface ISkpEdgeUses;
09959 };
09960
09961 [
09962 uuid(0D6DB7C0-3DDB-49cb-BB65-B93597609104),
09963 helpstring("SkpLoop")
09964 ]
09965 coclass SkpLoop
09966 {
09967 [default] interface ISkpLoop;
09968 interface ISkpEntity;
09969 };
09970
09971 [
09972 uuid(1A39AA92-1B88-4512-AE26-2F86CBBC2D84),
09973 helpstring("SkpLoops")
09974 ]
09975 coclass SkpLoops
09976 {
09977 [default] interface ISkpLoops;
09978 };
09979
09980 [
09981 uuid(3BB792D4-B6B8-417a-8C5B-ED3CA179140E),
09982 helpstring("SkpPolyline3d")
09983 ]
09984 coclass SkpPolyline3d
09985 {
09986 [default] interface ISkpPolyline3d;
09987 interface ISkpDrawingElement;
09988 interface ISkpEntity;
09989 };
09990
09991 [
09992 uuid(7A5B60ED-E4E5-4229-96E9-DFB339861AFA),
09993 helpstring("SkpPolyline3ds")
09994 ]
09995 coclass SkpPolyline3ds
09996 {
09997 [default] interface ISkpPolyline3ds;
09998 };
09999
10000 [
10001 uuid(5812305B-4102-4b5f-AF49-A1D781ED8241),
10002 helpstring("SkpConstructionLine")
10003 ]
10004 coclass SkpConstructionLine
10005 {
10006 [default] interface ISkpConstructionLine;
10007 interface ISkpEntity;
10008 };
10009
10010 [
10011 uuid(F8F0804E-5DB3-4396-A9B1-1778A1E3A1CF),
10012 helpstring("SkpConstructionLines")
10013 ]
10014 coclass SkpConstructionLines
10015 {
10016 [default] interface ISkpConstructionLines;
10017 };
10018
10019 [
10020 uuid(4031A3A9-5D14-4ba4-9119-7B89D4605AC4),
10021 helpstring("SkpConstructionPoint")
10022 ]
10023 coclass SkpConstructionPoint
10024 {
10025 [default] interface ISkpConstructionPoint;
10026 interface ISkpEntity;
10027 };
10028
10029 [
10030 uuid(C53AFEFC-2D79-45b2-A538-9C38956471D6),
10031 helpstring("SkpConstructionPoints")
10032 ]
10033 coclass SkpConstructionPoints
10034 {
10035 [default] interface ISkpConstructionPoints;
10036 };
10037
10038 [
10039 uuid(1594CED1-F405-40c4-9776-E8D1422EDA12),
10040 helpstring("SkpGroup")
10041 ]
10042 coclass SkpGroup
10043 {
10044 [default] interface ISkpGroup;
10045 interface ISkpEntity;
10046 };
10047
10048 [
10049 uuid(E9D42944-0F9B-405c-B31F-41FD03EEF9D5),
10050 helpstring("SkpGroups")
10051 ]
10052 coclass SkpGroups
10053 {
10054 [default] interface ISkpGroups;
10055 };
10056
10057 [
10058 uuid(CE5F0306-2A7C-4c75-8D52-16A5115C2747),
10059 helpstring("SkpImage")
10060 ]
10061 coclass SkpImage
10062 {
10063 [default] interface ISkpImage;
10064 interface ISkpEntity;
10065 };
10066
10067 [
10068 uuid(A00A8FB0-1EB4-4530-8C60-318FA96F5CC0),
10069 helpstring("SkpImages")
10070 ]
10071 coclass SkpImages
10072 {
10073 [default] interface ISkpImages;
10074 };
10075
10076 [
10077 uuid(A4FCD122-86D6-4b7a-B151-FE3EE14A978B),
10078 helpstring("SkpCamera")
10079 ]
10080 coclass SkpCamera
10081 {
10082 [default] interface ISkpCamera;
10083 interface ISkpCamera;
10084 };
10085
10086 [
10087 uuid(6BAC97E8-48D7-4d4c-A079-F1018C0844A3),
10088 helpstring("SkpPage")
10089 ]
10090 coclass SkpPage
10091 {
10092 [default] interface ISkpPage;
10093 interface ISkpEntity;
10094 };
10095
10096 [
10097 uuid(52E11A33-1143-49ee-A82F-5191060FAC05),
10098 helpstring("SkpPages")
10099 ]
10100 coclass SkpPages
10101 {
10102 [default] interface ISkpPages;
10103 };
10104
10105 [
10106 uuid(5A875310-D0D3-4ba5-BC95-D8C1BC7DFFBC),
10107 helpstring("SkpEntityTransformPair")
10108 ]
10109 coclass SkpEntityTransformPair
10110 {
10111 [default] interface ISkpEntityTransformPair;
10112 };
10113
10114 [
10115 uuid(68DCA68F-5D93-4e90-9245-11159BC6C1FD),
10116 helpstring("SkpEntityTransformPairs")
10117 ]
10118 coclass SkpEntityTransformPairs
10119 {
10120 [default] interface ISkpEntityTransformPairs;
10121 };
10122
10123 [
10124 uuid(0B357E1E-6BCD-4056-BF1A-55B7B6E2BCFB),
10125 helpstring("SkpOpening")
10126 ]
10127 coclass SkpOpening
10128 {
10129 [default] interface ISkpOpening;
10130 };
10131
10132 [
10133 uuid(05D8F76C-74B9-4cb6-94BB-B38C2FCB7991),
10134 helpstring("SkpOpenings")
10135 ]
10136 coclass SkpOpenings
10137 {
10138 [default] interface ISkpOpenings;
10139 };
10140
10141 [
10142 uuid(55EE31FA-25CB-4293-AEB2-31884694688B),
10143 helpstring("SkpPoint3d")
10144 ]
10145 coclass SkpPoint3d
10146 {
10147 [default] interface ISkpPoint3d;
10148 };
10149
10150 [
10151 uuid(05EB8168-4E72-4024-9F17-5E9D3BED4B72),
10152 helpstring("SkpVector3d")
10153 ]
10154 coclass SkpVector3d
10155 {
10156 [default] interface ISkpVector3d;
10157 };
10158
10159 [
10160 uuid(D051308C-6EBA-48f0-B8A2-7438FFBF06F4),
10161 helpstring("SkpSelectionSet")
10162 ]
10163 coclass SkpSelectionSet
10164 {
10165 [default] interface ISkpSelectionSet;
10166 };
10167
10168
10169 [
10170 uuid(80600D2D-009F-4904-975B-752D9B8BAAA0),
10171 helpstring("SkpSectionPlane")
10172 ]
10173 coclass SkpSectionPlane
10174 {
10175 [default] interface ISkpSectionPlane;
10176 interface ISkpEntity;
10177 };
10178
10179 [
10180 uuid(9CE03B4D-6833-43c4-BED8-6A37D78C2085),
10181 helpstring("SkpSectionPlanes")
10182 ]
10183 coclass SkpSectionPlanes
10184 {
10185 [default] interface ISkpSectionPlanes;
10186 };
10187
10188 [
10189 uuid(47E17463-97A6-4026-83FC-E0CFF4928B6E),
10190 helpstring("SkpUVHelper")
10191 ]
10192 coclass SkpUVHelper
10193 {
10194 [default] interface ISkpUVHelper;
10195 };
10196
10197 [
10198 uuid(17496FE0-F9D0-4297-8F77-5CC879D8381E),
10199 helpstring("SkpCoordinateSystem")
10200 ]
10201 coclass SkpCoordinateSystem
10202 {
10203 [default] interface ISkpCoordinateSystem;
10204 };
10205
10206 [
10207 uuid(56c28985-cf66-43dc-abf6-edf774ebdb12),
10208 helpstring("SkpEntityProviderStatistics")
10209 ]
10210 coclass SkpEntityProviderStatistics
10211 {
10212 [default] interface ISkpEntityProviderStatistics;
10213 };
10214
10215 [
10216 uuid(56c28985-cf66-43dc-abf6-edf774ebdb13),
10217 helpstring("SkpRenderer")
10218 ]
10219 coclass SkpRenderer
10220 {
10221 [default] interface ISkpRenderer;
10222 };
10223
10224 [
10225 uuid(B9AAEAC5-0EC8-4e7c-908F-6F6CE0A5EE19),
10226 helpstring("SkpStyleManager")
10227 ]
10228 coclass SkpStyleManager
10229 {
10230 [default] interface ISkpStyleManager;
10231 interface ISkpStyleManagerM;
10232 interface ISkpEntity;
10233 };
10234
10235 [
10236 uuid(C8BC9942-B8F1-439d-AF85-8AFDC873190E),
10237 helpstring("SkpStyle")
10238 ]
10239 coclass SkpStyle
10240 {
10241 [default] interface ISkpStyle;
10242 interface ISkpStyleM;
10243 interface ISkpEntity;
10244 interface ISkpThumbnailProvider;
10245 };
10246
10247 [
10248 uuid(5B8D9FBF-260C-409c-AD2C-2F908C6656D5),
10249 helpstring("SkpStyles")
10250 ]
10251 coclass SkpStyles
10252 {
10253 [default] interface ISkpStyles;
10254 };
10255
10256 [
10257 uuid(2231CC58-63BA-4BAF-B800-ABD9CC8B401D),
10258 helpstring("SkpCameraM")
10259 ]
10260 coclass SkpCameraM
10261 {
10262 [default] interface ISkpCameraM;
10263 interface ISkpCameraM;
10264 };
10265
10266 [
10267 uuid(D43DB17A-D44D-4CCC-B556-AB8C3E178149),
10268 helpstring("SkpNamedValuesM")
10269 ]
10270 coclass SkpNamedValuesM
10271 {
10272 [default] interface ISkpNamedValuesM;
10273 };
10274
10275 };