SALOME documentation central

VISU_Gen.idl

Go to the documentation of this file.
00001 //  Copyright (C) 2007-2008  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 
00085   enum VISUType {
00086     TNONE, 
00087     TCURVE, 
00088     TTABLE, 
00089     TCONTAINER, 
00090     TMESH, 
00091     TSCALARMAP, 
00092     TISOSURFACES, 
00093     TDEFORMEDSHAPE, 
00094     TSCALARMAPONDEFORMEDSHAPE, 
00095     TDEFORMEDSHAPEANDSCALARMAP, 
00096     TGAUSSPOINTS, 
00097     TPLOT3D, 
00098     TPOINTMAP3D, 
00099     TCUTPLANES, 
00100     TCUTLINES, 
00101     TCUTSEGMENT, 
00102     TVECTORS, 
00103     TSTREAMLINES, 
00104     TVISUGEN, 
00105     TVIEWMANAGER, 
00106     TRESULT, 
00107     TXYPLOT, 
00108     TTABLEVIEW, 
00109     TVIEW3D, 
00110     TGAUSSVIEW, 
00111     TENTITY, 
00112     TFAMILY, 
00113     TGROUP, 
00114     TFIELD, 
00115     TTIMESTAMP, 
00116     TANIMATION, 
00117     TEVOLUTION, 
00118     TCOLOREDPRS3DHOLDER, 
00119     TCOLOREDPRS3DCACHE, 
00120     TPART, 
00121     TALL
00122   };
00123 
00124   /* Clipping planes management */
00125   struct ClippingPlane {
00126     double X;
00127     double Y;
00128     double Z;
00129     double dX;
00130     double dY;
00131     double dZ;
00132     boolean isAuto;
00133     string name;
00134   };
00135     
00136   interface Base {
00140     IdType GetID();
00141 
00145     VISUType GetType();
00146   };
00147 
00153   interface RemovableObject : Base {
00157     void RemoveFromStudy();
00158   };
00159 
00164   interface PrsObject : RemovableObject {
00165   };
00166 
00167   //-------------------------------------------------------
00173   interface Curve : PrsObject {
00178     void SetTitle(in string theTitle);
00179 
00184     string GetTitle();
00185 
00191     void SetColor(in SALOMEDS::Color theColor);
00192 
00198     SALOMEDS::Color GetColor();
00199 
00205     enum MarkerType { NONE,
00206                 CIRCLE,
00207                 RECTANGLE,
00208                 DIAMOND,
00209                 DTRIANGLE,
00210                 UTRIANGLE,
00211                 LTRIANGLE,
00212                 RTRIANGLE,
00213                 CROSS,
00214                 XCROSS
00215     };
00216 
00224     void SetMarker(in MarkerType theType);
00225 
00233     MarkerType GetMarker();
00234 
00239     enum LineType{ VOIDLINE, SOLIDLINE, DASHLINE, DOTLINE, DASHDOTLINE, DASHDOTDOTLINE};
00240 
00246     void SetLine(in LineType theType, in long theLineWidth);
00247 
00252     LineType GetLine();
00253 
00258     long GetLineWidth();
00259   };
00260 
00261   //-------------------------------------------------------
00267   interface Container : PrsObject {
00272     void AddCurve(in Curve theCurve);
00273 
00278     void RemoveCurve(in Curve theCurve);
00279 
00284     long GetNbCurves();
00285 
00289     void Clear();
00290   };
00291 
00292   //-------------------------------------------------------
00293   interface Result;
00298   interface Prs3d : PrsObject, SALOME::GenericObj 
00299   {
00303     void SetOffset(in float theDx, in float theDy, in float theDz);
00304 
00308     void GetOffset(out float theDx, out float theDy, out float theDz);
00309 
00313     float GetMemorySize();
00314   };
00315 
00320   enum PresentationType{ POINT,
00321                 WIREFRAME,
00322                 SHADED,
00323                 INSIDEFRAME,
00324                 SURFACEFRAME,
00325                 FEATURE_EDGES,
00326                 SHRINK
00327   };
00328 
00333   enum Quadratic2DPresentationType{
00334     LINES,
00335     ARCS
00336   };
00337 
00343   interface Mesh : Prs3d {
00348     void SetCellColor(in SALOMEDS::Color theColor);
00349 
00353     SALOMEDS::Color GetCellColor();
00354 
00359     void SetNodeColor(in SALOMEDS::Color theColor);
00360 
00364     SALOMEDS::Color GetNodeColor();
00365 
00370     void SetLinkColor(in SALOMEDS::Color theColor);
00371 
00375     SALOMEDS::Color GetLinkColor();
00376 
00382     void SetPresentationType(in PresentationType theType);
00383 
00388     PresentationType GetPresentationType();
00389 
00390 
00397     void SetQuadratic2DPresentationType(in Quadratic2DPresentationType theType);
00398 
00403     Quadratic2DPresentationType GetQuadratic2DPresentationType();
00404     
00409     void SetShrink(in boolean toShrink);
00410 
00414     boolean IsShrank();
00415   };
00416 
00417 
00418   //-------------------------------------------------------
00427   interface ColoredPrs3dBase : Prs3d
00428   {
00434     void SetRange(in double theMin, in double theMax);
00435 
00439     double GetMin();
00440 
00444     double GetMax();
00445 
00449     void SetSourceRange();
00450 
00454     double GetSourceMin();    
00455 
00459     double GetSourceMax();
00460 
00464     boolean IsRangeFixed();
00465 
00472     void SetPosition(in double X, in double Y);
00473 
00477     double GetPosX();
00478 
00482     double GetPosY();
00483 
00490     void SetSize(in double theWidth, in double theHeight);
00491 
00496     double GetWidth();
00497 
00502     double GetHeight();
00503 
00508     void SetNbColors(in long theNbColors);
00509 
00515     long GetNbColors();
00521     void SetLabels(in long theNbLabels);
00522 
00528     long GetLabels();
00529 
00531     enum Orientation {
00532       HORIZONTAL, 
00533       VERTICAL    
00534     };
00535 
00541     void SetBarOrientation(in Orientation theOrientation);
00542 
00546     Orientation GetBarOrientation();
00547   };
00548 
00553   interface ColoredPrs3d : ColoredPrs3dBase
00554   {
00559     void SetTitle(in string theName);
00560 
00564     string GetTitle();
00565 
00568     void SetScalarMode(in long theScalarMode);
00569 
00572     long GetScalarMode();
00573 
00578     void SetIsDistributionVisible(in boolean theIs);
00579 
00581     boolean GetIsDistributionVisible();
00582 
00584     boolean IsScalarFilterUsed();
00585 
00586     void UseScalarFiltering( in boolean theUseScalarFilter );
00587 
00594     void SetScalarFilterRange( in double theMin, in double theMax );
00595 
00596     double GetScalarFilterMin();
00597 
00598     double GetScalarFilterMax();
00599 
00605     void AddMeshOnGroup(in string theGroupName);
00606     
00611     void RemoveAllGeom();
00612   };
00613 
00614 
00615   //-------------------------------------------------------
00616   interface View3D;
00617   interface ColoredPrs3dCache;
00618 
00619 
00620   //-------------------------------------------------------
00626   interface ColoredPrs3dHolder : PrsObject, SALOME::GenericObj
00627   {
00631     struct BasicInput
00632     {
00633       Result myResult;
00634       string myMeshName;
00635       Entity myEntity;
00636       string myFieldName;
00637       long myTimeStampNumber;
00638     };
00639 
00643     boolean Apply(in ColoredPrs3d thePrs3d,
00644             in BasicInput theInput,
00645             in View3D theView3D);
00646 
00650     ColoredPrs3d GetDevice();
00651 
00655     VISUType GetPrsType();
00656 
00659     struct TimeStampInfo
00660     {
00661       string myTime;
00662       long myNumber;
00663     };
00664 
00667     typedef sequence<TimeStampInfo> TimeStampsRange;
00668 
00672     TimeStampsRange GetTimeStampsRange();
00673 
00677     BasicInput GetBasicInput();
00678 
00682     ColoredPrs3dCache GetCache();
00683 
00687     float GetMemorySize();
00688   };
00689 
00690 
00691   //-------------------------------------------------------
00696   interface ColoredPrs3dCache : RemovableObject, SALOME::GenericObj
00697   {
00699     enum MemoryMode {
00700       MINIMAL, 
00701       LIMITED  
00702     };
00703 
00705     enum EnlargeType {
00706       NO_ENLARGE, 
00707       ENLARGE,    
00708       IMPOSSIBLE  
00709     };
00710 
00712     void SetMemoryMode(in MemoryMode theMode);
00713 
00715     MemoryMode GetMemoryMode();
00716 
00718     void SetLimitedMemory(in float theMemorySize);
00719 
00721     float GetLimitedMemory();
00722 
00726     float GetMemorySize();
00727 
00729     ColoredPrs3dHolder CreateHolder(in VISUType theType,
00730                         in ColoredPrs3dHolder::BasicInput theInput);
00731 
00733     EnlargeType GetRequiredMemory(in VISUType theType,
00734                       in ColoredPrs3dHolder::BasicInput theInput,
00735                       out float theRequiredMemory);
00736   };
00737 
00738 
00739   //-------------------------------------------------------
00749   interface ScaledPrs3d {
00754     void SetScaling(in Scaling theScaling);
00755 
00759     Scaling GetScaling();
00760   };
00761 
00762   interface ScalarMap : ColoredPrs3d, ScaledPrs3d {
00763 
00767     boolean IsBarVisible();
00768 
00772     void SetBarVisible(in boolean theVisible);
00773 
00778     void SetGaussMetric(in GaussMetric theGaussMetric);
00779 
00783     GaussMetric GetGaussMetric();
00784 
00789     void SetLinkColor(in SALOMEDS::Color theColor);
00790 
00794     SALOMEDS::Color GetLinkColor();
00795   };
00796 
00797   //-------------------------------------------------------
00802   //-------------------------------------------------------
00803   interface GaussPoints : ColoredPrs3d 
00804   {
00806     void SetIsActiveLocalScalarBar(in boolean theFlag);
00807 
00809     boolean GetIsActiveLocalScalarBar();
00810 
00812     void SetIsDispGlobalScalarBar(in boolean theFlag);
00813 
00815     boolean GetIsDispGlobalScalarBar();
00816 
00818     void SetSpacing(in double theSpacing);
00819 
00821     double GetSpacing();
00822     
00826     boolean IsBarVisible();
00827 
00831     void SetBarVisible(in boolean theVisible);
00832 
00839     void SetIsColored(in boolean theIsColored);
00840 
00842     boolean GetIsColored();
00843 
00848     void SetColor(in SALOMEDS::Color theColor);
00849 
00855     void SetBiColor(in boolean theIsBiColor);
00856 
00858     boolean GetBiColor();
00859 
00861     boolean GetIsDeformed();
00862 
00864     void SetIsDeformed(in boolean theIsDeformed);
00865 
00871     void SetScaleFactor(in double theScaleFactor);
00872 
00877     double GetScaleFactor();
00878 
00882     enum PrimitiveType { 
00883       SPRITE,
00884       POINT,
00885       SPHERE
00886     };
00887 
00889     void SetPrimitiveType(in PrimitiveType thePrimitiveType);
00890 
00892     PrimitiveType GetPrimitiveType();
00893 
00895     void SetClamp(in double theClamp);
00896 
00898     double GetClamp();
00899 
00901     void SetMinSize(in double theMinSize);
00902 
00904     double GetMinSize();
00905 
00907     void SetMaxSize(in double theMaxSize);
00908 
00910     double GetMaxSize();
00911 
00913     void SetMagnification(in double theMagnification);
00914 
00916     double GetMagnification();
00917 
00919     void SetMagnificationIncrement(in double theIncrement);
00920 
00922     double GetMagnificationIncrement();
00923 
00925     void SetGeomSize(in double theGeomSize);
00926 
00928     double GetGeomSize();
00929 
00931     string GetMainTexture();
00932 
00934     string GetAlphaTexture();
00935 
00937     void SetTextures(in string theMainTexture, in string theAlphaTexture);
00938 
00940     void SetAlphaThreshold(in double theAlphaThreshold);
00941 
00943     double GetAlphaThreshold();
00944 
00946     void SetResolution(in long theResolution);
00947 
00949     long GetResolution();
00950 
00952     void SetFaceLimit(in long theFaceLimit);
00953 
00955     long GetFaceLimit();
00956     
00957     
00958   };
00959 
00960 
00965   interface MonoColorPrs : ScalarMap {
00966 
00969     boolean IsColored();
00970 
00975     void ShowColored(in boolean theColored);
00976 
00980     SALOMEDS::Color GetColor();
00981 
00986     void SetColor(in SALOMEDS::Color theColor);
00987   };
00988 
00989 
00994   interface DeformedShape : MonoColorPrs 
00995   {
01000     void SetScale(in double theScale);
01001 
01005     double GetScale();
01006 
01007   };
01008 
01009   //-------------------------------------------------------
01014   interface Deformation{
01019     void SetScale(in double theScale);
01020 
01024     double GetScale();
01025 
01031     void SetVectorialField(in Entity theEntity,
01032                   in string theFieldName);
01033 
01037     Entity GetVectorialFieldEntity();
01038 
01042     string GetVectorialFieldName();
01043     
01044   };
01045 
01046   //-------------------------------------------------------
01051   interface OptionalDeformation : Deformation{
01052 
01057     void UseDeformation(in boolean theFlag);
01058 
01062     boolean IsDeformed();
01063   };
01064 
01065   //-------------------------------------------------------
01070   interface DeformedShapeAndScalarMap : ScalarMap {
01071     
01076     void SetScale(in double theScale);
01077 
01081     double GetScale();
01082 
01089     void SetScalarField(in Entity theEntity,
01090                in string theFieldName,
01091                in long theTimeStampNumber);
01092 
01093 
01097     Entity GetScalarEntity();
01098 
01102     string GetScalarFieldName();
01103 
01107     long GetScalarTimeStampNumber();
01108   };
01109 
01110 
01111   //-------------------------------------------------------
01119   interface Plot3dBase {
01125     void SetScaleFactor (in double theScaleFactor);
01126 
01131     double GetScaleFactor();
01132 
01137     void SetContourPrs (in boolean theIsContourPrs );
01138 
01142     boolean GetIsContourPrs();
01143 
01148     void SetNbOfContours (in long theNb);
01149 
01153     long GetNbOfContours();
01154   };
01155 
01156   interface Plot3D : ScalarMap, Plot3dBase {
01161     enum Orientation { XY,   
01162                  YZ,   
01163                  ZX }; 
01174     void SetOrientation (in Orientation theOrientation, in double theXAngle, in double theYAngle);
01175 
01179     Orientation GetOrientationType();
01180 
01185     double GetRotateX();
01186 
01191     double GetRotateY();
01192 
01198     void SetPlanePosition (in double  thePlanePosition,
01199                   in boolean theIsRelative);
01200 
01204     double GetPlanePosition();
01205 
01209     boolean IsPositionRelative();
01210   };
01211 
01212  //-------------------------------------------------------
01217   interface Table : PrsObject {
01222     void SetTitle(in string theTitle);
01223 
01228     string GetTitle();
01229 
01233     enum Orientation {
01234       HORIZONTAL, 
01235       VERTIACAL   
01236     };
01237 
01243     void SetOrientation(in Orientation theOrientation);
01244 
01250     Orientation GetOrientation();
01251 
01256     long GetNbRows();
01257 
01262     long GetNbColumns();
01263   };
01264 
01265   //-------------------------------------------------------
01270   interface PointMap3d : ColoredPrs3dBase, ScaledPrs3d, Plot3dBase, Table {
01271   };
01272 
01273   //-------------------------------------------------------
01280   interface CutPlanes : ScalarMap, OptionalDeformation {
01285     enum Orientation {XY, 
01286                       YZ, 
01287                 ZX}; 
01298     void SetOrientation(in Orientation theOrientation, in double theXAngle, in double theYAngle);
01299 
01303     Orientation GetOrientationType();
01304 
01308     double GetRotateX();
01309 
01313     double GetRotateY();
01314 
01324     void SetDisplacement(in double theDisp);
01325 
01329     double GetDisplacement();
01330 
01336      void SetPlanePosition(in long thePlaneNumber, in double thePlanePosition);
01337 
01342      void SetDefault(in long thePlaneNumber);
01343 
01347     double GetPlanePosition(in long thePlaneNumber);
01348 
01353     boolean IsDefault(in long thePlaneNumber);
01354 
01359     void SetNbPlanes(in long theNb);
01360 
01364     long GetNbPlanes();
01365   };
01366 
01367   //-------------------------------------------------------
01371   interface CutLinesBase : ScalarMap {
01376     void SetNbLines(in long theNb);
01377 
01381     long GetNbLines();
01382 
01386     void SetAllCurvesInverted(in boolean theInvert);
01387 
01391     boolean IsAllCurvesInverted();
01392 
01396     void SetUseAbsoluteLength(in boolean theAbsLength);
01397 
01400     boolean IsUseAbsoluteLength();
01401   };
01402 
01403   //-------------------------------------------------------
01418   interface CutLines : CutLinesBase {
01427     void SetOrientation(in CutPlanes::Orientation theOrientation, in double theXAngle, in double theYAngle);
01428 
01438     void SetOrientation2(in CutPlanes::Orientation theOrientation, in double theXAngle, in double theYAngle);
01439 
01443     CutPlanes::Orientation GetOrientationType();
01444 
01448     CutPlanes::Orientation GetOrientationType2();
01449 
01453     double GetRotateX();
01454 
01458     double GetRotateX2();
01459 
01463     double GetRotateY();
01464 
01468     double GetRotateY2();
01469 
01476     void SetDisplacement(in double theDisp);
01477 
01484     void SetDisplacement2(in double theDisp);
01485 
01489     double GetDisplacement();
01490 
01494     double GetDisplacement2();
01495 
01499     void SetBasePlanePosition(in double thePlanePosition);
01500 
01503     double GetBasePlanePosition();
01504 
01509     void SetLinePosition(in long thePlaneNumber, in double thePlanePosition);
01510 
01514     double GetLinePosition(in long thePlaneNumber);
01515 
01518     void SetDefault();
01519 
01524     boolean IsDefault();
01525 
01530     void SetDefaultPosition(in long thePlaneNumber);
01531 
01537     boolean IsDefaultPosition(in long thePlaneNumber);
01538   };
01539 
01540   //-------------------------------------------------------
01548   interface CutSegment : CutLinesBase {
01555     void SetPoint1(in double theX, in double theY, in double theZ);
01556 
01563     void GetPoint1(out double theX, out double theY, out double theZ);
01564 
01571     void SetPoint2(in double theX, in double theY, in double theZ);
01572 
01579     void GetPoint2(out double theX, out double theY, out double theZ);
01580   };
01581 
01591   interface StreamLines : MonoColorPrs {
01595     enum Direction{ FORWARD,
01596               BACKWARD,
01597               BOTH
01598     };
01599 
01620     boolean SetParams(in double theIntStep,
01621                 in double thePropogationTime,
01622                 in double theStepLength,
01623                 in Prs3d thePrs3d,
01624                 in double thePercents,
01625                 in Direction theDirection);
01626 
01629     double GetIntegrationStep();
01630 
01633     double GetPropagationTime();
01634 
01637     double GetStepLength();
01638 
01641     Prs3d GetSource();
01642 
01646     double GetUsedPoints();
01647 
01650     Direction GetDirection();
01651   };
01652 
01661   interface IsoSurfaces : MonoColorPrs {
01667     void SetNbSurfaces(in long theNb);
01668 
01672     long GetNbSurfaces();
01673 
01677     boolean IsLabeled();
01678 
01682     void ShowLabels(in boolean theShow, in long theNb);
01683 
01687    long GetNbLabels();
01688 
01689   };
01690 
01691   //-------------------------------------------------------
01696   interface Vectors : DeformedShape {
01701     void SetLineWidth(in double theWidth);
01702 
01706     double GetLineWidth();
01707 
01711     enum GlyphType{ ARROW,
01712                     CONE2,
01713                     CONE6,
01714                     NONE
01715                   };
01716 
01722     void SetGlyphType(in GlyphType theType);
01723 
01727     GlyphType GetGlyphType();
01728 
01732     enum GlyphPos{ CENTER, 
01733                    TAIL,   
01734                    HEAD  
01735                  };
01736 
01742     void SetGlyphPos(in GlyphPos thePos);
01743 
01747     GlyphPos GetGlyphPos();
01748   };
01749 
01750   //-------------------------------------------------------
01765   interface Animation : Base 
01766   {
01770     enum AnimationMode{ PARALLEL, 
01771                SUCCESSIVE 
01772     };
01773     
01777     boolean addField(in SALOMEDS::SObject theObject);
01778 
01781     void clearFields();
01782 
01787     void generatePresentations(in long theFieldNum);
01788 
01794     boolean generateFrames();
01795 
01798     void clearView();
01799 
01803 
01806     void startAnimation();
01807 
01810     void stopAnimation();
01811 
01814     void nextFrame();
01815 
01818     void prevFrame();
01819 
01822     void firstFrame();
01823 
01826     void lastFrame();
01827 
01831     void gotoFrame(in long theFrame);
01836     long getNbFields();
01837 
01840     long getNbFrames();
01841 
01844     boolean isRunning();
01845 
01848     long getCurrentFrame();
01849 
01852     ColoredPrs3d getPresentation(in long theField, in long theFrame);
01853 
01859     void setPresentationType(in long theFieldNum, in VISUType theType);
01860 
01866     VISUType getPresentationType(in long theFieldNum);
01867 
01871     void setSpeed(in long theSpeed);
01872 
01875     long getSpeed();
01876 
01881     boolean isProportional();
01882 
01891     void setAnimationRange(in double theMin, in double theMax);
01892 
01895     double getMinRange();
01896 
01899     double getMaxRange();
01900 
01905     boolean isRangeDefined();
01906 
01915     void setAnimationSequence(in string theSequence);
01916 
01919     string getAnimationSequence();
01920 
01925     boolean isSequenceDefined();
01926 
01931     void dumpTo(in string thePath);
01932 
01940     string setDumpFormat(in string theFormat);
01941 
01944     boolean isCycling();
01945 
01949     double getMinTime();
01950 
01954     double getMaxTime();
01955 
01961     void setProportional(in boolean theProp);
01962 
01968     void setCycling(in boolean theCycle);
01969 
01970     boolean isCleaningMemoryAtEachFrame();
01971     void setCleaningMemoryAtEachFrame(in boolean theCycle);
01972 
01973     SALOMEDS::SObject publishInStudy();
01974 
01975     void saveAnimation();
01976 
01977     void restoreFromStudy(in SALOMEDS::SObject theSObj);
01978 
01979     boolean isSavedInStudy();
01980     
01985     void setAnimationMode(in AnimationMode theMode);
01986 
01990     AnimationMode getAnimationMode();
01991 
02001     void ApplyProperties(in long theFieldNum, in ColoredPrs3d thePrs)
02002       raises (SALOME::SALOME_Exception);
02003   };
02004 
02005   
02006   //-------------------------------------------------------
02007   interface XYPlot;
02008 
02009   //-------------------------------------------------------
02013   interface Evolution : Base 
02014   {
02019     boolean setField(in SALOMEDS::SObject theObject);
02020 
02025     void setPointId(in long thePointId);
02026 
02031     void setComponentId(in long theComponentId);
02032 
02036     boolean showEvolution();
02037 
02042     void restoreFromStudy(in SALOMEDS::SObject theSObj);
02043   };
02044 
02045 
02052   interface Result : RemovableObject, SALOME::GenericObj 
02053   {
02056     boolean BuildAll();
02057 
02059     boolean Build(in boolean theIsBuildAll, in boolean theIsAtOnce);
02060 
02062     boolean IsDone();
02063 
02065     boolean IsEntitiesDone();
02066 
02068     void SetBuildFields(in boolean theIsBuildFields, in boolean theIsCalculateMinMax);
02069 
02071     boolean IsFieldsDone();
02072 
02074     void SetBuildGroups(in boolean theIsBuildGroups);
02075 
02077     boolean IsGroupsDone();
02078 
02080     boolean IsMinMaxDone();
02081 
02083     boolean IsPartsDone();
02084 
02085     typedef sequence<Entity> Entities;
02086 
02087     typedef string EntityName;
02088 
02089     typedef sequence<EntityName> EntityNames;
02090 
02091     typedef long TimeStampNumber;
02092 
02093     typedef sequence<TimeStampNumber> TimeStampNumbers;
02094 
02095     enum Resolution {
02096       FULL,
02097       MEDIUM,
02098       LOW,
02099       HIDDEN
02100     };
02101 
02102     typedef sequence<Resolution> Resolutions;
02103 
02105     EntityNames GetMeshNames();
02106 
02108     Entities GetEntities(in EntityName theMeshName);
02109 
02111     EntityNames GetFamilies(in EntityName theMeshName, in Entity theEntity);
02112 
02114     EntityNames GetGroups(in EntityName theMeshName);
02115 
02117     EntityNames GetFields(in EntityName theMeshName, in Entity theEntity);
02118 
02120     long GetNumberOfComponents(in EntityName theMeshName, in Entity theEntity, in EntityName theFieldName);
02121 
02123     TimeStampNumbers GetTimeStampNumbers(in EntityName theMeshName, in Entity theEntity, in EntityName theFieldName);
02124 
02126     EntityNames GetPartNames(in EntityName theMeshName);
02127 
02129     Resolutions GetResolutions(in EntityName theMeshName, in EntityName thePartName);
02130 
02132     Resolution GetResolution(in EntityName theMeshName, in EntityName thePartName);
02133 
02135     void SetResolution(in EntityName theMeshName, in EntityName thePartName, in Resolution theResolution);
02136     
02138     SALOME_MED::MedFileInfo GetMEDFileInfo();
02139 
02141     boolean ExportMED(in string theFileName);
02142   };
02143 
02144   //-------------------------------------------------------
02145   interface ViewManager;
02146 
02153   interface VISU_Gen : Engines::Component, SALOMEDS::Driver, Base 
02154   {
02157     void SetCurrentStudy(in SALOMEDS::Study theStudy);
02158 
02161     SALOMEDS::Study GetCurrentStudy();
02162 
02167     ViewManager GetViewManager();
02168 
02172     SALOMEDS::SObject ImportTables(in string theFileName);
02173 
02177     boolean ExportTableToFile(in SALOMEDS::SObject theTable, in string theFileName);
02178 
02184     Result ImportFile(in string theFileName);
02185 
02191     Result CreateResult(in string theFileName);
02192 
02198     Result CopyAndImportFile(in string theFileName);
02199 
02203     Result ImportMed(in SALOMEDS::SObject theMedSObject);
02204 
02208     Result ImportMedField(in SALOME_MED::FIELD theField);
02209 
02218     void RenameEntityInStudy(in Result theResult,
02219                     in string theMeshName,
02220                     in Entity theEntity,
02221                     in string theNewName);
02222     void RenameFamilyInStudy(in Result theResult,
02223                     in string theMeshName,
02224                     in Entity theEntity,
02225                     in string theSubMeshName,
02226                     in string theNewName);
02227     void RenameGroupInStudy(in Result theResult,
02228                    in string theMeshName,
02229                    in string theSubMeshName,
02230                    in string theNewName);
02231 
02238     Mesh MeshOnEntity(in Result theResult, in string theMeshName, in Entity theEntity);
02239 
02247     Mesh FamilyMeshOnEntity(in Result theResult, in string theMeshName,
02248                    in Entity theEntity, in string theFamilyName);
02249 
02256     Mesh GroupMesh(in Result theResult, in string theMeshName, in string theGroupName);
02257 
02266     ScalarMap ScalarMapOnField(in Result theResult, in string theMeshName,
02267                       in Entity theEntity, in string theFieldName,
02268                       in long theTimeStampNumber);
02269 
02278     GaussPoints GaussPointsOnField(in Result theResult, in string theMeshName,
02279                        in Entity theEntity, in string theFieldName,
02280                        in long theTimeStampNumber);
02281 
02290     DeformedShape DeformedShapeOnField(in Result theResult, in string theMeshName,
02291                            in Entity theEntity, in string theFieldName,
02292                            in long theTimeStampNumber);
02293 
02302     DeformedShapeAndScalarMap ScalarMapOnDeformedShapeOnField(in Result theResult, in string theMeshName,
02303                                          in Entity theEntity, in string theFieldName,
02304                                          in long theTimeStampNumber);
02305 
02314     DeformedShapeAndScalarMap DeformedShapeAndScalarMapOnField(in Result theResult, in string theMeshName,
02315                                           in Entity theEntity, in string theFieldName,
02316                                           in long theTimeStampNumber);
02317 
02326     Vectors VectorsOnField(in Result theResult, in string theMeshName,
02327                   in Entity theEntity, in string theFieldName,
02328                   in long theTimeStampNumber);
02329 
02338     IsoSurfaces IsoSurfacesOnField(in Result theResult, in string theMeshName,
02339                        in Entity theEntity, in string theFieldName,
02340                        in long theTimeStampNumber);
02341 
02350     StreamLines StreamLinesOnField(in Result theResult, in string theMeshName,
02351                        in Entity theEntity, in string theFieldName,
02352                        in long theTimeStampNumber);
02353 
02362     CutPlanes CutPlanesOnField(in Result theResult, in string theMeshName,
02363                       in Entity theEntity, in string theFieldName,
02364                       in long theTimeStampNumber);
02365 
02374     CutLines CutLinesOnField(in Result theResult, in string theMeshName,
02375                     in Entity theEntity, in string theFieldName,
02376                     in long theTimeStampNumber);
02377 
02386     CutSegment CutSegmentOnField(in Result theResult, in string theMeshName,
02387                         in Entity theEntity, in string theFieldName,
02388                         in long theTimeStampNumber);
02389 
02398     Plot3D Plot3DOnField(in Result theResult, in string theMeshName,
02399                 in Entity theEntity, in string theFieldName,
02400                 in long theTimeStampNumber);
02401 
02406     Table CreateTable(in string theTableEntry);
02407 
02414     Curve CreateCurve(in Table theTable, in long theHRow, in long theVRow);
02415     
02424     Curve CreateCurveWithZ( in Table theTable, in long theHRow, in long theVRow, in long theZRow );
02425 
02429     Container CreateContainer();
02430 
02434     Animation CreateAnimation(in View3D theView3d);
02435 
02439     Evolution CreateEvolution(in XYPlot theXYPlot);
02440 
02441     void DeleteResult(in Result theResult);
02442 
02443     void DeletePrs3d(in Prs3d thePrs3d);
02444 
02448     ColoredPrs3dCache GetColoredPrs3dCache(in SALOMEDS::Study theStudy);
02449 
02450     
02451     /* Clipping planes management */
02452 
02453     /*Create a clipping plane and return its ID (position in corresponded array) 
02454       Id of clipping plane could be changed after deletion of other clipping plane
02455     */
02456     long CreateClippingPlane(in double X, in double Y, in double Z, 
02457                     in double dX, in double dY, in double dZ, 
02458                     in boolean auto, in string name);
02459     
02460     void EditClippingPlane(in long id, in double X, in double Y, in double Z, 
02461                     in double dX, in double dY, in double dZ, 
02462                     in boolean auto, in string name);
02463     
02464     /* Returns clipping plane by its Id */
02465     ClippingPlane GetClippingPlane(in long id);
02466     
02467     /* Deletes clipping plane by its Id */
02468     boolean DeleteClippingPlane(in long id);
02469     
02470     /* Applyes a clipping plane with Id to presentation thePrs */
02471     boolean ApplyClippingPlane(in Prs3d thePrs, in long id);
02472 
02473     /* Detaches a clipping plane with Id from presentation thePrs */
02474     boolean DetachClippingPlane(in Prs3d thePrs, in long id);
02475     
02476     
02477     /* Get number of clipping planes */
02478     long GetClippingPlanesNb();
02479 
02489     boolean VTK2MED( in string_array theVTKFiles,
02490                      in string theMEDFile,
02491                      in string theMeshName,
02492                      in double_array theTStamps );
02493 
02494   };
02495 
02502   interface View: Base, SALOME::GenericObj 
02503   {
02508     enum ViewRepresentation {
02509       OBJECTBROWSER,
02510       VIEWER,
02511       PYTHON,
02512       MESSAGES
02513     };
02514 
02515     void ShowPart (in ViewRepresentation ViewRepr, in boolean state );
02516 
02517     boolean IsPartShown( in ViewRepresentation ViewRepr );
02518 
02528     void SplitRight();
02529 
02535     void SplitLeft();
02536 
02542     void SplitBottom();
02543 
02549     void SplitTop();
02550 
02554     void OnTop();
02555 
02562     void Attract (in View theView);
02563 
02570     void AttractAll (in View theView);
02571 
02579     void SetRelativePositionInSplitter (in double thePosition);
02580 
02588     void SetRelativeSizeInSplitter (in double theSize);
02589 
02595     void SetRelativePositionX (in double thePosition);
02596 
02602     void SetRelativePositionY (in double thePosition);
02603 
02609     void SetRelativeSizeX (in double theSize);
02610 
02616     void SetRelativeSizeY (in double theSize);
02617 
02621     void SetViewWidth (in long Width); //setting width of view
02622     void SetViewHeight (in long Height); //setting height of view
02623     long GetViewWidth(); //getting view width
02624     long GetViewHeight(); //getting view height
02625     enum ViewPosition {TOP, CENTER, BOTTOM, RIGHT, LEFT}; //position of the study frame
02626     void SetViewPositionHorizontal (in ViewPosition ViewPosHor); //setting of the horizontal view position
02627     void SetViewPositionVertical (in ViewPosition ViewPosVer); //setting of the vertical view position
02628     void SetRelativePosition( in double x, in double y );
02629     void SetRelativeSize( in double x, in double y );
02630     void Minimize(); // Minimizes to the task bar or to the bottom of the Desktop the %View frame.
02631     void Restore(); // Restores the %View frame.
02632     void Maximize(); // Maximizes the %View frame.
02633 
02638     void SetTitle(in string theTitle);
02639 
02643     string GetTitle();
02644 
02649     void SetBackground(in SALOMEDS::Color theColor);
02650 
02654     SALOMEDS::Color GetBackground();
02655 
02659     void EraseAll();
02660 
02664     void DisplayAll();
02665 
02670     void Erase(in PrsObject thePrsObj);
02671 
02676     void Display(in PrsObject thePrsObj);
02677 
02683     void DisplayOnly(in PrsObject thePrsObj);
02684 
02688     void Update();
02689 
02695     boolean SavePicture(in string theFileName);
02696   };
02697 
02698   //-------------------------------------------------------
02703   interface View3D : View {
02708     enum ViewType{ FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM};
02709 
02713     enum Axis{ XAxis, YAxis, ZAxis};
02714 
02718     typedef double XYZ[3];
02719 
02723     void FitAll();
02724 
02729     void SetView(in ViewType theType);
02730 
02736     void SetPointOfView(in XYZ theCoord);
02737 
02743     XYZ GetPointOfView();
02744 
02748     void SetViewUp(in XYZ theDir);
02749 
02753     XYZ GetViewUp();
02754 
02759     void SetFocalPoint(in XYZ theDir);
02760 
02765     XYZ GetFocalPoint();
02766 
02770     void SetParallelScale(in double theScale);
02771 
02775     double GetParallelScale();
02776 
02782     void ScaleView(in Axis theAxis, in double theParam);
02783 
02787     void RemoveScale();
02788 
02794     boolean SaveViewParams(in string theName);
02795 
02801     boolean RestoreViewParams(in string theName);
02802 
02803 
02808     PresentationType GetPresentationType(in ScalarMap thePrs);
02809 
02815     string SetPresentationType(in ScalarMap thePrs, in PresentationType thePrsType);
02816 
02817 
02824     string SetQuadratic2DPresentationType(in ScalarMap thePrs,in Quadratic2DPresentationType theType);
02825 
02826 
02832     Quadratic2DPresentationType GetQuadratic2DPresentationType(in ScalarMap thePrs);
02833     
02834 
02839     boolean IsShrinked(in ScalarMap thePrs);
02840 
02846     string SetShrinked(in ScalarMap thePrs, in boolean isShrinked);
02847 
02852     boolean IsShaded(in ScalarMap thePrs);
02853 
02859     string SetShaded(in ScalarMap thePrs, in boolean isShaded);
02860 
02865     double GetOpacity(in ScalarMap thePrs);
02866 
02872     string SetOpacity(in ScalarMap thePrs, in double theOpacity);
02873 
02878     double GetLineWidth(in ScalarMap thePrs);
02879 
02885     string SetLineWidth(in ScalarMap thePrs, in double theLineWidth);
02886   };
02887 
02888   //-------------------------------------------------------
02893   interface TableView : View {
02894   };
02895 
02896   //-------------------------------------------------------
02902   interface XYPlot : View {
02906     void SetSubTitle(in string theTitle);
02907 
02910     string GetSubTitle();
02911 
02916     enum CurveType { POINTS, MULTYLINE, SPLINE};
02917 
02921     void SetCurveType(in CurveType theType);
02922 
02925     CurveType GetCurveType();
02926 
02931     void SetMarkerSize(in long theSize);
02932 
02936     long GetMarkerSize();
02937 
02940     void EnableXGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
02941 
02944     void EnableYGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
02945 
02949     void SetHorScaling(in Scaling theScaling);
02950 
02953     Scaling GetHorScaling();
02954 
02958     void SetVerScaling(in Scaling theScaling);
02959 
02962     Scaling GetVerScaling();
02963 
02967     void SetXTitle(in string theTitle);
02968 
02971     string GetXTitle();
02972 
02976     void SetYTitle(in string theTitle);
02977 
02980     string GetYTitle();
02981 
02984     void ShowLegend(in boolean theShowing);
02985 
02988     void FitAll();
02989 
02992     void FitXRange(in double xMin, in double xMax);
02993 
02996     void FitYRange(in double yMin, in double yMax);
02997 
03000     void FitRange(in double xMin, in double xMax,
03001             in double yMin, in double yMax);
03002 
03003     void GetFitRanges(out double xMin,out double xMax,
03004                 out double yMin,out double yMax);
03005   };
03006 
03007   //-------------------------------------------------------
03012   interface ViewManager: Base {
03019     View GetCurrentView();
03020 
03025     View3D Create3DView();
03026 
03031     TableView CreateTableView(in Table theTable);
03032 
03037     XYPlot CreateXYPlot();
03038 
03042     void Destroy(in View theView);
03043   };
03044 
03045 
03046 };
03047 
03048 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator

Copyright © 2007-2008 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