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.

Reply via email to