]> SALOME platform Git repositories - modules/visu.git/blob - idl/VISU_Gen.idl
Salome HOME
fa9708748d5e1161098ba1a8f43f0be133a17a88
[modules/visu.git] / idl / VISU_Gen.idl
1 // File :      VISU_Gen.idl
2 // Created :
3 // Author :    Alexey Petrov
4 // Project :   SALOME
5 // Copyright : OPEN CASCADE
6 // $HEADERS:
7
8 /*! \file VISU_Gen.idl This file conatins a set of interfaces of %VISU module.
9       This module will provide various forms of data visualization in %SALOME application.
10       These forms include data tables, XY plots, 3d representations
11       and combination of these forms.
12 */
13 /*!
14  \defgroup Visu SALOME VISU module
15 */
16
17 #ifndef __VISU_GEN__
18 #define __VISU_GEN__
19
20 #include "SALOME_Exception.idl"
21 #include "SALOME_Component.idl"
22 #include "SALOMEDS.idl"
23 #include "SALOMEDS_Attributes.idl"
24 #include "MED.idl"
25
26 /*! \ingroup Visu
27   The main package of interfaces of the module %VISU.
28 */
29 module VISU {
30   //-------------------------------------------------------
31   const string VISU__doc__ = "Module VISU provides various forms of data visualization in SALOME application.\nThese forms include data tables, XY plots,\n3d representations and combination of these forms.";
32   typedef string IdType;
33   enum Scaling{ LINEAR, LOGARITHMIC};
34   enum Entity{ NODE, EDGE, FACE, CELL};
35   //enum Entity{ CELL, FACE, EDGE, NODE};       
36 /*!
37  This enumeration contains a set of elements defining the type of the module.
38 */
39    enum VISUType{ TNONE,
40                   TCURVE, TTABLE, TCONTAINER, TMESH, TSCALARMAP,
41                   TISOSURFACE, TDEFORMEDSHAPE, TCUTPLANES, TVECTORS, TSTREAMLINES,
42                   TVISUGEN, TVIEWMANAGER, TRESULT,
43                   TXYPLOT, TTABLEVIEW, TVIEW3D,
44                   TENTITY, TFAMILY, TGROUP, TFIELD, TTIMESTAMP,
45                   TALL};
46   interface Base {
47 /*!
48    Returns ID of the object.
49 */
50     IdType GetID();
51     const string GetID__doc__ = "Returns ID of the object.";
52 /*!
53 Returns the type of the presentable object
54 */
55     VISUType GetType();
56     const string GetType__doc__ = "Returns the type of the module interface";
57   };   
58 /*! \brief Presentable object interface
59
60  It is the root class of all presentable objects.
61 */
62   interface PrsObject : Base{
63   };
64     const string PrsObject__doc__ = "It is the root class of all presentable objects.";
65   //-------------------------------------------------------
66 /*! \brief %Table representation interface
67
68 Presentation parameters of the %Table view.
69 */
70   interface Table : PrsObject {
71 /*!
72 Sets the title of the table.
73 */
74     void SetTitle(in string theTitle);
75     const string SetTitle__doc__ = "Sets the title of the table.";
76 /*!
77 Gets the title of the table.
78 */
79     string GetTitle();
80     const string GetTitle__doc__ = "Gets the title of the table.";
81 /*!
82  This enumeration contains a set of elements defining the orientation of the table.
83 */
84     enum Orientation{ HORIZONTAL, /*!<Horizontal orientation of the table.*/
85                        VERTIACAL /*!<Vertical orientation of the table.*/
86                     };
87 /*!
88 Sets orientation of the table.
89 */
90     void SetOrientation(in Orientation theOrientation);
91     const string SetOrientation__doc__ = "Sets orientation of the table.";
92 /*!
93 Gets orientation of the table.
94 */
95     Orientation GetOrientation();
96     const string GetOrientation__doc__ = "Gets orientation of the table.";
97  /*!
98 Gets the number of rows of the table
99  */
100     long GetNbRows();
101     const string GetNbRows__doc__ = "Gets the number of rows of the table.";
102  /*!
103 Gets the number of columns of the table
104  */
105     long GetNbColumns();
106     const string GetNbColumns__doc__ ="Gets the number of columns of the table.";
107   };
108     const string Table__doc__ = "The Table interface contains presentation\nparameters of the %Table view.";
109   //-------------------------------------------------------
110 /*! \brief Interface of curve representation.
111
112 Manages presentation parameters of one curve.
113 It can be used for presentation of a set of curves using a combined presentation.
114 */
115   interface Curve : PrsObject{
116 /*!
117 Sets the title of the curve.
118 */
119     void SetTitle(in string theTitle);
120     const string SetTitle__doc__ = "Sets the title of the curve.";
121 /*!
122 Gets the title of the curve.
123 */
124     string GetTitle();
125     const string GetTitle__doc__ = "Gets the title of the curve.";
126 /*!
127 Sets the color of the curve.
128 */
129     void SetColor(in SALOMEDS::Color theColor);
130     const string SetColor__doc__ = "Sets the color of the curve.";
131 /*!
132 Gets the color of the curve.
133 */
134     SALOMEDS::Color GetColor();
135     const string GetColor__doc__ = "Gets the color of the curve.";
136  /*!
137  This enumeration contains a set of elements defining the representation type of markers (data points) with help of
138 which the curve is constructed on the graphics.
139 */
140     enum MarkerType{ NONE, CIRCLE, RECTANGLE, DIAMOND,
141                      DTRIANGLE, UTRIANGLE, LTRIANGLE, RTRIANGLE,
142                      CROSS, XCROSS };
143 /*!
144 Sets the representation type of markers (data points) with help of
145 which the curve is constructed on the graphics.
146 */
147     void SetMarker(in MarkerType theType);
148     const string SetMarker__doc__ = "Sets the representation type of markers\n(data points) with help of which\nthe curve is constructed on the graphics.";
149 /*!
150 Gets the representation type of markers (data points) with help of
151 which the curve is constructed on the graphics.
152 */
153     MarkerType GetMarker();
154     const string GetMarker__doc__ = "Gets the representation type of markers\n(data points) with help of which the\ncurve is constructed on the graphics.";
155 /*!
156  This enumeration contains a set of elements defining the
157  type of representation of curve lines on the graphics.
158 */
159     enum LineType{ VOIDLINE, SOLIDLINE, DASHLINE, DOTLINE, DASHDOTLINE, DASHDOTDOTLINE};
160 /*!
161 Sets the type of representation of curve lines on the graphics.
162 */
163     void SetLine(in LineType theType, in long theLineWidth);
164     const string SetLine__doc__ = "Sets the type of representation of curve\nlines on the graphics.";
165 /*!
166 Gets the type of representation of curve lines on the graphics.
167 */
168     LineType GetLine();
169     const string GetLine__doc__ = "Gets the type of representation of curve\nlines on the graphics.";
170
171 /*!
172 Gets the width of the curve line.
173 */
174     long GetLineWidth();
175     const string GetLineWidth__doc__ = "Gets the width of the curve line.";
176   };
177     const string Curve__doc__ = "The curve representation interface manages\npresentation parameters of one curve. It can be used\nfor presentation of a set of curves\nusing a combined presentation.";
178 //-------------------------------------------------------
179 /*! \brief The %Container presentable object interface
180 This interface contains a set of methods used for management of a group of curves
181 which are stored in the container.
182 */
183   interface Container : PrsObject{
184 /*!
185 Adds a curve into the container.
186 */
187     void AddCurve(in Curve theCurve);
188     const string AddCurve__doc__ = "Adds a curve into the container.";
189 /*!
190 Removes a curve from the container.
191 */
192     void RemoveCurve(in Curve theCurve);
193     const string RemoveCurve__doc__ = "Removes a curve from the container.";
194 /*!
195 Gets the number of curves which are stored in the container.
196 */
197     long GetNbCurves();
198     const string GetNbCurves__doc__ = "Gets the number of curves which\nare stored in the container.";
199 /*!
200 Removes all curves from the container.
201 */
202     void Clear();
203     const string Clear__doc__ = "Removes all curves from the container.";
204
205   };
206     const string Container__doc__ = "The Container presentable object\ninterface contains a set of methods\nused for management of a group of curves which\nare stored in the container.";
207   //-------------------------------------------------------
208 /*!
209  This enumeration contains a set of elements defining the
210  type of representation of the mesh.
211 */
212
213     enum PresentationType{ POINT,
214                            WIREFRAME,
215                            SHADED,
216                            SHRINK
217                          };
218 /*! \brief Interface of the mesh.
219
220 This interface manages the presentation parameters of the mesh.
221 */
222     interface Mesh : PrsObject{
223 /*!
224 Sets the color of mesh cells.
225 */
226     void SetCellColor(in SALOMEDS::Color theColor);
227     const string SetCellColor__doc__ = "Sets the color of mesh cells.";
228 /*!
229 Gets the color of mesh cells.
230 */
231     SALOMEDS::Color GetCellColor();
232     const string GetCellColor__doc__ = "Gets the color of mesh cells.";
233 /*!
234 Sets the color of mesh nodes.
235 */
236     void SetNodeColor(in SALOMEDS::Color theColor);
237     const string SetNodeColor__doc__ = "Sets the color of mesh nodes.";
238 /*!
239 Gets the color of mesh nodes.
240 */
241     SALOMEDS::Color GetNodeColor();
242     const string GetNodeColor__doc__ = "Gets the color of mesh nodes.";
243
244 /*!
245 Sets the color of mesh links.
246 */
247     void SetLinkColor(in SALOMEDS::Color theColor);
248     const string SetLinkColor__doc__ = "Sets the color of mesh links.";
249 /*!
250 Gets the color of mesh links.
251 */
252     SALOMEDS::Color GetLinkColor();
253     const string GetLinkColor__doc__ = "Gets the color of mesh links.";
254 /*!
255 Sets the type of representation of the mesh.
256 */
257     void SetPresentationType(in PresentationType theType);
258     const string SetPresentationType__doc__ = "Sets the type of representation of the mesh.";
259 /*!
260 Gets the type of representation of the mesh.
261 */
262     PresentationType GetPresentationType();
263     const string GetPresentationType__doc__ = "Gets the type of representation of the mesh.";
264   };
265     const string Mesh__doc__ = "The Mesh interface manages the presentation parameters\nof the mesh.";
266   //-------------------------------------------------------
267 /*! \brief Interface of the %Scalar Map presentation
268
269 This interface contains presentation parameters of the ScalarMap presentation
270 */
271   interface ScalarMap : PrsObject{
272     void SetScalarMode(in long theScaling);
273     long GetScalarMode();
274     void SetScaling(in Scaling theScaling);
275     const string SetScaling__doc__ = "Sets the type of scaling of the values\nreflected by this presentation.";
276 /*!
277 Gets the type of scaling of the values reflected by this presentation.
278 */
279     Scaling GetScaling();
280     const string GetScaling__doc__ = "Gets the type of scaling of the values\nreflected by this presentation.";
281 /*!
282 Sets scalar range - min and max boundaries of this presentable object.
283 \param theMin  Min boundary of this presentable object.
284 \param theMax  Max boundary of this presentable object.
285 */
286     void SetRange(in double theMin, in double theMax);
287     const string SetRange__doc__ = "Sets scalar range - min and max boundaries\nof this presentable object.";
288 /*!
289  Gets the min boundary of this presentable object.
290 */
291     double GetMin();
292     const string GetMin__doc__ = "Gets the min boundary of this presentable object.";
293 /*!
294  Gets the max boundary of this presentable object.
295 */
296     double GetMax();
297     const string GetMax__doc__ = "Gets the max boundary of this presentable object.";
298
299 /*! %Orientation of this presentable object. */
300     enum Orientation{
301                      HORIZONTAL, /*!< Horizontal orientation of this presentable object.*/
302                        VERTICAL  /*!< Vertical orientation of this presentable object.*/
303                     };
304 /*!
305  Sets the type of orientation of this presentable object.
306 */
307     void SetOrientation(in Orientation theOrientation);
308     const string SetOrientation__doc__ = "Sets the type of orientation of this presentable object.";
309 /*!
310  Gets the type of orientation of this presentable object.
311 */
312     Orientation GetOrientation();
313     const string GetOrientation__doc__ = "Gets the type of orientation of this presentable object.";
314
315 /*! \brief Position of this presentable object.
316
317 Sets the position of this presentable object origin on the screen.
318 \param X   Horizontal position. The value can be between 0 and 1.
319 \param Y   Vertical position. The value can be between 0 and 1.
320 */
321     void SetPosition(in double X, in double Y);
322     const string SetPosition__doc__ = "Sets the position of this presentable object\norigin on the screen.";
323 /*!
324   Gets horizontal position of this presentable object origin.
325 */
326     double GetPosX();
327     const string GetPosX__doc__ = "Gets horizontal position of this presentable object origin.";
328 /*!
329   Gets vertical position of this presentable object origin.
330 */
331     double GetPosY();
332     const string GetPosY__doc__ = "Gets vertical position of this presentable object origin.";
333 /*! \brief Size of this presentable object.
334
335 Sets the size of the scalar bar.
336 \param theWidth  Width of this presentable object. The value can be between 0 and 1.
337 \param theHeight  Height of this presentable object. The value can be between 0 and 1.
338 */
339     void SetSize(in double theWidth, in double theHeight);
340     const string SetSize__doc__ = "Sets the size of the scalar bar.";
341 /*!
342 Gets the width of this presentable object.
343 */
344     double GetWidth();
345     const string GetWidth__doc__ = "Gets the width of this presentable object.";
346 /*!
347 Gets the height of this presentable object.
348 */
349     double GetHeight();
350     const string GetHeight__doc__ = "Gets the height of this presentable object.";
351 /*!
352 Sets the number of colors which will be used for presentation of this presentable object.
353 */
354     void SetNbColors(in long theNbColors);
355     const string SetNbColors__doc__ = "Sets the number of colors which will be\nused for presentation of this presentable object.";
356 /*!
357 Gets the number of colors which will be used for presentation of this presentable object.
358 */
359     long GetNbColors();
360     const string GetNbColors__doc__ = "Gets the number of colors which will be\nused for presentation of this presentable object.";
361 /*!
362 Sets the number of labels which will be used for indication of the gradation
363  of this presentable object.
364 */
365     void SetLabels(in long theNbLabels);
366     const string SetLabels__doc__ = "Sets the number of labels which will be used\nfor indication of the gradation of this presentable object.";
367 /*!
368 Gets the number of labels which will be used for indication of the gradation
369  of this presentable object.
370 */
371     long GetLabels();
372     const string GetLabels__doc__ = "Gets the number of labels which will be used\nfor indication of the gradation of this presentable object.";
373
374 /*!
375 Sets the title of this presentable object. For scalar bar by default - the name of the selected result is used.
376 */
377     void SetTitle(in string theName);
378     const string SetTitle__doc__ = "Sets the title of this presentable object. For scalar bar by default - the name of the selected result is used.";
379 /*!
380 Gets the title of this presentable object.
381 */
382     string GetTitle();
383     const string GetTitle__doc__ = "Gets the title of this presentable object.";
384   };
385     const string ScalarMap__doc__ = "The scalarmap interface contains presentation\nparameters of the ScalarMap presentation.";
386   //-------------------------------------------------------
387 /*! \brief Deformed shape presentation interface
388
389 Presentation parameters of the deformed shape presentation.
390 */
391     interface DeformedShape : ScalarMap{
392 /*!
393 Sets the scale of the presentatable object.
394 */
395     void SetScale(in double theScale);
396     const string SetScale__doc__ = "Sets the scale of the deformed shape.";
397 /*!
398 Gets the scale of the presentatable object.
399 */
400     double GetScale();
401     const string GetScale__doc__ = "Gets the scale of the deformed shape";
402   };
403     const string DeformedShape__doc__ = "The deformed shape interface contains\nthe presentation parameters of the deformed shape.";
404   //-------------------------------------------------------
405 /*! \brief Cut planes interface
406
407 Presentation parameters of Cut planes presentation.
408 */
409   interface CutPlanes : ScalarMap{
410 /*!
411  This enumeration contains a set of elements defining the orientation in 3D space
412  of cut planes presentation.
413 */
414     enum Orientation {XY, YZ, ZX};
415 /*!
416 Sets the type of orientation in 3D space of cut planes presentation.
417 */
418     void SetOrientationType(in Orientation theNb);
419     const string SetOrientationType__doc__ = "Sets the type of orientation in 3D\nspace of cut planes presentation.";
420 /*!
421 Gets the type of orientation in 3D space of cut planes presentation.
422 */
423     Orientation GetOrientationType();
424     const string GetOrientationType__doc__ = "Gets the type of orientation in 3D\nspace of cut planes presentation.";
425 /*!
426 Sets the number of cut planes.
427 */
428     void SetNbPlanes(in long theNb);
429     const string SetNbPlanes__doc__ = "Sets the number of cut planes.";
430 /*!
431 Gets the number of cut planes.
432 */
433     long GetNbPlanes();
434     const string GetNbPlanes__doc__ = "Gets the number of cut planes.";
435 /*! Rotation around X-axis.
436 Sets rotation angle of the cut plane presentation.
437 */
438     void SetRotateX(in double theAngle);
439     const string SetRotateX__doc__ = "Rotation around X-axis.\nSets rotation angle of the cut plane presentation.";
440 /*! Rotation around X-axis.
441 Gets rotation angle of the cut plane presentation.
442 */
443     double GetRotateX();
444     const string GetRotateX__doc__ = "Rotation around X-axis.\nGets rotation angle of the cut plane presentation.";
445 /*! Rotation around Y-axis.
446 Sets rotation angle of the cut plane presentation.
447 */
448     void SetRotateY(in double theAngle);
449     const string SetRotateY__doc__ = "Rotation around Y-axis.\nSets rotation angle of the cut plane presentation.";
450 /*! Rotation around Y-axis.
451 Sets rotation angle of the cut plane presentation.
452 */
453     double GetRotateY();
454     const string GetRotateY__doc__ = "Rotation around Y-axis.\nGets rotation angle of the cut plane presentation.";
455   };
456     const string CutPlanes__doc__ = "The cut planes interface contains\nthe presentation parameters of cut planes presentation.";
457   //-------------------------------------------------------
458   /*! \brief Interface of the stream lines representation    
459   This interface contains presentation parameters of
460   stream lines presentations.
461   */
462   interface StreamLines : DeformedShape{
463     enum Direction{ FORWARD,
464                     BACKWARD,
465                     BOTH
466     };
467   };
468   const string StreamLines__doc__ = "";
469
470
471 /*! \brief Interface of the isometric surface representation
472
473    This interface contains presentation parameters of
474     isometric surface presentations.
475 */
476   interface IsoSurfaces : ScalarMap{
477 /*!
478    Sets the number of isometric surfaces.
479 */
480     void SetNbSurfaces(in long theNb);
481     const string SetNbSurfaces__doc__ = "Sets the number of isometric surfaces.";
482 /*!
483    Gets the number of isometric surfaces
484 */
485     long GetNbSurfaces();
486     const string GetNbSurfaces__doc__ = "Gets the number of isometric surfaces.";
487   };
488     const string IsoSurfaces__doc__ = "The isometric surface interface contains\nthe presentation parameters of the isometric surface presentations.";
489   //-------------------------------------------------------
490 /*! \brief Interface of the vector presentation.
491
492 This interface contains presentation parameters of the vector.
493 */
494   interface Vectors : DeformedShape{
495 /*!
496 Sets the width of the line of the vector.
497 */
498     void SetLineWidth(in double theWidth);
499     const string SetLineWidth__doc__ = "Sets the width of the line of the vector.";
500 /*!
501 Gets the width of the line of the vector.
502 */
503     double GetLineWidth();
504     const string GetLineWidth__doc__ = "Gets the width of the line of the vector.";
505 /*!
506  This enumeration contains a set of elements defining the type of representation of the vector head.
507 */
508     enum GlyphType{ ARROW,
509                     CONE2,
510                     CONE6,
511                     NONE
512                   };
513 /*!
514 Sets the type of representation of the vector head.
515 */
516     void SetGlyphType(in GlyphType theType);
517     const string SetGlyphType__doc__ = "Sets the type of representation of the vector head.";
518 /*!
519 Gets the type of representation of the vector head.
520 */
521     GlyphType GetGlyphType();
522     const string GetGlyphType__doc__ = "Gets the type of representation of the vector head.";
523 /*!
524  This enumeration contains a set of elements defining the position of the vector head.
525 */
526
527     enum GlyphPos{ CENTER, /*!<In the center of the vector.*/
528                    TAIL,   /*!<In the tail of the vector.*/
529                    HEAD  /*!<In the head of the vector.*/
530                  };
531 /*!
532 Sets the position of the vector head.
533 */
534     void SetGlyphPos(in GlyphPos thePos);
535     const string SetGlyphPos__doc__ = "Sets the position of the vector head.";
536 /*!
537 Gets the position of the vector head.
538 */
539     GlyphPos GetGlyphPos();
540     const string GetGlyphPos__doc__ = "Gets the position of the vector head.";
541   };
542     const string Vectors__doc__ = "Interface of the vector presentation contains\nthe presentation parameters of the vector.";
543   //-------------------------------------------------------
544 /*! \brief Interface %Result
545
546 This interface serves for inner representation of data generated in other sources. (MED object or file)
547 This data is needed for further construction of graphical presentations.
548 */
549   interface Result : Base {
550   };
551     const string Result__doc__ = "This interface serves for inner representation\nof data generated in other sources. (MED object or file) This data is needed for further construction of graphical presentations.";
552   //-------------------------------------------------------
553   interface ViewManager;
554 /*! \brief %VISU_Gen interface
555
556 This is the main interface of %VISU component. It is necessary for creation of
557 post-processing presentations from given %Result and %Table object reference, using the views
558 provided by %ViewManager.
559 */
560    interface VISU_Gen : Engines::Component, SALOMEDS::Driver, Base{
561      void SetCurrentStudy(in SALOMEDS::Study theStudy);
562      SALOMEDS::Study GetCurrentStudy();
563 /*!
564     Gets the %ViewManager which is used for creation of
565     post-processing presentations.
566 */
567     ViewManager GetViewManager();
568     const string GetViewManager__doc__ = "Gets the ViewManager which is used for creation\nof post-processing presentations.";
569
570 /*!
571 Imports tables from a file and create TableAttribute in Sudy
572 */
573     SALOMEDS::SObject ImportTables(in string theFileName);
574 /*!
575 Imports data from a file.
576 */
577     Result ImportFile(in string theFileName);
578     const string ImportFile__doc__ = "Imports data from a file.";
579 /*!
580 Imports data from a %MED object field.
581 */
582     Result ImportMed(in SALOMEDS::SObject theMedSObject);
583     const string ImportMed__doc__ = "Imports data from a MED object field.";
584
585 /*!
586 Creates a %Mesh on the basis of the data generated in other sources (MED object or file).
587 */
588     const string CreateMesh__doc__ = "Creates a Mesh on the basis of the data\ngenerated in other sources (MED object or file).";
589     Mesh MeshOnEntity(in Result theResult, in string theMeshName, in Entity theEntity);
590     Mesh FamilyMeshOnEntity(in Result theResult, in string theMeshName, in Entity theEntity, in string theFamilyName);
591     Mesh GroupMesh(in Result theResult, in string theMeshName, in string theGroupName);
592 /*!
593 Creates a scalar bar presentation.
594 \param theResult   Data generated in other sources. (MED object or file)
595 \param theMeshName  One of the meshes presented in MED file
596 \param theEntity Type of entity where the field is defined
597 \param theFieldName  Group of data attributed to the %MESH. The data can be scalar or vector.
598 \param theIteration  Number of iteration on the field
599 */
600     ScalarMap ScalarMapOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
601     const string CreateScalarMap__doc__ = "Creates a scalar bar presentation.";
602 /*!
603 Creates a deformed shape presentation.
604 \param theResult   Data generated in other sources. (MED object or file)
605 \param theMeshName  One of the meshes presented in MED file
606 \param theEntity Type of entity where the field is defined
607 \param theFieldName  Group of data attributed to the %MESH. The data can be scalar or vector.
608 \param theIteration  Number of iteration on the field
609 */
610     DeformedShape DeformedShapeOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
611     const string CreateDeformedShape__doc__ = "Creates a deformed shape presentation.";
612 /*!
613 Creates a vector presentation.
614 \param theResult   Data generated in other sources. (MED object or file)
615 \param theMeshName  One of the meshes presented in MED file
616 \param theEntity Type of entity where the field is defined
617 \param theFieldName  Group of data attributed to the %MESH. The data can be scalar or vector.
618 \param theIteration  Number of iteration on the field
619 */
620
621     Vectors VectorsOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
622     const string CreateVectors__doc__ = "Creates a vector presentation.";
623 /*!
624 Creates an iso surface presentation.
625 \param theResult   Data generated in other sources. (MED object or file)
626 \param theMeshName  One of the meshes presented in MED file
627 \param theEntity Type of entity where the field is defined
628 \param theFieldName  Group of data attributed to the %MESH. The data can be scalar or vector.
629 \param theIteration  Number of iteration on the field
630 */
631
632     IsoSurfaces IsoSurfacesOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
633     const string CreateIsoSurfaces__doc__ = "Creates an iso surface presentation.";
634 /*!
635 Creates an stream lines presentation.
636 \param theResult   Data generated in other sources. (MED object or file)
637 \param theMeshName  One of the meshes presented in MED file
638 \param theEntity Type of entity where the field is defined
639 \param theFieldName  Group of data attributed to the %MESH. The data can be scalar or vector.
640 \param theIteration  Number of iteration on the field
641 */    
642     StreamLines StreamLinesOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
643     const string CreateStreamLines__doc__ = "Creates an stream lines presentation.";
644
645 /*!
646 Creates a presentation of cut planes.
647 \param theResult   Data generated in other sources. (MED object or file)
648 \param theMeshName  One of the meshes presented in MED file
649 \param theEntity Type of entity where the field is defined
650 \param theFieldName  Group of data attributed to the %MESH. The data can be scalar or vector.
651 \param theIteration  Number of iteration on the field
652 */
653     CutPlanes CutPlanesOnField(in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration);
654     const string CreateCutPlanes__doc__ = "Creates a presentation of cut planes.";
655 /*!
656 Creates a table presentation.
657 */
658     Table CreateTable(in string theTableEntry);
659     const string CreateTable__doc__ = "Creates a table prasentation containing the data.";
660 /*!
661 Creates a curve on the basis of points, whose values are taken from the table.
662 \param theTable  Table containing the data for construction of curves.
663 \param HRow  Index of the row in the table:  abscissa of the point.
664 \param VRow  Index of the row in the table:  ordinate of the point.
665 */
666     Curve CreateCurve(in Table theTable, in long theHRow, in long theVRow);
667     const string CreateCurve__doc__ = "Creates a curve on the basis of points, whose values\nare taken from the table.";
668 /*!
669 Creates a presentation form containing an array of references to the curves.
670 */
671      Container CreateContainer();
672      const string CreateContainer__doc__ = "Creates a presentation form containing an array\nof references to the curves.";
673   };
674      const string VISU_Gen__doc__ = "This is the main interface of the VISU component. It is\nnecessary for creation of post-processing presentations from given result and table object reference, using the views provided by the viewmanager.";
675 /*! \brief %View interface
676
677  Contains a set of methods used by the %View frame, which can be one of
678  the following types: 3d, Table, XY plot.
679  %View interface is a base for all types of %view interfaces.
680 */
681   interface View: Base{
682 /*!
683 Sets the title of the %View frame.
684 */
685     void SetTitle(in string theTitle);
686     const string SetTitle__doc__ = "Sets the title of the view frame.";
687 /*!
688 Gets the title of the %View frame.
689 */
690     string GetTitle();
691     const string GetTitle__doc__ = "Gets the title of the view frame.";
692 /*!
693 Sets background color of the %View frame.
694 */
695     void SetBackground(in SALOMEDS::Color theColor);
696     const string SetBackground__doc__ = "Sets background color of the view frame.";
697 /*!
698 Gets background color of the %View frame.
699 */
700     SALOMEDS::Color GetBackground();
701     const string GetBackground__doc__ = "Gets background color of the view frame.";
702 /*!
703 Minimizes to the task bar or to the bottom of the Desktop the %View frame.
704 */
705     void Minimize();
706     const string Minimize__doc__ = "Minimizes to the task bar or to the bottom of the\nDesktop the view frame.";
707 /*!
708 Restores the %View frame.
709 */
710     void Restore();
711     const string Restore__doc__ = "Restores the view frame.";
712 /*!
713 Maximizes the %View frame.
714 */
715     void Maximize();
716     const string Maximize__doc__ = "Maximizes the view frame.";
717 /*!
718 Removes all presentations (presentable objects) from the %view.
719 */
720     void EraseAll();
721     const string EraseAll__doc__ = "Removes all presentations (presentable objects) from the view.";
722 /*!
723 Displays all presentations (presentable objects) in the %view.
724 */
725     void DisplayAll();
726     const string DisplayAll__doc__ = "Displays all presentations (presentable objects) in the view.";
727 /*!
728 Removes a definite presentation (presentable object) from the %view.
729 */
730     void Erase(in PrsObject thePrsObj);
731     const string Erase__doc__ = "Removes a definite presentation (presentable object) from the view.";
732 /*!
733 Displays a definite presentation (presentable object) in the %view.
734 */
735     void Display(in PrsObject thePrsObj);
736     const string Display__doc__ = "Displays a definite presentation (presentable object) in the view.";
737 /*!
738 Allows to display only a definite presentation (presentable object) in the %view.
739 All other presentations are removed from the %view.
740 */
741     void DisplayOnly(in PrsObject thePrsObj);
742     const string DisplayOnly__doc__ = "Allows to display only a definite presentation\n(presentable object) in the view. All other presentations are\nremoved from the view.";
743 /*!
744 Updates the view.
745 */
746     void Update();
747     const string Update__doc__ = "Updates the view.";
748
749 /*!
750 Saves the view.
751 */
752     boolean SavePicture(in string theFileName);
753     const string SavePicture__doc__ = "Saves the view contents into image file.";
754   };
755
756     const string View__doc__ = "Contains a set of methods used by the view frame,\nwhich can be one of the following types:\n3d, table, XY plot.";
757   //-------------------------------------------------------
758 /*! \brief 3D view interface
759
760 This interface contains a set of methods necessary for representation of objects in 3D space.
761 */
762
763   interface View3D : View {
764 /*!
765 This enumeration contains a set of elements determining a predefined point of view
766   (position of the camera in 3D space relative to the presentable object).
767 */
768     enum ViewType{ FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM};
769 /*!
770 This enumeration contains a set of elements determining the axis
771 */
772     enum Axis{ XAxis, YAxis, ZAxis};
773 /*!
774 Data type defining coordinates in 3D space.
775 */
776     typedef double XYZ[3];
777
778 /*!
779  Makes all presentations, which are currently present in the %view, completely visible.
780 */
781
782     void FitAll();
783     const string FitAll__doc__ = "Makes all presentations, which are currently present in the\nview, completely visible.";
784
785 /*!
786 Sets a predefined point of view (FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM). (In other words it means
787  a predefined position of the camera in 3D space with respect to the object which is represented.)
788 */
789     void SetView(in ViewType theType);
790     const string SetView__doc__ = "Sets a predefined point of view\n(FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM).";
791
792 /*!
793 Sets the position of the camera in 3D space. This point is used as the first point of the vector defining
794 the view direction of the camera.
795 */
796     void SetPointOfView(in XYZ theCoord);
797     const string SetPointOfView__doc__ = "Sets the position of the camera in 3D space.";
798 /*!
799 Gets the position of the camera in 3D space.This point is used as the first point of the vector defining
800 the view direction of the camera.
801 */
802     XYZ GetPointOfView();
803     const string GetPointOfView__doc__ = "Gets the position of the camera in 3D space.";
804 /*!
805 Sets the vertical line of the camera in 3D space.
806 */
807     void SetViewUp(in XYZ theDir);
808     const string SetViewUp__doc__ = "Sets the vertical line of the camera in 3D space.";
809 /*!
810 Gets the vertical line of the camera in 3D space.
811 */
812     XYZ GetViewUp();
813     const string GetViewUp__doc__ = "Gets the vertical line of the camera in 3D space.";
814 /*!
815 Sets the point of sight of the camera. This point is used as the second point of the vector defining
816 the view direction of the camera.
817 */
818     void SetFocalPoint(in XYZ theDir);
819     const string SetFocalPoint__doc__ = "Sets the point of sight of the camera.";
820 /*!
821 Gets the point of sight of the camera. This point is used as the second point of the vector defining
822 the view direction of the camera.
823 */
824     XYZ GetFocalPoint();
825     const string GetFocalPoint__doc__ = "Gets the point of sight of the camera.";
826 /*!
827 Zooming of the presentable object. Sets the scale.
828 */
829     void SetParallelScale(in double theScale);
830     const string SetParallelScale__doc__ = "Zooming of the presentable object. Sets the scale.";
831 /*!
832 Zooming of the presentable object. Gets the scale.
833 */
834     double GetParallelScale();
835     const string GetParallelScale__doc__ = "Zooming of the presentable object. Gets the scale.";
836 /*!
837 Scaling of the view along a definite axis.
838 \param theAxis The axis of the scaling
839 \param theParam The coefficient of the scaling
840 */
841     void ScaleView(in Axis theAxis, in double theParam);
842     const string ScaleView__doc__ = "Scaling of the view along a definite axis and with a\ndefinite coefficient of the scaling.";
843 /*!
844 Removes the scaling of the view.
845 */
846     void RemoveScale();
847     const string RemoveScale__doc__ = "Removes the scaling of the view.";
848 /*!
849 Returns True if the view parameters have been created, False if the parameters have been modified.
850 */
851     boolean SaveViewParams(in string theName);
852     const string SaveViewParams__doc__ = "Returns True if the view parameters have been created,\nFalse if the parameters have been modified.";
853 /*!
854 Returns True if the view parameters have been found and applied to the view,
855 False if the parameters with this name don't exist.
856 */
857     boolean RestoreViewParams(in string theName);
858     const string RestoreViewParams__doc__ = "Returns True if the view parameters have been found and\napplied to the view, False if the parameters with this name don't exist.";
859   };
860     const string View3D__doc__ = "This interface contains a set of methods necessary for representation\nof objects in 3D space.";
861
862
863   //-------------------------------------------------------
864   interface TableView : View {
865    
866   };
867
868
869   //-------------------------------------------------------
870   interface XYPlot : View {
871     void SetSubTitle(in string theTitle);
872     string GetSubTitle();
873
874     enum CurveType { POINTS, MULTYLINE, SPLINE};
875     void SetCurveType(in CurveType theType);
876     CurveType GetCurveType();
877         
878     void SetMarkerSize(in long theSize);
879     long GetMarkerSize();
880
881     void EnableXGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
882     void EnableYGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
883  
884     void SetHorScaling(in Scaling theScaling);
885     Scaling GetHorScaling();
886     void SetVerScaling(in Scaling theScaling);
887     Scaling GetVerScaling();
888
889     void SetXTitle(in string theTitle);
890     string GetXTitle();
891
892     void SetYTitle(in string theTitle);
893     string GetYTitle();
894
895     void ShowLegend(in boolean theShowing);
896
897     void FitAll();
898   };
899
900   //-------------------------------------------------------
901 /*! \brief Interface of the %ViewManager
902
903    The %ViewManager is necessary for work with view windows (creation and deletion).
904 */
905
906     interface ViewManager: Base{
907 /*! \brief Getting an active %View Frame
908
909  Returns an object reference to the active %View Frame.
910  Type of the %View must be checked.
911  \note <BR>Returns nil if there are no views currently opened.
912 */
913
914     View GetCurrentView();
915     const string GetCurrentView__doc__ = "Getting an active View Frame.\nReturns an object reference to the active view frame.";
916 /*! \brief Creation of a 3d %View.
917
918  Returns an object reference to the newly created 3d %View.
919 */
920     View3D Create3DView();
921     const string Create3DView__doc__ = "Creation of a 3d view.\nReturns an object reference to the newly created 3d view.";
922
923     TableView CreateTableView(in Table theTable);
924
925     const string CreateTableView__doc__ = "Creation of a table view.\nReturns an object reference to the newly created table view.";
926     XYPlot CreateXYPlot();
927
928     const string CreateXYPlot__doc__ = "Creation of a 2d view.\nReturns an object reference to the newly created XYPlot view.";
929     void Destroy(in View theView);
930
931     const string Destroy__doc__ = "Destroying of the view";
932
933
934  };
935     const string ViewManager__doc__ = "The ViewManager interface is necessary for work\nwith view windows (creation and deletion).";
936 };
937 #endif
938
939