I tried to apply GridTools::transform in my code, as it was suggested in an
earlier answer. I tried to call it in the following way:
Point<dim> rescale_body_length(const Point<dim> p) //To be used for output
{
Point<dim> ret_point;
ret_point[0] = rescale_body_length_x(p[0]);
ret_point[1] = rescale_body_length_y(p[1]);
if(dim > 2)
ret_point[2] = rescale_body_length_z(p[2]);
return ret_point;
}
{
parallel::distributed::Triangulation<dim> local_triangulation(
mpi_communicator,
typename
Triangulation<dim>::MeshSmoothing(Triangulation<dim>::smoothing_on_refinement
| Triangulation<dim>::smoothing_on_coarsening));//triangulation);
local_triangulation.copy_triangulation(triangulation);//I do not want
to modify the original triangulation
GridTools::transform (&Step15::MinimalSurfaceProblem<dim>::
rescale_body_length, local_triangulation);
}
but during compilation I get the following error:
/opt/dealii/include/deal.II/grid/grid_tools.h:2632:40: error: must use ‘.*’
or ‘->*’ to call pointer-to-member function in ‘predicate (...)’, e.g. ‘(...
->* predicate) (...)’
cell->vertex(v) = predicate(cell->vertex(v))
Does that mean that I have to move the function for transformation outside
of the main class? Or how should I else approach the problem?
Thanks!
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.