]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
Add Result::GetNumberOfComponents(in EntityName theMeshName, in Entity theEntity...
authorapo <apo@opencascade.com>
Thu, 5 Jul 2007 12:10:39 +0000 (12:10 +0000)
committerapo <apo@opencascade.com>
Thu, 5 Jul 2007 12:10:39 +0000 (12:10 +0000)
idl/VISU_Gen.idl
src/VISU_I/VISU_Result_i.cc
src/VISU_I/VISU_Result_i.hh

index 84d7a966a12faff06339232d1f1cda2c6bc1d5b3..0ac9c224ad08af7a65fd3590e22efaff07430352 100644 (file)
@@ -1625,7 +1625,10 @@ module VISU {
     /*! Gets existing fields for the given mesh name and entity */
     EntityNames GetFields(in EntityName theMeshName, in Entity theEntity);
 
-    /*! Gets existing fields for the given mesh name, entity and name of field */
+    /*! Gets number of components for the given mesh name, entity and name of field */
+    long GetNumberOfComponents(in EntityName theMeshName, in Entity theEntity, in EntityName theFieldName);
+
+    /*! Gets existing numbers of time stamps for the given mesh name, entity and name of field */
     TimeStampNumbers GetTimeStampNumbers(in EntityName theMeshName, in Entity theEntity, in EntityName theFieldName);
 
     /*! Gets existing parts of multi resolution structure for the given mesh name */
index e1ea7dfedaec7bbf067cb33e6947e66a17e4ae6b..61236dda27408b63658f9d1abac91aa682347765 100644 (file)
@@ -980,6 +980,8 @@ VISU::Result_i
   return anEntities._retn();
 }
 
+
+//---------------------------------------------------------------
 VISU::Result::EntityNames* 
 VISU::Result_i
 ::GetFamilies(const char* theMeshName, 
@@ -1023,6 +1025,8 @@ VISU::Result_i
   return aResult._retn();
 }
 
+
+//---------------------------------------------------------------
 VISU::Result::EntityNames* 
 VISU::Result_i
 ::GetGroups(const char* theMeshName)
@@ -1053,6 +1057,8 @@ VISU::Result_i
   return aResult._retn();
 }
 
+
+//---------------------------------------------------------------
 VISU::Result::EntityNames*
 VISU::Result_i
 ::GetFields(const char* theMeshName, 
@@ -1096,6 +1102,8 @@ VISU::Result_i
   return aResult._retn();
 }
 
+
+//---------------------------------------------------------------
 VISU::Result::TimeStampNumbers* 
 VISU::Result_i
 ::GetTimeStampNumbers(const char* theMeshName, 
@@ -1153,6 +1161,56 @@ VISU::Result_i
   return aResult._retn();
 }
 
+
+//---------------------------------------------------------------
+CORBA::Long 
+VISU::Result_i
+::GetNumberOfComponents(const char* theMeshName, 
+                       VISU::Entity theEntity, 
+                       const char* theFieldName)
+{
+  CORBA::Long aResult = 0;
+  const VISU::TMeshMap& aMeshMap = GetInput()->GetMeshMap();
+  if(aMeshMap.empty())
+    return aResult;
+
+  VISU::TMeshMap::const_iterator anIter = aMeshMap.find(theMeshName);
+  if(anIter == aMeshMap.end())
+    return aResult;
+  
+  const VISU::PMesh& aMesh = anIter->second;
+  const VISU::TMeshOnEntityMap& aMeshOnEntityMap = aMesh->myMeshOnEntityMap;
+  if(aMeshOnEntityMap.empty())
+    return aResult;
+
+  {
+    VISU::TEntity anEntity = VISU::TEntity(theEntity);
+    VISU::TMeshOnEntityMap::const_iterator anIter = aMeshOnEntityMap.find(anEntity);
+    if(anIter == aMeshOnEntityMap.end())
+      return aResult;
+
+    const VISU::PMeshOnEntity& aMeshOnEntity = anIter->second;
+    const VISU::TFieldMap& aFieldMap = aMeshOnEntity->myFieldMap;
+    if(aFieldMap.empty())
+      return aResult;
+
+    {
+      VISU::TFieldMap::const_iterator anIter = aFieldMap.find(theFieldName);
+      if(anIter == aFieldMap.end())
+       return aResult;
+
+      {
+       const VISU::PField& aField = anIter->second;
+       aResult = aField->myNbComp;
+      }
+    }
+  }
+
+  return aResult;
+}
+
+
+//---------------------------------------------------------------
 VISU::Result::EntityNames* 
 VISU::Result_i
 ::GetPartNames(const char* theMeshName)
@@ -1161,6 +1219,8 @@ VISU::Result_i
   return aResult._retn();
 }
 
+
+//---------------------------------------------------------------
 VISU::Result::Resolutions* 
 VISU::Result_i
 ::GetResolutions(const char* theMeshName, 
@@ -1170,6 +1230,8 @@ VISU::Result_i
   return aResult._retn();
 }
 
+
+//---------------------------------------------------------------
 VISU::Result::Resolution
 VISU::Result_i
 ::GetResolution(const char* theMeshName, 
@@ -1178,6 +1240,8 @@ VISU::Result_i
   return VISU::Result::HIDDEN;
 }
 
+
+//---------------------------------------------------------------
 void 
 VISU::Result_i
 ::SetResolution(const char* theMeshName, 
index bfb6f9b7a462dc38223a97b0d29366fdb045836e..7f2e8962d5117d70970a4d8f2fa8b6bdcedc972b 100644 (file)
@@ -158,6 +158,12 @@ namespace VISU
                        Entity theEntity, 
                        const char* theFieldName);
 
+    virtual
+    CORBA::Long 
+    GetNumberOfComponents(const char* theMeshName, 
+                         Entity theEntity, 
+                         const char* theFieldName);
+
     virtual
     VISU::Result::EntityNames* 
     GetPartNames(const char* theMeshName);