Salome HOME
22372: EDF 2758 SMESH: Create/Manage groups on a mesh composed of nodes and balls
authoreap <eap@opencascade.com>
Wed, 13 Nov 2013 14:35:36 +0000 (14:35 +0000)
committereap <eap@opencascade.com>
Wed, 13 Nov 2013 14:35:36 +0000 (14:35 +0000)
Prepare to parallelism

src/Controls/SMESH_Controls.cxx

index 7686e655db6ba1215f01d19318b80dcf844a738a..5daa6b44a0235fe722ec9522104c10ab26b244aa 100644 (file)
@@ -3408,6 +3408,31 @@ bool LogicalOR::IsSatisfy( long theId )
                               FILTER
 */
 
                               FILTER
 */
 
+// #ifdef WITH_TBB
+// #include <tbb/parallel_for.h>
+// #include <tbb/enumerable_thread_specific.h>
+
+// namespace Parallel
+// {
+//   typedef tbb::enumerable_thread_specific< TIdSequence > TIdSeq;
+
+//   struct Predicate
+//   {
+//     const SMDS_Mesh* myMesh;
+//     PredicatePtr     myPredicate;
+//     TIdSeq &         myOKIds;
+//     Predicate( const SMDS_Mesh* m, PredicatePtr p, TIdSeq & ids ):
+//       myMesh(m), myPredicate(p->Duplicate()), myOKIds(ids) {}
+//     void operator() ( const tbb::blocked_range<size_t>& r ) const
+//     {
+//       for ( size_t i = r.begin(); i != r.end(); ++i )
+//         if ( myPredicate->IsSatisfy( i ))
+//           myOKIds.local().push_back();
+//     }
+//   }
+// }
+// #endif
+
 Filter::Filter()
 {}
 
 Filter::Filter()
 {}