Changed the INSTANTIATE_SET_FE_NODAL_VALUE_FUNCTION macro so that it if the node is being managed by its fe_region then it notifies that fe_region that it has been changed.  This means that you no longer have to copy a node, modify the copy and merge that back in to correctly get change messages.  This allows consolidation and simplification of much code calling this interface and should result in more precise change messages without the merge having to work out exactly what has changed. Consequently consolidated Computed_field_set_values_at_node_in_FE_region and Computed_field_set_values_at_node into the same routine. Removed FE_field_component from the finite_element interface and replaced this with the FE_field and component_number explicitly (and changed all the calling code including UNEMAP_USE_NODES). Put the finite_element interface that is only used by unemap-nodes into preprocessor blocks, #if defined UNEMAP_USE_NODES Replaced get_FE_element_field_component_grid_FE_value_values and set_FE_element_field_component_grid_FE_value_values with respective MACROS for each type. Added private functions FE_region_notify_FE_node_field_change and FE_region_notify_FE_element_field_change to finite_element_region.c and finite_element_region_private.h so that finite_element.c can notify the region whenever its fields have been changed.
Changed the INSTANTIATE_SET_FE_NODAL_VALUE_FUNCTION macro so that it if the
node is being managed by its fe_region then it notifies that fe_region that it
has been changed.  This means that you no longer have to copy a node, modify
the copy and merge that back in to correctly get change messages.  This allows
consolidation and simplification of much code calling this interface and
should result in more precise change messages without the merge having to work
out exactly what has changed.
Consequently consolidated Computed_field_set_values_at_node_in_FE_region and
Computed_field_set_values_at_node into the same routine.
Removed FE_field_component from the finite_element interface and replaced this
with the FE_field and component_number explicitly (and changed all the calling
code including UNEMAP_USE_NODES).
Put the finite_element interface that is only used by unemap-nodes into
preprocessor blocks, #if defined UNEMAP_USE_NODES
Replaced get_FE_element_field_component_grid_FE_value_values and
set_FE_element_field_component_grid_FE_value_values with respective MACROS for
each type.
Added private functions FE_region_notify_FE_node_field_change and
FE_region_notify_FE_element_field_change to finite_element_region.c and
finite_element_region_private.h so that finite_element.c can notify the region
whenever its fields have been changed.


cmiss/cmgui,cmiss/cmgui