ee9e67ed |
1 | // Created on: 2011-10-11 |
913a4c4a |
2 | // Created by: Roman KOZLOV |
ee9e67ed |
3 | // Copyright (c) 2011-2014 OPEN CASCADE SAS |
4 | // |
913a4c4a |
5 | // This file is part of Open CASCADE Technology software library. |
6 | // |
7 | // This library is free software; you can redistribute it and/or modify it under |
8 | // the terms of the GNU Lesser General Public License version 2.1 as published |
9 | // by the Free Software Foundation, with special exception defined in the file |
10 | // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
11 | // distribution for complete text of the license and disclaimer of any warranty. |
12 | // |
13 | // Alternatively, this file may be used under the terms of Open CASCADE |
14 | // commercial license or contractual agreement. |
15 | |
16 | #ifndef __IVTK_TYPES_H__ |
17 | #define __IVTK_TYPES_H__ |
18 | |
19 | #include <gp_XY.hxx> |
20 | #include <NCollection_List.hxx> |
21 | #include <NCollection_TListIterator.hxx> |
22 | #include <NCollection_DataMap.hxx> |
23 | #include <NCollection_Map.hxx> |
913a4c4a |
24 | #include <Standard_Boolean.hxx> |
ee9e67ed |
25 | #include <Standard_Integer.hxx> |
26 | #include <vtkType.h> |
913a4c4a |
27 | |
ee9e67ed |
28 | #ifdef VTK_USE_64BIT_IDS |
29 | #if defined(_WIN32) && !defined(_WIN64) |
30 | #error "64-bit VTK library can not be linked for 32-bit target platform" |
31 | #endif |
32 | #else |
33 | #ifdef _WIN64 |
34 | #error "32-bit VTK library can not be linked for 64-bit target platform" |
35 | #endif |
36 | #endif |
913a4c4a |
37 | |
ee9e67ed |
38 | |
39 | typedef vtkIdType IVtk_IdType; |
913a4c4a |
40 | typedef IVtk_IdType IVtk_PointId; |
41 | |
42 | typedef IVtk_IdType IVtk_FaceId; |
43 | typedef IVtk_IdType IVtk_EdgeId; |
44 | |
45 | typedef NCollection_List <IVtk_IdType> IVtk_ShapeIdList; |
46 | typedef NCollection_List <IVtk_PointId> IVtk_PointIdList; |
47 | |
48 | typedef NCollection_DataMap <IVtk_IdType, IVtk_ShapeIdList> IVtk_SubShapeMap; |
49 | typedef NCollection_Map <IVtk_IdType> IVtk_IdTypeMap; |
50 | |
51 | typedef NCollection_List <gp_XY> IVtk_Pnt2dList; |
52 | |
ee9e67ed |
53 | |
913a4c4a |
54 | //! @enum IVtk_SelectionMode Selection modes for 3D shapes |
55 | //! |
56 | //! Enumeration that describes all supported selection modes for 3D shapes. |
57 | //! SM_None means that the shape should become non-selectable. |
58 | //! SM_Shape makes the shape selectable as a whole. |
59 | //! Other modes activate selection of sub-shapes of corresponding types. |
60 | typedef enum |
61 | { |
62 | SM_None = -1, //!< No selection |
63 | SM_Shape = 0, //!< Shape selection |
64 | SM_Vertex = 1, //!< Vertex selection |
65 | SM_Edge = 2, //!< Edge selection |
66 | SM_Wire = 3, //!< Wire selection |
67 | SM_Face = 4, //!< Face selection |
68 | SM_Shell = 5, //!< Shell selection |
69 | SM_Solid = 6, //!< Solid selection |
70 | SM_CompSolid = 7, //!< CompSolid selection |
71 | SM_Compound = 8, //!< Compound selection |
72 | } IVtk_SelectionMode; |
73 | |
74 | typedef NCollection_List< IVtk_SelectionMode > IVtk_SelectionModeList; |
75 | |
76 | //! @enum IVtk_MeshType Types of mesh parts for 3D shapes |
77 | //! |
78 | //! Enumeration that describes all supported types of mesh parts for 3D shapes. |
79 | typedef enum |
80 | { |
81 | MT_Undefined = -1, //!< Undefined |
82 | MT_IsoLine = 0, //!< Isoline |
83 | MT_FreeVertex = 1, //!< Free vertex |
84 | MT_SharedVertex = 2, //!< Shared vertex |
85 | MT_FreeEdge = 3, //!< Free edge |
86 | MT_BoundaryEdge = 4, //!< Boundary edge (related to a single face) |
87 | MT_SharedEdge = 5, //!< Shared edge (related to several faces) |
88 | MT_WireFrameFace = 6, //!< Wireframe face |
89 | MT_ShadedFace = 7 //!< Shaded face |
90 | } IVtk_MeshType; |
91 | |
92 | //! @enum IVtk_DisplayMode Display modes for 3D shapes |
93 | //! |
94 | //! Enumeration that describes all supported display modes for 3D shapes. |
95 | typedef enum |
96 | { |
97 | DM_Wireframe = 0, //!< Wireframe display mode |
98 | DM_Shading = 1 //!< Shaded display mode |
99 | } IVtk_DisplayMode; |
100 | |
101 | #endif // __IVTK_TYPES_H__ |
102 | |