00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
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
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
02452
02453
02454
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
02465 ClippingPlane GetClippingPlane(in long id);
02466
02467
02468 boolean DeleteClippingPlane(in long id);
02469
02470
02471 boolean ApplyClippingPlane(in Prs3d thePrs, in long id);
02472
02473
02474 boolean DetachClippingPlane(in Prs3d thePrs, in long id);
02475
02476
02477
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);
02622 void SetViewHeight (in long Height);
02623 long GetViewWidth();
02624 long GetViewHeight();
02625 enum ViewPosition {TOP, CENTER, BOTTOM, RIGHT, LEFT};
02626 void SetViewPositionHorizontal (in ViewPosition ViewPosHor);
02627 void SetViewPositionVertical (in ViewPosition ViewPosVer);
02628 void SetRelativePosition( in double x, in double y );
02629 void SetRelativeSize( in double x, in double y );
02630 void Minimize();
02631 void Restore();
02632 void Maximize();
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