0024830: Remove redundant keyword 'mutable' in CDL declarations
[occt.git] / src / MeshVS / MeshVS_MeshPrsBuilder.cdl
CommitLineData
b311480e 1-- Created on: 2003-10-10
2-- Created by: Alexander SOLOVYOV
973c2be1 3-- Copyright (c) 2003-2014 OPEN CASCADE SAS
b311480e 4--
973c2be1 5-- This file is part of Open CASCADE Technology software library.
b311480e 6--
d5f74e42 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
973c2be1 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.
b311480e 12--
973c2be1 13-- Alternatively, this file may be used under the terms of Open CASCADE
14-- commercial license or contractual agreement.
7fd59977 15
16class MeshPrsBuilder from MeshVS inherits PrsBuilder from MeshVS
17
18 ---Purpose: This class provides methods to compute base mesh presentation
19
20uses
21 Integer from Standard,
22 Boolean from Standard,
23
24 Presentation from Prs3d,
25
26 PrsBuilder from MeshVS,
27 Mesh from MeshVS,
28 MeshPtr from MeshVS,
29 DisplayModeFlags from MeshVS,
30 DataSource from MeshVS,
31 BuilderPriority from MeshVS,
32 Drawer from MeshVS,
33 HArray1OfSequenceOfInteger from MeshVS,
34 MaterialAspect from Graphic3d,
35 AspectFillArea3d from Graphic3d,
36 AspectLine3d from Graphic3d,
37 AspectMarker3d from Graphic3d,
38 Array1OfReal from TColStd,
39 ArrayOfPolylines from Graphic3d,
40 ArrayOfPolygons from Graphic3d,
41 ArrayOfPrimitives from Graphic3d,
42 PackedMapOfInteger from TColStd
43
44is
45
46 Create ( Parent : Mesh from MeshVS;
47 Flags : DisplayModeFlags from MeshVS = MeshVS_DMF_OCCMask;
48 DS : DataSource from MeshVS = 0;
49 Id : Integer = -1;
6e33d3ce 50 Priority : BuilderPriority from MeshVS = MeshVS_BP_Mesh ) returns MeshPrsBuilder from MeshVS;
7fd59977 51 ---Purpose: Creates builder with certain display mode flags, data source, ID and priority
52
53 Build ( me; Prs : Presentation from Prs3d;
54 IDs : PackedMapOfInteger;
55 IDsToExclude: in out PackedMapOfInteger;
56 IsElement : Boolean;
57 DisplayMode : Integer ) is virtual;
58 ---Purpose: Builds base mesh presentation by calling the methods below
59
60 BuildNodes ( me; Prs : Presentation from Prs3d;
61 IDs : PackedMapOfInteger;
62 IDsToExclude: in out PackedMapOfInteger;
63 DisplayMode : Integer ) is virtual;
64 ---Purpose: Builds nodes presentation
65
66 BuildElements ( me; Prs : Presentation from Prs3d;
67 IDs : PackedMapOfInteger;
68 IDsToExclude: in out PackedMapOfInteger;
69 DisplayMode : Integer ) is virtual;
70 ---Purpose: Builds elements presentation
71
72 BuildHilightPrs ( me; Prs : Presentation from Prs3d;
73 IDs : PackedMapOfInteger;
74 IsElement : Boolean
75 ) is virtual;
76 ---Purpose: Builds presentation of hilighted entity
77
78 AddLinkPrs ( me; theCoords : Array1OfReal from TColStd;
79 theLines : ArrayOfPolylines from Graphic3d;
80 IsShrinked : Boolean;
81 ShrinkCoef : Real
82 ) is protected;
83 ---Purpose: Add to array of polylines some lines representing link
84
85 AddFaceWirePrs ( me; theCoords : Array1OfReal from TColStd;
86 NbNodes : Integer;
87 theLines : ArrayOfPolylines from Graphic3d;
88 IsShrinked : Boolean;
89 ShrinkCoef : Real
90 ) is protected;
91 ---Purpose: Add to array of polylines some lines representing face's wire
92
93 AddFaceSolidPrs ( me; ID : Integer;
94 theCoords : Array1OfReal from TColStd;
95 NbNodes : Integer;
96 MaxNodes : Integer;
97 thePolygons : ArrayOfPolygons from Graphic3d;
98 IsReflected : Boolean;
99 IsShrinked : Boolean;
100 ShrinkCoef : Real;
101 IsMeshSmoothShading : Boolean
102 ) is protected;
103 ---Purpose: Add to array of polygons a polygon representing face
104
105 AddVolumePrs ( myclass; Topo : HArray1OfSequenceOfInteger from MeshVS;
106 Nodes : Array1OfReal from TColStd;
107 NbNodes : Integer;
108 Array : ArrayOfPrimitives from Graphic3d;
109 IsReflected : Boolean;
110 IsShrinked : Boolean;
111 IsSelect : Boolean;
112 ShrinkCoef : Real );
113 ---Purpose: Add to array polygons or polylines representing volume
114
115 HowManyPrimitives( myclass; Topo : HArray1OfSequenceOfInteger from MeshVS;
116 AsPolygons : Boolean;
117 IsSelect : Boolean;
118 NbNodes : Integer;
119 Vertices, Bounds : out Integer );
120 ---Purpose: Calculate how many polygons or polylines are necessary to draw passed topology
121
122 DrawArrays ( me; Prs : Presentation from Prs3d;
123 thePolygons : ArrayOfPolygons from Graphic3d;
124 theLines : ArrayOfPolylines from Graphic3d;
125 theLinkLines : ArrayOfPolylines from Graphic3d;
126 theVolumesInShad : ArrayOfPolygons from Graphic3d;
127 IsPolygonsEdgesOff : Boolean;
128 IsSelected : Boolean;
129 theFillAsp : AspectFillArea3d from Graphic3d;
130 theLineAsp : AspectLine3d from Graphic3d
131 ) is protected;
132 ---Purpose: Draw array of polygons and polylines in the certain order according to transparency
133
134 CalculateCenter ( myclass; theCoords : Array1OfReal from TColStd;
135 NbNodes : Integer;
136 xG, yG, zG : out Real ) is protected;
137 ---Purpose: Default calculation of center of face or link. This method if useful for shrink mode presentation
138 -- theCoords is array of nodes co-ordinates in the strict order X1, Y1, Z1, X2...
139 -- NbNodes is number of nodes an element consist of
140 -- xG, yG, zG are co-ordinates of center whose will be returned
141
142end MeshPrsBuilder;