90 [[maybe_unused]]
const std::map<
Node<SPACE_DIM>*, c_vector<double, SPACE_DIM> >& rOldLocations)
92 if constexpr ((SPACE_DIM == 2) || (SPACE_DIM == 3))
99 double max_jiggle = 1e-4;
104 cell_iter != this->mpCellPopulation->End();
107 unsigned node_index = this->mpCellPopulation->GetLocationIndexUsingCell(*cell_iter);
110 c_vector<double, SPACE_DIM> node_location = p_node->
rGetLocation();
112 double signed_distance = inner_prod(node_location - mPointOnPlane, mNormalToPlane);
113 if (signed_distance > 0.0)
116 c_vector<double, SPACE_DIM> nearest_point;
117 if (mUseJiggledNodesOnPlane)
123 nearest_point = node_location - signed_distance*mNormalToPlane;
131 assert(SPACE_DIM == ELEMENT_DIM);
135 unsigned num_nodes = this->mpCellPopulation->GetNumNodes();
136 for (
unsigned node_index=0; node_index<num_nodes; node_index++)
139 c_vector<double, SPACE_DIM> node_location = p_node->
rGetLocation();
141 double signed_distance = inner_prod(node_location - mPointOnPlane, mNormalToPlane);
142 if (signed_distance > 0.0)
145 c_vector<double, SPACE_DIM> nearest_point;
146 if (mUseJiggledNodesOnPlane)
152 nearest_point = node_location - signed_distance*mNormalToPlane;
159 else if constexpr (SPACE_DIM == 1)
168 cell_iter != this->mpCellPopulation->End();
171 unsigned node_index = this->mpCellPopulation->GetLocationIndexUsingCell(*cell_iter);
174 c_vector<double, SPACE_DIM> node_location = p_node->
rGetLocation();
176 double signed_distance = inner_prod(node_location - mPointOnPlane, mNormalToPlane);
177 if (signed_distance > 0.0)
179 c_vector<double, SPACE_DIM> nearest_point = node_location - signed_distance * mNormalToPlane;
214 *rParamsFile <<
"\t\t\t<PointOnPlane>";
215 for (
unsigned index=0; index != SPACE_DIM-1U; index++)
217 *rParamsFile << mPointOnPlane[index] <<
",";
219 *rParamsFile << mPointOnPlane[SPACE_DIM-1] <<
"</PointOnPlane>\n";
221 *rParamsFile <<
"\t\t\t<NormalToPlane>";
222 for (
unsigned index=0; index != SPACE_DIM-1U; index++)
224 *rParamsFile << mNormalToPlane[index] <<
",";
226 *rParamsFile << mNormalToPlane[SPACE_DIM-1] <<
"</NormalToPlane>\n";
227 *rParamsFile <<
"\t\t\t<UseJiggledNodesOnPlane>" << mUseJiggledNodesOnPlane <<
"</UseJiggledNodesOnPlane>\n";