913a4c4a |
1 | // Created on: 2011-10-11 |
2 | // Created by: Roman KOZLOV |
3 | // Copyright (c) 2011-2014 OPEN CASCADE SAS |
4 | // |
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> |
24 | #include <Standard_Integer.hxx> |
25 | #include <Standard_Boolean.hxx> |
26 | |
27 | typedef Standard_Size IVtk_IdType; |
28 | |
29 | typedef IVtk_IdType IVtk_PointId; |
30 | |
31 | typedef IVtk_IdType IVtk_FaceId; |
32 | typedef IVtk_IdType IVtk_EdgeId; |
33 | |
34 | typedef NCollection_List <IVtk_IdType> IVtk_ShapeIdList; |
35 | typedef NCollection_List <IVtk_PointId> IVtk_PointIdList; |
36 | |
37 | typedef NCollection_DataMap <IVtk_IdType, IVtk_ShapeIdList> IVtk_SubShapeMap; |
38 | typedef NCollection_Map <IVtk_IdType> IVtk_IdTypeMap; |
39 | |
40 | typedef NCollection_List <gp_XY> IVtk_Pnt2dList; |
41 | |
42 | //! @enum IVtk_SelectionMode Selection modes for 3D shapes |
43 | //! |
44 | //! Enumeration that describes all supported selection modes for 3D shapes. |
45 | //! SM_None means that the shape should become non-selectable. |
46 | //! SM_Shape makes the shape selectable as a whole. |
47 | //! Other modes activate selection of sub-shapes of corresponding types. |
48 | typedef enum |
49 | { |
50 | SM_None = -1, //!< No selection |
51 | SM_Shape = 0, //!< Shape selection |
52 | SM_Vertex = 1, //!< Vertex selection |
53 | SM_Edge = 2, //!< Edge selection |
54 | SM_Wire = 3, //!< Wire selection |
55 | SM_Face = 4, //!< Face selection |
56 | SM_Shell = 5, //!< Shell selection |
57 | SM_Solid = 6, //!< Solid selection |
58 | SM_CompSolid = 7, //!< CompSolid selection |
59 | SM_Compound = 8, //!< Compound selection |
60 | } IVtk_SelectionMode; |
61 | |
62 | typedef NCollection_List< IVtk_SelectionMode > IVtk_SelectionModeList; |
63 | |
64 | //! @enum IVtk_MeshType Types of mesh parts for 3D shapes |
65 | //! |
66 | //! Enumeration that describes all supported types of mesh parts for 3D shapes. |
67 | typedef enum |
68 | { |
69 | MT_Undefined = -1, //!< Undefined |
70 | MT_IsoLine = 0, //!< Isoline |
71 | MT_FreeVertex = 1, //!< Free vertex |
72 | MT_SharedVertex = 2, //!< Shared vertex |
73 | MT_FreeEdge = 3, //!< Free edge |
74 | MT_BoundaryEdge = 4, //!< Boundary edge (related to a single face) |
75 | MT_SharedEdge = 5, //!< Shared edge (related to several faces) |
76 | MT_WireFrameFace = 6, //!< Wireframe face |
77 | MT_ShadedFace = 7 //!< Shaded face |
78 | } IVtk_MeshType; |
79 | |
80 | //! @enum IVtk_DisplayMode Display modes for 3D shapes |
81 | //! |
82 | //! Enumeration that describes all supported display modes for 3D shapes. |
83 | typedef enum |
84 | { |
85 | DM_Wireframe = 0, //!< Wireframe display mode |
86 | DM_Shading = 1 //!< Shaded display mode |
87 | } IVtk_DisplayMode; |
88 | |
89 | #endif // __IVTK_TYPES_H__ |
90 | |