13#ifndef dealii_segment_data_out_h
14#define dealii_segment_data_out_h
32template <
int spacedim>
60 const std::vector<std::vector<double>> &datasets = {},
61 const std::vector<std::string> &dataset_names_param = {});
65 virtual const std::vector<::DataOutBase::Patch<1, spacedim>> &
69 virtual std::vector<std::string>
76 std::vector<DataOutBase::Patch<1, spacedim>>
patches;
87template <
int spacedim>
91 const std::vector<std::vector<double>> &datasets,
92 const std::vector<std::string> &dataset_names_param)
94 const unsigned int N = segments.size();
96 dataset_names.clear();
99 for (
unsigned int i = 0; i < N; ++i)
102 patches[i].vertices[0] = segments[i].first;
103 patches[i].vertices[1] = segments[i].second;
104 patches[i].patch_index = i;
105 patches[i].n_subdivisions = 1;
107 patches[i].points_are_available =
false;
113 if (!datasets.empty() || !dataset_names_param.empty())
117 dataset_names = dataset_names_param;
118 for (
unsigned int i = 0; i < datasets.size(); ++i)
121 patches[i].data.reinit(dataset_names.size(), 2);
122 for (
unsigned int j = 0; j < dataset_names.size(); ++j)
123 for (
unsigned int k = 0; k < 2; ++k)
124 patches[i].
data(j, k) = datasets[i][j];
134template <
int spacedim>
135const std::vector<DataOutBase::Patch<1, spacedim>> &
143template <
int spacedim>
144std::vector<std::string>
147 return dataset_names;
~SegmentDataOut()=default
void build_patches(const std::vector< std::pair< Point< spacedim >, Point< spacedim > > > &segments, const std::vector< std::vector< double > > &datasets={}, const std::vector< std::string > &dataset_names_param={})
std::vector< DataOutBase::Patch< 1, spacedim > > patches
std::vector< std::string > dataset_names
virtual const std::vector<::DataOutBase::Patch< 1, spacedim > > & get_patches() const override
virtual std::vector< std::string > get_dataset_names() const override
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define AssertDimension(dim1, dim2)
std::vector< index_type > data
constexpr ReferenceCell< 1 > Line