92 if (getParam<bool>(
"set_distance_before_start"))
93 ray->setStartingMaxDistance(1);
94 if (getParam<bool>(
"set_stationary_before_start"))
96 if (getParam<bool>(
"at_end_without_set"))
98 if (getParam<bool>(
"end_point_without_set"))
100 if (getParam<bool>(
"set_start_fail_bbox"))
101 ray->setStart(Point(1e6, 1e6, 1e6));
102 if (getParam<bool>(
"set_side_without_elem"))
103 ray->setStart(elem->vertex_average(),
nullptr, 0);
104 if (getParam<bool>(
"set_invalid_side"))
105 ray->setStart(elem->vertex_average(), elem, 100);
106 if (getParam<bool>(
"set_bad_side"))
107 ray->setStart(elem->vertex_average(), elem, 0);
108 if (getParam<bool>(
"set_direction_before_start"))
109 ray->setStartingDirection(Point(1, 0, 0));
110 if (getParam<bool>(
"set_bad_start"))
112 const Elem * another_elem = elem->neighbor_ptr(0);
114 another_elem = elem->neighbor_ptr(1);
115 ray->setStart(elem->vertex_average(), another_elem);
117 if (getParam<bool>(
"set_end_before_start"))
118 ray->setStartingEndPoint(elem->point(0));
119 if (getParam<bool>(
"set_start_inactive"))
121 for (
const auto & inactive_elem :
meshBase().element_ptr_range())
122 if (!inactive_elem->active())
123 ray->setStart(inactive_elem->true_centroid(), inactive_elem);
126 ray->setStart(elem->vertex_average(), elem);
128 if (getParam<bool>(
"set_start_again"))
129 ray->setStart(1.01 * elem->vertex_average());
130 if (getParam<bool>(
"set_direction_again"))
132 ray->setStartingDirection(Point(1, 0, 0));
133 ray->setStartingDirection(Point(-1, 0, 0));
135 if (getParam<bool>(
"set_zero_direction"))
136 ray->setStartingDirection(Point(0, 0, 0));
137 if (getParam<bool>(
"set_end_equal_start"))
138 ray->setStartingEndPoint(ray->currentPoint());
139 if (getParam<bool>(
"set_end_with_direction"))
141 ray->setStartingDirection(Point(1, 0, 0));
142 ray->setStartingEndPoint(elem->point(0));
144 if (getParam<bool>(
"set_distance_with_end"))
146 ray->setStartingEndPoint(elem->point(0));
147 ray->setStartingMaxDistance(1);
149 if (getParam<bool>(
"set_end_with_distance"))
151 ray->setStartingMaxDistance(1);
152 ray->setStartingEndPoint(elem->point(0));
154 if (getParam<bool>(
"set_end_fail_bbox"))
155 ray->setStartingEndPoint(Point(1e6, 1e6, 1e6));
156 if (getParam<bool>(
"set_distance_negative"))
157 ray->setStartingMaxDistance(-1);
158 if (getParam<bool>(
"set_stationary_with_direction"))
160 ray->setStartingDirection(Point(1, 0, 0));
161 ray->setStationary();
163 if (getParam<bool>(
"set_stationary_with_end"))
165 ray->setStartingEndPoint(elem->point(0));
166 ray->setStationary();