|
| | DataEntryBase (const DoFHandler< dim, spacedim > *dofs, const std::vector< std::string > &names, const std::vector< DataComponentInterpretation::DataComponentInterpretation > &data_component_interpretation) |
| |
| | DataEntryBase (const DoFHandler< dim, spacedim > *dofs, const DataPostprocessor< spacedim > *data_postprocessor) |
| |
| virtual | ~DataEntryBase ()=default |
| |
| virtual double | get_cell_data_value (const unsigned int cell_number, const ComponentExtractor extract_component) const =0 |
| |
| virtual void | get_function_values (const FEValuesBase< dim, spacedim > &fe_patch_values, const ComponentExtractor extract_component, std::vector< double > &patch_values) const =0 |
| |
| virtual void | get_function_values (const FEValuesBase< dim, spacedim > &fe_patch_values, const ComponentExtractor extract_component, std::vector<::Vector< double > > &patch_values_system) const =0 |
| |
| virtual void | get_function_gradients (const FEValuesBase< dim, spacedim > &fe_patch_values, const ComponentExtractor extract_component, std::vector< Tensor< 1, spacedim > > &patch_gradients) const =0 |
| |
| virtual void | get_function_gradients (const FEValuesBase< dim, spacedim > &fe_patch_values, const ComponentExtractor extract_component, std::vector< std::vector< Tensor< 1, spacedim > > > &patch_gradients_system) const =0 |
| |
| virtual void | get_function_hessians (const FEValuesBase< dim, spacedim > &fe_patch_values, const ComponentExtractor extract_component, std::vector< Tensor< 2, spacedim > > &patch_hessians) const =0 |
| |
| virtual void | get_function_hessians (const FEValuesBase< dim, spacedim > &fe_patch_values, const ComponentExtractor extract_component, std::vector< std::vector< Tensor< 2, spacedim > > > &patch_hessians_system) const =0 |
| |
| virtual bool | is_complex_valued () const =0 |
| |
| virtual void | clear ()=0 |
| |
| virtual std::size_t | memory_consumption () const =0 |
| |
template<
int dim,
int spacedim>
class internal::DataOutImplementation::DataEntryBase< dim, spacedim >
For each vector that has been added through the add_data_vector() functions, we need to keep track of a pointer to it, and allow data extraction from it when we generate patches. Unfortunately, we need to do this for a number of different vector types. Fortunately, they all have the same interface. So the way we go is to have a base class that provides the functions to access the vector's information, and to have a derived template class that can be instantiated for each vector type. Since the vectors all have the same interface, this is no big problem, as they can all use the same general templatized code.
- Note
- This class is an example of the type erasure design pattern.
Definition at line 226 of file data_out_dof_data.h.