]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
To implement TimeStampsRange ColoredPrs3d:GetTimeStampsRange()
authorapo <apo@opencascade.com>
Tue, 31 Oct 2006 08:42:14 +0000 (08:42 +0000)
committerapo <apo@opencascade.com>
Tue, 31 Oct 2006 08:42:14 +0000 (08:42 +0000)
idl/VISU_Gen.idl
src/VISU_I/VISU_ColoredPrs3d_i.cc
src/VISU_I/VISU_ColoredPrs3d_i.hh
src/VISU_SWIG/visu_change_input.py

index 986f8ea316a9d2b59ebc0467426f42364ed9a9ac..b35287ef0db3e62c7894d7da18a7f235e6f9f814 100644 (file)
@@ -415,15 +415,43 @@ module VISU {
    */
   interface ColoredPrs3d : Prs3d 
   {
+    /*! Sets Entity input parameter that defines where the parent mesh to be taken from. 
+     */
     void SetEntity(in Entity theEntity);
+    /*! Gets Entity input parameter that defines where the parent mesh is taken from. 
+     */
     Entity GetEntity();
 
+    /*! Sets name of field input parameter that defines what phisical data to be retrived. 
+     */
     void SetFieldName(in string theName);
+    /*! Gets name of field input parameter that defines what phisical data is retrived. 
+     */
     string GetFieldName();
 
+    /*! Sets number of timestamp input parameter that defines what time of phisical data to be retrived. 
+     */
     void SetTimeStampNumber(in long theTimeStampNumber);
+    /*! Gets number of timestamp input parameter that defines what time of phisical data is retrived. 
+     */
     long GetTimeStampNumber();
 
+    /*! Defines timestamp representation. 
+     */
+    struct TimeStampInfo
+    {
+      string myTime;
+      long myNumber;
+    };
+
+    /*! Defines representation range of timestamps. 
+     */
+    typedef sequence<TimeStampInfo> TimeStampsRange;
+
+    /*! Gets available range of timestamps. 
+     */
+    TimeStampsRange GetTimeStampsRange();
+
     /*! Sets the method of coloring of the elements composing a 3D presentation.
      */
     void SetScalarMode(in long theScalarMode);
index e233854f92664f153b5d2b1907e18c2cf9910b9f..7a06e9f976aedfb5ad2629995d741006c5a4d04f 100644 (file)
@@ -241,6 +241,37 @@ VISU::ColoredPrs3d_i
   Update();
 }
 
+VISU::ColoredPrs3d::TimeStampsRange* 
+VISU::ColoredPrs3d_i
+::GetTimeStampsRange()
+{
+  typedef std::map<std::string, long> TTimeStampsRange;
+  TTimeStampsRange aRange;
+  {
+    const VISU::TValField& aValField = GetField()->myValField;
+    VISU::TValField::const_iterator anIter = aValField.begin();
+    for(; anIter != aValField.end(); anIter++){
+      vtkIdType aTimeStampNumber = anIter->first;
+      const PValForTime& aValForTime = anIter->second;
+      std::string aTime = VISU_Convertor::GenerateName(aValForTime->myTime);
+      aRange[aTime] = aTimeStampNumber;
+    }
+  }
+  VISU::ColoredPrs3d::TimeStampsRange_var aTimeStampsRange = new VISU::ColoredPrs3d::TimeStampsRange();
+  {
+    aTimeStampsRange->length(aRange.size());
+    TTimeStampsRange::const_iterator anIter = aRange.begin();
+    for(size_t aCounter = 0; anIter != aRange.end(); anIter++, aCounter++){
+      vtkIdType aTimeStampNumber = anIter->second;
+      const std::string& aTime = anIter->first;
+      VISU::ColoredPrs3d::TimeStampInfo anInfo;
+      anInfo.myNumber = aTimeStampNumber;
+      anInfo.myTime = aTime.c_str();
+      aTimeStampsRange[aCounter] = anInfo;
+    }
+  }
+  return aTimeStampsRange._retn();
+}
 
 //----------------------------------------------------------------------------
 CORBA::Long 
index 6f03e81ed7aeb3ed117e4ffa5662747e8b1e8012..9c28c9023b232064e2825439b640680c0af3dd3f 100644 (file)
@@ -82,6 +82,10 @@ namespace VISU
     CORBA::Long
     GetTimeStampNumber();
 
+    virtual
+    VISU::ColoredPrs3d::TimeStampsRange*
+    GetTimeStampsRange();
+
     //----------------------------------------------------------------------------
     virtual
     CORBA::Long
index 44c428506dfbe759ee38b676656826771f7444df..fed211812fb2ca1b9c6c45a86e18af03139f1f55 100644 (file)
@@ -49,6 +49,12 @@ def WalkTroughTimeStamps(theVISUType,
     print "\ttheFieldName = '%s'" % theFieldName
     print "\ttheTimeStampNumber = %s" % theTimeStampNumber
     return
+
+  aRange = aPrs3d.GetTimeStampsRange()
+  for anInfo in aRange:
+    print "%d (%s); " % (anInfo.myNumber, anInfo.myTime),
+    pass
+  print
   
   aView = theViewManager.Create3DView();
   aView.SetTitle("To test presentation of %s type" % theVISUType)
@@ -56,7 +62,7 @@ def WalkTroughTimeStamps(theVISUType,
   aView.FitAll()
 
   aDelay = 0.0
-  for aTimeStampNumber in xrange(1,3):
+  for aTimeStampNumber in xrange(1,7):
     aPrs3d.SetTimeStampNumber(aTimeStampNumber)
     aPrs3d.Apply()
     aView.Update();
@@ -81,7 +87,7 @@ PRS3D_TYPE_LIST.append(VISU.TSCALARMAPONDEFORMEDSHAPE)
 
 #---------------------------------------------------------------
 aMedFile = "TimeStamps.med"
-aMedFile = "ResOK_0000.med"
+#aMedFile = "ResOK_0000.med"
 aMedFile = os.getenv('DATA_DIR') + '/MedFiles/' + aMedFile
 aResult = myVisu.ImportFile(aMedFile)