From 1090b829b48df91bcef8274afd051dde91561e69 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Thu, 23 Jul 1998 14:04:51 +0000 Subject: [PATCH] Document the user pointer feature. git-svn-id: https://svn.dealii.org/trunk@455 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/Todo | 2 -- deal.II/deal.II/include/grid/tria.h | 13 +++++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/deal.II/deal.II/Todo b/deal.II/deal.II/Todo index 4a93bbc959..076f233782 100644 --- a/deal.II/deal.II/Todo +++ b/deal.II/deal.II/Todo @@ -123,8 +123,6 @@ Review the restruction matrices. I'm not really sure about their elements and they are not implemented at all for quadratic ones. -Document the user pointer interface of the triangulation. - DEAL: diff --git a/deal.II/deal.II/include/grid/tria.h b/deal.II/deal.II/include/grid/tria.h index 139c931ecc..d5a8a3fe0c 100644 --- a/deal.II/deal.II/include/grid/tria.h +++ b/deal.II/deal.II/include/grid/tria.h @@ -844,6 +844,19 @@ class TriaDimensionInfo<2> { * It is recommended that a functions using the flags states so in its * documentation. * + * There is another set of user data, namely a #void *#, for each line, quad, + * etc. Just like the user flags, this field is not available for vertices, + * which does no harm since the vertices have a unique and continuous number + * unlike the structured objects lines and quads. You can access these user + * pointers through the functions #user_pointer()#, #clear_user_pointer()# + * and #set_user_pointer(p)# in the accessor classes. + * + * You should not rely on any specific value for the user pointer if you + * haven't set it yourself before. In special, the pointers are not inherited + * upon refinement. In principle, all user pointers should be #NULL# pointers + * at the time a line, quad, etc comes into life. #NULL# pointers are always + * a good choice, since they raise an exception when being dereferenced. + * * * \subsection{Boundary approximation} * -- 2.39.5