Commit df621c16 authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

Adding binding of mesh functions.

parent d1ef48e7
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -10,6 +10,11 @@ TODO:
 - data by se na hostu preskupila do souvisleho bloku dat a ten se prenesl najednou


TODO:
 - zrejme bude potreba udrzovat ke kazdemu objektu jeho obraz na GPU/MIC
 - to by zarizovala metoda syncToDevice() napr. kazdy objekt by mel promennou modified, ktera by rikala, jestli se zmenil a zda je nutne ho
   prekopirovavat

TODO:
 - zavest namespaces

@@ -21,11 +26,6 @@ TODO: CUDA unified memory
se s nimi pracovat postaru
 - bylo by dobre to obalit unique poinetry, aby se nemusela delat dealokace rucne

TODO: shared pointery
 - mohli bysme pomoci nich odstranit Shared objekty
 - asi by bylo lepsi datcounter z shared pointeru primo do array a tento counter by se alokoval az po porvnim sdileni dat
 - diky tomu by se array mohlo vytvaret i na gpu bez nutnosti dynamicke alokace, jen by nebylo mozne delat bind (nebo nejaky zjednoduseny)

TODO: Mesh
 * vsechny traits zkusit presunout do jednotneho MeshTraits, tj. temer MeshConfigTraits ale pojmenovat jako MeshTraits
 * omezit tnlDimesnionsTag - asi to ale nepujde
+2 −0
Original line number Diff line number Diff line
@@ -66,6 +66,8 @@ class tnlMeshFunction :
      bool setup( const tnlParameterContainer& parameters,
                  const tnlString& prefix = "" );      
      
      void bind( ThisType& meshFunction );
      
      template< typename Vector >
      void bind( const MeshType& mesh,
                 const Vector& data,
+11 −0
Original line number Diff line number Diff line
@@ -133,6 +133,17 @@ setup( const tnlParameterContainer& parameters,
   return true;
}

template< typename Mesh,
          int MeshEntityDimensions,
          typename Real >
void
tnlMeshFunction< Mesh, MeshEntityDimensions, Real >::
bind( tnlMeshFunction< Mesh, MeshEntityDimensions, Real >& meshFunction )
{
   this->mesh = meshFunction.getMesh();
   this->data.bind( meshFunction.getData() );
}

template< typename Mesh,
          int MeshEntityDimensions,
          typename Real >