39 const int line_cut_data_len = 6;
42 if (
_cut_data.size() % line_cut_data_len != 0)
43 mooseError(
"Length of LineSegmentCutSetUserObject cut_data must be a multiple of 6.");
45 unsigned int num_cuts =
_cut_data.size() / line_cut_data_len;
48 std::pair<Real, Real>
scale;
51 auto vec_scale = getParam<std::vector<Real>>(
"cut_scale");
52 scale = std::make_pair(vec_scale[0], vec_scale[1]);
56 scale = std::make_pair(1.0, 1.0);
59 std::pair<Real, Real> trans;
62 auto vec_trans = getParam<std::vector<Real>>(
"cut_translate");
63 trans = std::make_pair(vec_trans[0], vec_trans[1]);
67 trans = std::make_pair(0.0, 0.0);
74 for (
unsigned int i = 0; i < num_cuts; ++i)
76 Real x0 = (
_cut_data[i * line_cut_data_len + 0] + trans.first) *
scale.first;
77 Real y0 = (
_cut_data[i * line_cut_data_len + 1] + trans.second) *
scale.second;
78 Real x1 = (
_cut_data[i * line_cut_data_len + 2] + trans.first) *
scale.first;
79 Real y1 = (
_cut_data[i * line_cut_data_len + 3] + trans.second) *
scale.second;
83 std::make_pair(
_cut_data[i * line_cut_data_len + 4],
_cut_data[i * line_cut_data_len + 5]));
87 mooseError(
"Number of start/end times must match number of cut line endpoint sets");