Version: 6.3.1

idl/VISU_Gen.idl

Go to the documentation of this file.
00001 // Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 //  File   : VISU_Gen.idl
00023 //  Author : Alexey Petrov
00024 
00031 #ifndef __VISU_GEN__
00032 #define __VISU_GEN__
00033 
00034 #include "SALOME_Exception.idl"
00035 #include "SALOME_GenericObj.idl"
00036 #include "SALOME_Component.idl"
00037 #include "SALOMEDS.idl"
00038 #include "SALOMEDS_Attributes.idl"
00039 #include "MED.idl"
00040 
00044 module VISU {
00045   //-------------------------------------------------------
00046   typedef string IdType;
00047 
00048   typedef sequence<string> string_array;
00049   typedef sequence<double> double_array;
00050 
00055   enum Scaling{ LINEAR, 
00056                 LOGARITHMIC 
00057               };
00058 
00063   enum GaussMetric {
00064     AVERAGE, 
00065     MINIMUM, 
00066     MAXIMUM  
00067   };
00068 
00073   enum Entity {
00074     NODE, 
00075     EDGE, 
00076     FACE, 
00077     CELL, 
00078     NONE  
00079   };
00080 
00084   enum MarkerType {
00085     MT_NONE,
00086     MT_POINT,
00087     MT_PLUS,
00088     MT_STAR,
00089     MT_O,
00090     MT_X,
00091     MT_O_POINT,
00092     MT_O_PLUS,
00093     MT_O_STAR,
00094     MT_O_X,
00095     MT_USER,
00096     MT_POINT_SPRITE 
00097   };
00098 
00102   enum MarkerScale {
00103     MS_NONE,
00104     MS_10,
00105     MS_15,
00106     MS_20,
00107     MS_25,
00108     MS_30,
00109     MS_35,
00110     MS_40,
00111     MS_45,
00112     MS_50,
00113     MS_55,
00114     MS_60,
00115     MS_65,
00116     MS_70
00117   };
00118 
00122   enum SortOrder {
00123     AscendingOrder, 
00124     DescendingOrder 
00125   };
00126 
00130   enum SortPolicy {
00131     EmptyLowest,    
00132     EmptyHighest,   
00133     EmptyFirst,     
00134     EmptyLast,      
00135     EmptyIgnore     
00136   };
00137 
00142   enum VISUType {
00143     TNONE, 
00144     TCURVE, 
00145     TTABLE, 
00146     TCONTAINER, 
00147     TMESH, 
00148     TSCALARMAP, 
00149     TISOSURFACES, 
00150     TDEFORMEDSHAPE, 
00151     TSCALARMAPONDEFORMEDSHAPE, 
00152     TDEFORMEDSHAPEANDSCALARMAP, 
00153     TGAUSSPOINTS, 
00154     TPLOT3D, 
00155     TPOINTMAP3D, 
00156     TCUTPLANES, 
00157     TCUTLINES, 
00158     TCUTSEGMENT, 
00159     TVECTORS, 
00160     TSTREAMLINES, 
00161     TVISUGEN, 
00162     TVIEWMANAGER, 
00163     TRESULT, 
00164     TXYPLOT, 
00165     TTABLEVIEW, 
00166     TVIEW3D, 
00167     TGAUSSVIEW, 
00168     TENTITY, 
00169     TFAMILY, 
00170     TGROUP, 
00171     TFIELD, 
00172     TTIMESTAMP, 
00173     TANIMATION, 
00174     TEVOLUTION, 
00175     TCOLOREDPRS3DHOLDER, 
00176     TCOLOREDPRS3DCACHE, 
00177     TPART, 
00178     TALL
00179   };
00180 
00181   /* Clipping planes management */
00182   struct ClippingPlane {
00183     double X;
00184     double Y;
00185     double Z;
00186     double dX;
00187     double dY;
00188     double dZ;
00189     boolean isAuto;
00190     string name;
00191   };
00192 
00193   interface Base {
00197     IdType GetID();
00198 
00202     VISUType GetType();
00203   };
00204 
00210   interface RemovableObject : Base {
00214     void RemoveFromStudy();
00215   };
00216 
00221   interface PrsObject : RemovableObject {
00222   };
00223 
00224   //-------------------------------------------------------
00230   interface Curve : PrsObject {
00235     void SetTitle(in string theTitle);
00236 
00241     string GetTitle();
00242 
00248     void SetColor(in SALOMEDS::Color theColor);
00249 
00255     SALOMEDS::Color GetColor();
00256 
00262     enum MarkerType { NONE,
00263                       CIRCLE,
00264                       RECTANGLE,
00265                       DIAMOND,
00266                       DTRIANGLE,
00267                       UTRIANGLE,
00268                       LTRIANGLE,
00269                       RTRIANGLE,
00270                       CROSS,
00271                       XCROSS
00272     };
00273 
00281     void SetMarker(in MarkerType theType);
00282 
00290     MarkerType GetMarker();
00291 
00296     enum LineType{ VOIDLINE, SOLIDLINE, DASHLINE, DOTLINE, DASHDOTLINE, DASHDOTDOTLINE};
00297 
00303     void SetLine(in LineType theType, in long theLineWidth);
00304 
00309     LineType GetLine();
00310 
00315     long GetLineWidth();
00316   };
00317 
00318   //-------------------------------------------------------
00324   interface Container : PrsObject {
00329     void AddCurve(in Curve theCurve);
00330 
00335     void RemoveCurve(in Curve theCurve);
00336 
00341     long GetNbCurves();
00342 
00346     void Clear();
00347   };
00348 
00349   //-------------------------------------------------------
00350   interface Result;
00355   interface Prs3d : PrsObject, SALOME::GenericObj
00356   {
00360     void SetOffset(in float theDx, in float theDy, in float theDz);
00361 
00365     void GetOffset(out float theDx, out float theDy, out float theDz);
00366 
00372     void SetMarkerStd(in MarkerType theType, in MarkerScale theScale);
00373 
00379     void SetMarkerTexture(in long theTextureId);
00380 
00385     MarkerType GetMarkerType();
00386 
00391     MarkerScale GetMarkerScale();
00392 
00397     long GetMarkerTexture();
00398 
00402     float GetMemorySize();
00403   };
00404 
00409   enum PresentationType{ POINT,
00410                          WIREFRAME,
00411                          SHADED,
00412                          INSIDEFRAME,
00413                          SURFACEFRAME,
00414                          FEATURE_EDGES,
00415                          SHRINK
00416   };
00417 
00422   enum Quadratic2DPresentationType{
00423     LINES,
00424     ARCS
00425   };
00426 
00432   interface Mesh : Prs3d {
00437     void SetCellColor(in SALOMEDS::Color theColor);
00438 
00442     SALOMEDS::Color GetCellColor();
00443 
00448     void SetNodeColor(in SALOMEDS::Color theColor);
00449 
00453     SALOMEDS::Color GetNodeColor();
00454 
00459     void SetLinkColor(in SALOMEDS::Color theColor);
00460 
00464     SALOMEDS::Color GetLinkColor();
00465 
00471     void SetPresentationType(in PresentationType theType);
00472 
00477     PresentationType GetPresentationType();
00478 
00479 
00486     void SetQuadratic2DPresentationType(in Quadratic2DPresentationType theType);
00487 
00492     Quadratic2DPresentationType GetQuadratic2DPresentationType();
00493 
00498     void SetShrink(in boolean toShrink);
00499 
00503     boolean IsShrank();
00504   };
00505 
00506 
00507   //-------------------------------------------------------
00516   interface ColoredPrs3dBase : Prs3d
00517   {
00523     void SetRange(in double theMin, in double theMax);
00524 
00528     double GetMin();
00529 
00533     double GetMax();
00534 
00538     void SetSourceRange();
00539 
00543     double GetSourceMin();
00544 
00548     double GetSourceMax();
00549 
00553     boolean IsRangeFixed();
00554 
00561     void SetPosition(in double X, in double Y);
00562 
00566     double GetPosX();
00567 
00571     double GetPosY();
00572 
00579     void SetSize(in double theWidth, in double theHeight);
00580 
00585     double GetWidth();
00586 
00591     double GetHeight();
00592 
00597     void SetNbColors(in long theNbColors);
00598 
00604     long GetNbColors();
00610     void SetLabels(in long theNbLabels);
00611 
00617     long GetLabels();
00618 
00620     enum Orientation {
00621       HORIZONTAL, 
00622       VERTICAL    
00623     };
00624 
00630     void SetBarOrientation(in Orientation theOrientation);
00631 
00635     Orientation GetBarOrientation();
00636   };
00637 
00642   interface ColoredPrs3d : ColoredPrs3dBase
00643   {
00648     void SetTitle(in string theName);
00649 
00653     string GetTitle();
00654 
00657     void SetScalarMode(in long theScalarMode);
00658 
00661     long GetScalarMode();
00662 
00667     void SetIsDistributionVisible(in boolean theIs);
00668 
00670     boolean GetIsDistributionVisible();
00671 
00673     boolean IsScalarFilterUsed();
00674 
00675     void UseScalarFiltering( in boolean theUseScalarFilter );
00676 
00683     void SetScalarFilterRange( in double theMin, in double theMax );
00684 
00685     double GetScalarFilterMin();
00686 
00687     double GetScalarFilterMax();
00688 
00694     void AddMeshOnGroup(in string theGroupName);
00695 
00700     void RemoveAllGeom();
00701   };
00702 
00703 
00704   //-------------------------------------------------------
00705   interface View3D;
00706   interface ColoredPrs3dCache;
00707 
00708 
00709   //-------------------------------------------------------
00715   interface ColoredPrs3dHolder : PrsObject, SALOME::GenericObj
00716   {
00720     struct BasicInput
00721     {
00722       Result myResult;
00723       string myMeshName;
00724       Entity myEntity;
00725       string myFieldName;
00726       long myTimeStampNumber;
00727     };
00728 
00732     boolean Apply(in ColoredPrs3d thePrs3d,
00733                   in BasicInput theInput,
00734                   in View3D theView3D);
00735 
00739     ColoredPrs3d GetDevice();
00740 
00744     VISUType GetPrsType();
00745 
00748     struct TimeStampInfo
00749     {
00750       string myTime;
00751       long myNumber;
00752     };
00753 
00756     typedef sequence<TimeStampInfo> TimeStampsRange;
00757 
00761     TimeStampsRange GetTimeStampsRange();
00762 
00766     BasicInput GetBasicInput();
00767 
00771     ColoredPrs3dCache GetCache();
00772 
00776     float GetMemorySize();
00777   };
00778 
00779 
00780   //-------------------------------------------------------
00785   interface ColoredPrs3dCache : RemovableObject, SALOME::GenericObj
00786   {
00788     enum MemoryMode {
00789       MINIMAL, 
00790       LIMITED  
00791     };
00792 
00794     enum EnlargeType {
00795       NO_ENLARGE, 
00796       ENLARGE,    
00797       IMPOSSIBLE  
00798     };
00799 
00801     void SetMemoryMode(in MemoryMode theMode);
00802 
00804     MemoryMode GetMemoryMode();
00805 
00807     void SetLimitedMemory(in float theMemorySize);
00808 
00810     float GetLimitedMemory();
00811 
00815     float GetMemorySize();
00816 
00818     ColoredPrs3dHolder CreateHolder(in VISUType theType,
00819                                     in ColoredPrs3dHolder::BasicInput theInput);
00820 
00822     EnlargeType GetRequiredMemory(in VISUType theType,
00823                                   in ColoredPrs3dHolder::BasicInput theInput,
00824                                   out float theRequiredMemory);
00825   };
00826 
00827 
00828   //-------------------------------------------------------
00838   interface ScaledPrs3d {
00843     void SetScaling(in Scaling theScaling);
00844 
00848     Scaling GetScaling();
00849   };
00850 
00851   interface ScalarMap : ColoredPrs3d, ScaledPrs3d {
00852 
00856     boolean IsBarVisible();
00857 
00861     void SetBarVisible(in boolean theVisible);
00862 
00867     void SetGaussMetric(in GaussMetric theGaussMetric);
00868 
00872     GaussMetric GetGaussMetric();
00873 
00878     void SetLinkColor(in SALOMEDS::Color theColor);
00879 
00883     SALOMEDS::Color GetLinkColor();
00884   };
00885 
00886   //-------------------------------------------------------
00891   //-------------------------------------------------------
00892   interface GaussPoints : ColoredPrs3d
00893   {
00895     void SetIsActiveLocalScalarBar(in boolean theFlag);
00896 
00898     boolean GetIsActiveLocalScalarBar();
00899 
00901     void SetIsDispGlobalScalarBar(in boolean theFlag);
00902 
00904     boolean GetIsDispGlobalScalarBar();
00905 
00907     void SetSpacing(in double theSpacing);
00908 
00910     double GetSpacing();
00911 
00915     boolean IsBarVisible();
00916 
00920     void SetBarVisible(in boolean theVisible);
00921 
00928     void SetIsColored(in boolean theIsColored);
00929 
00931     boolean GetIsColored();
00932 
00937     void SetColor(in SALOMEDS::Color theColor);
00938 
00944     void SetBiColor(in boolean theIsBiColor);
00945 
00947     boolean GetBiColor();
00948 
00950     boolean GetIsDeformed();
00951 
00953     void SetIsDeformed(in boolean theIsDeformed);
00954 
00960     void SetScaleFactor(in double theScaleFactor);
00961 
00966     double GetScaleFactor();
00967 
00971     enum PrimitiveType {
00972       SPRITE,
00973       POINT,
00974       SPHERE
00975     };
00976 
00978     void SetPrimitiveType(in PrimitiveType thePrimitiveType);
00979 
00981     PrimitiveType GetPrimitiveType();
00982 
00984     void SetClamp(in double theClamp);
00985 
00987     double GetClamp();
00988 
00990     void SetMinSize(in double theMinSize);
00991 
00993     double GetMinSize();
00994 
00996     void SetMaxSize(in double theMaxSize);
00997 
00999     double GetMaxSize();
01000 
01002     void SetMagnification(in double theMagnification);
01003 
01005     double GetMagnification();
01006 
01008     void SetMagnificationIncrement(in double theIncrement);
01009 
01011     double GetMagnificationIncrement();
01012 
01014     void SetGeomSize(in double theGeomSize);
01015 
01017     double GetGeomSize();
01018 
01020     string GetMainTexture();
01021 
01023     string GetAlphaTexture();
01024 
01026     void SetTextures(in string theMainTexture, in string theAlphaTexture);
01027 
01029     void SetAlphaThreshold(in double theAlphaThreshold);
01030 
01032     double GetAlphaThreshold();
01033 
01035     void SetResolution(in long theResolution);
01036 
01038     long GetResolution();
01039 
01041     void SetFaceLimit(in long theFaceLimit);
01042 
01044     long GetFaceLimit();
01045 
01046 
01047   };
01048 
01049 
01054   interface MonoColorPrs : ScalarMap {
01055 
01058     boolean IsColored();
01059 
01064     void ShowColored(in boolean theColored);
01065 
01069     SALOMEDS::Color GetColor();
01070 
01075     void SetColor(in SALOMEDS::Color theColor);
01076   };
01077 
01078 
01083   interface DeformedShape : MonoColorPrs
01084   {
01089     void SetScale(in double theScale);
01090 
01094     double GetScale();
01095 
01096   };
01097 
01098   //-------------------------------------------------------
01103   interface Deformation{
01108     void SetScale(in double theScale);
01109 
01113     double GetScale();
01114 
01120     void SetVectorialField(in Entity theEntity,
01121                            in string theFieldName);
01122 
01126     Entity GetVectorialFieldEntity();
01127 
01131     string GetVectorialFieldName();
01132 
01133   };
01134 
01135   //-------------------------------------------------------
01140   interface OptionalDeformation : Deformation{
01141 
01146     void UseDeformation(in boolean theFlag);
01147 
01151     boolean IsDeformed();
01152   };
01153 
01154   //-------------------------------------------------------
01159   interface DeformedShapeAndScalarMap : ScalarMap {
01160 
01165     void SetScale(in double theScale);
01166 
01170     double GetScale();
01171 
01178     void SetScalarField(in Entity theEntity,
01179                         in string theFieldName,
01180                         in long theTimeStampNumber);
01181 
01182 
01186     Entity GetScalarEntity();
01187 
01191     string GetScalarFieldName();
01192 
01196     long GetScalarTimeStampNumber();
01197   };
01198 
01199 
01200   //-------------------------------------------------------
01208   interface Plot3dBase {
01214     void SetScaleFactor (in double theScaleFactor);
01215 
01220     double GetScaleFactor();
01221 
01226     void SetContourPrs (in boolean theIsContourPrs );
01227 
01231     boolean GetIsContourPrs();
01232 
01237     void SetNbOfContours (in long theNb);
01238 
01242     long GetNbOfContours();
01243   };
01244 
01245   interface Plot3D : ScalarMap, Plot3dBase {
01250     enum Orientation { XY,   
01251                        YZ,   
01252                        ZX }; 
01263     void SetOrientation (in Orientation theOrientation, in double theXAngle, in double theYAngle);
01264 
01268     Orientation GetOrientationType();
01269 
01274     double GetRotateX();
01275 
01280     double GetRotateY();
01281 
01287     void SetPlanePosition (in double  thePlanePosition,
01288                            in boolean theIsRelative);
01289 
01293     double GetPlanePosition();
01294 
01298     boolean IsPositionRelative();
01299   };
01300 
01301  //-------------------------------------------------------
01306   interface Table : PrsObject {
01311     void SetTitle(in string theTitle);
01312 
01317     string GetTitle();
01318 
01322     enum Orientation {
01323       HORIZONTAL, 
01324       VERTIACAL   
01325     };
01326 
01332     void SetOrientation(in Orientation theOrientation);
01333 
01339     Orientation GetOrientation();
01340 
01345     long GetNbRows();
01346 
01351     long GetNbColumns();
01352 
01359     void SortRow(in long theRow, in SortOrder theSortOrder, in SortPolicy theSortPolicy);
01360 
01367     void SortColumn(in long theColumn, in SortOrder theSortOrder, in SortPolicy theSortPolicy);
01368 
01375     void SortByRow(in long theRow, in SortOrder theSortOrder, in SortPolicy theSortPolicy);
01376 
01383     void SortByColumn(in long theColumn, in SortOrder theSortOrder, in SortPolicy theSortPolicy);
01384   };
01385 
01386   //-------------------------------------------------------
01391   interface PointMap3d : ColoredPrs3dBase, ScaledPrs3d, Plot3dBase, Table {
01392   };
01393 
01394   //-------------------------------------------------------
01401   interface CutPlanes : ScalarMap, OptionalDeformation {
01406     enum Orientation {XY, 
01407                       YZ, 
01408                       ZX}; 
01419     void SetOrientation(in Orientation theOrientation, in double theXAngle, in double theYAngle);
01420 
01424     Orientation GetOrientationType();
01425 
01429     double GetRotateX();
01430 
01434     double GetRotateY();
01435 
01445     void SetDisplacement(in double theDisp);
01446 
01450     double GetDisplacement();
01451 
01457      void SetPlanePosition(in long thePlaneNumber, in double thePlanePosition);
01458 
01463      void SetDefault(in long thePlaneNumber);
01464 
01468     double GetPlanePosition(in long thePlaneNumber);
01469 
01474     boolean IsDefault(in long thePlaneNumber);
01475 
01480     void SetNbPlanes(in long theNb);
01481 
01485     long GetNbPlanes();
01486   };
01487 
01488   //-------------------------------------------------------
01492   interface CutLinesBase : ScalarMap {
01497     void SetNbLines(in long theNb);
01498 
01502     long GetNbLines();
01503 
01507     void SetAllCurvesInverted(in boolean theInvert);
01508 
01512     boolean IsAllCurvesInverted();
01513 
01517     void SetUseAbsoluteLength(in boolean theAbsLength);
01518 
01521     boolean IsUseAbsoluteLength();
01522   };
01523 
01524   //-------------------------------------------------------
01539   interface CutLines : CutLinesBase {
01548     void SetOrientation(in CutPlanes::Orientation theOrientation, in double theXAngle, in double theYAngle);
01549 
01559     void SetOrientation2(in CutPlanes::Orientation theOrientation, in double theXAngle, in double theYAngle);
01560 
01564     CutPlanes::Orientation GetOrientationType();
01565 
01569     CutPlanes::Orientation GetOrientationType2();
01570 
01574     double GetRotateX();
01575 
01579     double GetRotateX2();
01580 
01584     double GetRotateY();
01585 
01589     double GetRotateY2();
01590 
01597     void SetDisplacement(in double theDisp);
01598 
01605     void SetDisplacement2(in double theDisp);
01606 
01610     double GetDisplacement();
01611 
01615     double GetDisplacement2();
01616 
01620     void SetBasePlanePosition(in double thePlanePosition);
01621 
01624     double GetBasePlanePosition();
01625 
01630     void SetLinePosition(in long thePlaneNumber, in double thePlanePosition);
01631 
01635     double GetLinePosition(in long thePlaneNumber);
01636 
01639     void SetDefault();
01640 
01645     boolean IsDefault();
01646 
01651     void SetDefaultPosition(in long thePlaneNumber);
01652 
01658     boolean IsDefaultPosition(in long thePlaneNumber);
01659   };
01660 
01661   //-------------------------------------------------------
01669   interface CutSegment : CutLinesBase {
01676     void SetPoint1(in double theX, in double theY, in double theZ);
01677 
01684     void GetPoint1(out double theX, out double theY, out double theZ);
01685 
01692     void SetPoint2(in double theX, in double theY, in double theZ);
01693 
01700     void GetPoint2(out double theX, out double theY, out double theZ);
01701   };
01702 
01712   interface StreamLines : MonoColorPrs {
01716     enum Direction{ FORWARD,
01717                     BACKWARD,
01718                     BOTH
01719     };
01720 
01741     boolean SetParams(in double theIntStep,
01742                       in double thePropogationTime,
01743                       in double theStepLength,
01744                       in Prs3d thePrs3d,
01745                       in double thePercents,
01746                       in Direction theDirection);
01747 
01750     double GetIntegrationStep();
01751 
01754     double GetPropagationTime();
01755 
01758     double GetStepLength();
01759 
01762     Prs3d GetSource();
01763 
01767     double GetUsedPoints();
01768 
01771     Direction GetDirection();
01772   };
01773 
01782   interface IsoSurfaces : MonoColorPrs {
01788     void SetNbSurfaces(in long theNb);
01789 
01793     long GetNbSurfaces();
01794 
01798     boolean IsLabeled();
01799 
01803     void ShowLabels(in boolean theShow, in long theNb);
01804 
01808    long GetNbLabels();
01809 
01810   };
01811 
01812   //-------------------------------------------------------
01817   interface Vectors : DeformedShape {
01822     void SetLineWidth(in double theWidth);
01823 
01827     double GetLineWidth();
01828 
01832     enum GlyphType{ ARROW,
01833                     CONE2,
01834                     CONE6,
01835                     NONE
01836                   };
01837 
01843     void SetGlyphType(in GlyphType theType);
01844 
01848     GlyphType GetGlyphType();
01849 
01853     enum GlyphPos{ CENTER, 
01854                    TAIL,   
01855                    HEAD  
01856                  };
01857 
01863     void SetGlyphPos(in GlyphPos thePos);
01864 
01868     GlyphPos GetGlyphPos();
01869   };
01870 
01871   //-------------------------------------------------------
01886   interface Animation : Base
01887   {
01891     enum AnimationMode{ PARALLEL, 
01892                         SUCCESSIVE 
01893     };
01894 
01898     boolean addField(in SALOMEDS::SObject theObject);
01899 
01902     void clearFields();
01903 
01908     void generatePresentations(in long theFieldNum);
01909 
01915     boolean generateFrames();
01916 
01919     void clearView();
01920 
01924 
01927     void startAnimation();
01928 
01931     void stopAnimation();
01932 
01935     void nextFrame();
01936 
01939     void prevFrame();
01940 
01943     void firstFrame();
01944 
01947     void lastFrame();
01948 
01952     void gotoFrame(in long theFrame);
01957     long getNbFields();
01958 
01961     long getNbFrames();
01962 
01965     boolean isRunning();
01966 
01969     long getCurrentFrame();
01970 
01973     ColoredPrs3d getPresentation(in long theField, in long theFrame);
01974 
01980     void setPresentationType(in long theFieldNum, in VISUType theType);
01981 
01987     VISUType getPresentationType(in long theFieldNum);
01988 
01992     void setSpeed(in long theSpeed);
01993 
01996     long getSpeed();
01997 
02002     boolean isProportional();
02003 
02012     void setAnimationRange(in double theMin, in double theMax);
02013 
02016     double getMinRange();
02017 
02020     double getMaxRange();
02021 
02026     boolean isRangeDefined();
02027 
02036     void setAnimationSequence(in string theSequence);
02037 
02040     string getAnimationSequence();
02041 
02046     boolean isSequenceDefined();
02047 
02052     void dumpTo(in string thePath);
02053 
02061     string setDumpFormat(in string theFormat);
02062 
02066     void setTimeStampFrequency(in long theFrequency);
02067 
02071     long getTimeStampFrequency();
02072 
02075     boolean isCycling();
02076 
02080     double getMinTime();
02081 
02085     double getMaxTime();
02086 
02092     void setProportional(in boolean theProp);
02093 
02099     void setCycling(in boolean theCycle);
02100 
02101     boolean isCleaningMemoryAtEachFrame();
02102     void setCleaningMemoryAtEachFrame(in boolean theCycle);
02103 
02104     SALOMEDS::SObject publishInStudy();
02105 
02106     void saveAnimation();
02107 
02108     void restoreFromStudy(in SALOMEDS::SObject theSObj);
02109 
02110     boolean isSavedInStudy();
02111 
02116     void setAnimationMode(in AnimationMode theMode);
02117 
02121     AnimationMode getAnimationMode();
02122 
02132     void ApplyProperties(in long theFieldNum, in ColoredPrs3d thePrs)
02133       raises (SALOME::SALOME_Exception);
02134   };
02135 
02136 
02137   //-------------------------------------------------------
02138   interface XYPlot;
02139 
02140   //-------------------------------------------------------
02144   interface Evolution : Base
02145   {
02150     boolean setField(in SALOMEDS::SObject theObject);
02151 
02156     void setPointId(in long thePointId);
02157 
02162     void setComponentId(in long theComponentId);
02163 
02167     boolean showEvolution();
02168 
02173     void restoreFromStudy(in SALOMEDS::SObject theSObj);
02174   };
02175 
02176 
02183   interface Result : RemovableObject, SALOME::GenericObj
02184   {
02187     boolean BuildAll();
02188 
02190     boolean Build(in boolean theIsBuildAll, in boolean theIsAtOnce);
02191 
02193     boolean IsDone();
02194 
02196     boolean IsEntitiesDone();
02197 
02199     void SetBuildFields(in boolean theIsBuildFields, in boolean theIsCalculateMinMax);
02200 
02202     boolean IsFieldsDone();
02203 
02205     void SetBuildGroups(in boolean theIsBuildGroups);
02206 
02208     boolean IsGroupsDone();
02209 
02211     boolean IsMinMaxDone();
02212 
02214     boolean IsPartsDone();
02215 
02216     typedef sequence<Entity> Entities;
02217 
02218     typedef string EntityName;
02219 
02220     typedef sequence<EntityName> EntityNames;
02221 
02222     typedef long TimeStampNumber;
02223 
02224     typedef sequence<TimeStampNumber> TimeStampNumbers;
02225 
02226     enum Resolution {
02227       FULL,
02228       MEDIUM,
02229       LOW,
02230       HIDDEN
02231     };
02232 
02233     typedef sequence<Resolution> Resolutions;
02234 
02236     EntityNames GetMeshNames();
02237 
02239     Entities GetEntities(in EntityName theMeshName);
02240 
02242     EntityNames GetFamilies(in EntityName theMeshName, in Entity theEntity);
02243 
02245     EntityNames GetGroups(in EntityName theMeshName);
02246 
02248     EntityNames GetFields(in EntityName theMeshName, in Entity theEntity);
02249 
02251     long GetNumberOfComponents(in EntityName theMeshName, in Entity theEntity, in EntityName theFieldName);
02252 
02254     TimeStampNumbers GetTimeStampNumbers(in EntityName theMeshName, in Entity theEntity,
02255                                          in EntityName theFieldName);
02256 
02258     double_array GetTimeStampValues(in EntityName theMeshName, in Entity theEntity, in EntityName theFieldName);
02259 
02261     EntityNames GetPartNames(in EntityName theMeshName);
02262 
02264     Resolutions GetResolutions(in EntityName theMeshName, in EntityName thePartName);
02265 
02267     Resolution GetResolution(in EntityName theMeshName, in EntityName thePartName);
02268 
02270     void SetResolution(in EntityName theMeshName, in EntityName thePartName, in Resolution theResolution);
02271 
02273     SALOME_MED::MedFileInfo GetMEDFileInfo();
02274 
02276     boolean ExportMED(in string theFileName);
02277   };
02278 
02279   //-------------------------------------------------------
02280   interface ViewManager;
02281 
02288   interface VISU_Gen : Engines::EngineComponent, SALOMEDS::Driver, Base
02289   {
02292     void SetCurrentStudy(in SALOMEDS::Study theStudy);
02293 
02296     SALOMEDS::Study GetCurrentStudy();
02297 
02302     ViewManager GetViewManager();
02303 
02307     SALOMEDS::SObject ImportTables(in string theFileName,
02308                                    in boolean theFirstStrAsTitle);
02309 
02313     boolean ExportTableToFile(in SALOMEDS::SObject theTable, in string theFileName);
02314 
02320     Result ImportFile(in string theFileName);
02321 
02327     Result CreateResult(in string theFileName);
02328 
02334     Result CopyAndImportFile(in string theFileName);
02335 
02339     Result ImportMed(in SALOMEDS::SObject theMedSObject);
02340 
02344     Result ImportMedField(in SALOME_MED::FIELD theField);
02345 
02354     void RenameEntityInStudy(in Result theResult,
02355                              in string theMeshName,
02356                              in Entity theEntity,
02357                              in string theNewName);
02358     void RenameFamilyInStudy(in Result theResult,
02359                              in string theMeshName,
02360                              in Entity theEntity,
02361                              in string theSubMeshName,
02362                              in string theNewName);
02363     void RenameGroupInStudy(in Result theResult,
02364                             in string theMeshName,
02365                             in string theSubMeshName,
02366                             in string theNewName);
02367 
02374     Mesh MeshOnEntity(in Result theResult, in string theMeshName, in Entity theEntity);
02375 
02383     Mesh FamilyMeshOnEntity(in Result theResult, in string theMeshName,
02384                             in Entity theEntity, in string theFamilyName);
02385 
02392     Mesh GroupMesh(in Result theResult, in string theMeshName, in string theGroupName);
02393 
02402     ScalarMap ScalarMapOnField(in Result theResult, in string theMeshName,
02403                                in Entity theEntity, in string theFieldName,
02404                                in long theTimeStampNumber);
02405 
02414     GaussPoints GaussPointsOnField(in Result theResult, in string theMeshName,
02415                                    in Entity theEntity, in string theFieldName,
02416                                    in long theTimeStampNumber);
02417 
02426     DeformedShape DeformedShapeOnField(in Result theResult, in string theMeshName,
02427                                        in Entity theEntity, in string theFieldName,
02428                                        in long theTimeStampNumber);
02429 
02438     DeformedShapeAndScalarMap ScalarMapOnDeformedShapeOnField(in Result theResult, in string theMeshName,
02439                                                               in Entity theEntity, in string theFieldName,
02440                                                               in long theTimeStampNumber);
02441 
02450     DeformedShapeAndScalarMap DeformedShapeAndScalarMapOnField(in Result theResult, in string theMeshName,
02451                                                                in Entity theEntity, in string theFieldName,
02452                                                                in long theTimeStampNumber);
02453 
02462     Vectors VectorsOnField(in Result theResult, in string theMeshName,
02463                            in Entity theEntity, in string theFieldName,
02464                            in long theTimeStampNumber);
02465 
02474     IsoSurfaces IsoSurfacesOnField(in Result theResult, in string theMeshName,
02475                                    in Entity theEntity, in string theFieldName,
02476                                    in long theTimeStampNumber);
02477 
02486     StreamLines StreamLinesOnField(in Result theResult, in string theMeshName,
02487                                    in Entity theEntity, in string theFieldName,
02488                                    in long theTimeStampNumber);
02489 
02498     CutPlanes CutPlanesOnField(in Result theResult, in string theMeshName,
02499                                in Entity theEntity, in string theFieldName,
02500                                in long theTimeStampNumber);
02501 
02510     CutLines CutLinesOnField(in Result theResult, in string theMeshName,
02511                              in Entity theEntity, in string theFieldName,
02512                              in long theTimeStampNumber);
02513 
02522     CutSegment CutSegmentOnField(in Result theResult, in string theMeshName,
02523                                  in Entity theEntity, in string theFieldName,
02524                                  in long theTimeStampNumber);
02525 
02534     Plot3D Plot3DOnField(in Result theResult, in string theMeshName,
02535                          in Entity theEntity, in string theFieldName,
02536                          in long theTimeStampNumber);
02537 
02542     Table CreateTable(in string theTableEntry);
02543 
02550     Curve CreateCurve(in Table theTable, in long theHRow, in long theVRow);
02551 
02560     Curve CreateCurveWithZ( in Table theTable, in long theHRow, in long theVRow, in long theZRow );
02561 
02572     Curve CreateCurveWithZExt( in Table theTable, in long theHRow, in long theVRow, in long theZRow,
02573                                in boolean theIsV2 );
02574 
02578     Container CreateContainer();
02579 
02583     Animation CreateAnimation(in View3D theView3d);
02584 
02588     Evolution CreateEvolution(in XYPlot theXYPlot);
02589 
02590     void DeleteResult(in Result theResult);
02591 
02592     void DeletePrs3d(in Prs3d thePrs3d);
02593 
02597     ColoredPrs3dCache GetColoredPrs3dCache(in SALOMEDS::Study theStudy);
02598 
02599 
02600     /* Clipping planes management */
02601 
02602     /*Create a clipping plane and return its ID (position in corresponded array)
02603       Id of clipping plane could be changed after deletion of other clipping plane
02604     */
02605     long CreateClippingPlane(in double X, in double Y, in double Z,
02606                              in double dX, in double dY, in double dZ,
02607                              in boolean auto, in string name);
02608 
02609     void EditClippingPlane(in long id, in double X, in double Y, in double Z,
02610                              in double dX, in double dY, in double dZ,
02611                              in boolean auto, in string name);
02612 
02613     /* Returns clipping plane by its Id */
02614     ClippingPlane GetClippingPlane(in long id);
02615 
02616     /* Deletes clipping plane by its Id */
02617     boolean DeleteClippingPlane(in long id);
02618 
02619     /* Applyes a clipping plane with Id to presentation thePrs */
02620     boolean ApplyClippingPlane(in Prs3d thePrs, in long id);
02621 
02622     /* Detaches a clipping plane with Id from presentation thePrs */
02623     boolean DetachClippingPlane(in Prs3d thePrs, in long id);
02624 
02625 
02626     /* Get number of clipping planes */
02627     long GetClippingPlanesNb();
02628 
02638     boolean VTK2MED( in string_array theVTKFiles,
02639                      in string theMEDFile,
02640                      in string theMeshName,
02641                      in double_array theTStamps );
02642 
02648     long LoadTexture(in string theTextureFile);
02649   };
02650 
02657   interface View: Base, SALOME::GenericObj
02658   {
02663     enum ViewRepresentation {
02664       OBJECTBROWSER,
02665       VIEWER,
02666       PYTHON,
02667       MESSAGES
02668     };
02669 
02670     void ShowPart (in ViewRepresentation ViewRepr, in boolean state );
02671 
02672     boolean IsPartShown( in ViewRepresentation ViewRepr );
02673 
02683     void SplitRight();
02684 
02690     void SplitLeft();
02691 
02697     void SplitBottom();
02698 
02704     void SplitTop();
02705 
02709     void OnTop();
02710 
02717     void Attract (in View theView);
02718 
02725     void AttractAll (in View theView);
02726 
02734     void SetRelativePositionInSplitter (in double thePosition);
02735 
02743     void SetRelativeSizeInSplitter (in double theSize);
02744 
02750     void SetRelativePositionX (in double thePosition);
02751 
02757     void SetRelativePositionY (in double thePosition);
02758 
02764     void SetRelativeSizeX (in double theSize);
02765 
02771     void SetRelativeSizeY (in double theSize);
02772 
02776     void SetViewWidth (in long Width); //setting width of view
02777     void SetViewHeight (in long Height); //setting height of view
02778     long GetViewWidth(); //getting view width
02779     long GetViewHeight(); //getting view height
02780     enum ViewPosition {TOP, CENTER, BOTTOM, RIGHT, LEFT}; //position of the study frame
02781     void SetViewPositionHorizontal (in ViewPosition ViewPosHor); //setting of the horizontal view position
02782     void SetViewPositionVertical (in ViewPosition ViewPosVer); //setting of the vertical view position
02783     void SetRelativePosition( in double x, in double y );
02784     void SetRelativeSize( in double x, in double y );
02785     void Minimize(); // Minimizes to the task bar or to the bottom of the Desktop the %View frame.
02786     void Restore(); // Restores the %View frame.
02787     void Maximize(); // Maximizes the %View frame.
02788 
02793     void SetTitle(in string theTitle);
02794 
02798     string GetTitle();
02799 
02804     void SetBackground(in SALOMEDS::Color theColor);
02805 
02809     SALOMEDS::Color GetBackground();
02810 
02814     void EraseAll();
02815 
02819     void DisplayAll();
02820 
02825     void Erase(in PrsObject thePrsObj);
02826 
02831     void Display(in PrsObject thePrsObj);
02832 
02838     void DisplayOnly(in PrsObject thePrsObj);
02839 
02843     void Update();
02844 
02850     boolean SavePicture(in string theFileName);
02851   };
02852 
02853   //-------------------------------------------------------
02858   interface View3D : View {
02863     enum ViewType{ FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM};
02864 
02868     enum Axis{ XAxis, YAxis, ZAxis};
02869 
02873     typedef double XYZ[3];
02874 
02878     void FitAll();
02879 
02884     void SetView(in ViewType theType);
02885 
02891     void SetPointOfView(in XYZ theCoord);
02892 
02898     XYZ GetPointOfView();
02899 
02903     void SetViewUp(in XYZ theDir);
02904 
02908     XYZ GetViewUp();
02909 
02914     void SetFocalPoint(in XYZ theDir);
02915 
02920     XYZ GetFocalPoint();
02921 
02925     void SetParallelScale(in double theScale);
02926 
02930     double GetParallelScale();
02931 
02937     void ScaleView(in Axis theAxis, in double theParam);
02938 
02942     void RemoveScale();
02943 
02949     boolean SaveViewParams(in string theName);
02950 
02956     boolean RestoreViewParams(in string theName);
02957 
02958 
02963     PresentationType GetPresentationType(in ScalarMap thePrs);
02964 
02970     string SetPresentationType(in ScalarMap thePrs, in PresentationType thePrsType);
02971 
02972 
02979     string SetQuadratic2DPresentationType(in ScalarMap thePrs,in Quadratic2DPresentationType theType);
02980 
02981 
02987     Quadratic2DPresentationType GetQuadratic2DPresentationType(in ScalarMap thePrs);
02988 
02989 
02994     boolean IsShrinked(in ScalarMap thePrs);
02995 
03001     string SetShrinked(in ScalarMap thePrs, in boolean isShrinked);
03002 
03007     boolean IsShaded(in ScalarMap thePrs);
03008 
03014     string SetShaded(in ScalarMap thePrs, in boolean isShaded);
03015 
03020     double GetOpacity(in ScalarMap thePrs);
03021 
03027     string SetOpacity(in ScalarMap thePrs, in double theOpacity);
03028 
03033     double GetLineWidth(in ScalarMap thePrs);
03034 
03040     string SetLineWidth(in ScalarMap thePrs, in double theLineWidth);
03041   };
03042 
03043   //-------------------------------------------------------
03048   interface TableView : View {
03049   };
03050 
03051   //-------------------------------------------------------
03057   interface XYPlot : View {
03061     void SetSubTitle(in string theTitle);
03062 
03065     string GetSubTitle();
03066 
03071     enum CurveType { POINTS, MULTYLINE, SPLINE};
03072 
03076     void SetCurveType(in CurveType theType);
03077 
03080     CurveType GetCurveType();
03081 
03086     void SetMarkerSize(in long theSize);
03087 
03091     long GetMarkerSize();
03092 
03095     void EnableXGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
03096 
03099     void EnableYGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
03100 
03104     void SetHorScaling(in Scaling theScaling);
03105 
03108     Scaling GetHorScaling();
03109 
03113     void SetVerScaling(in Scaling theScaling);
03114 
03117     Scaling GetVerScaling();
03118 
03122     void SetXTitle(in string theTitle);
03123 
03126     string GetXTitle();
03127 
03131     void SetYTitle(in string theTitle);
03132 
03135     string GetYTitle();
03136 
03139     void ShowLegend(in boolean theShowing);
03140 
03143     void FitAll();
03144 
03147     void FitXRange(in double xMin, in double xMax);
03148 
03151     void FitYRange(in double yMin, in double yMax);
03152 
03155     void FitRange(in double xMin, in double xMax,
03156                   in double yMin, in double yMax);
03157 
03158     void GetFitRanges(out double xMin,out double xMax,
03159                       out double yMin,out double yMax);
03160   };
03161 
03162   //-------------------------------------------------------
03167   interface ViewManager: Base {
03174     View GetCurrentView();
03175 
03180     View3D Create3DView();
03181 
03186     TableView CreateTableView(in Table theTable);
03187 
03192     XYPlot CreateXYPlot();
03193 
03197     void Destroy(in View theView);
03198   };
03199 
03200 
03201 };
03202 
03203 #endif
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS