87 inline const cut::uniformOp<Type>&
tetCutTet 89 const cut::uniformOp<Type>&
x,
90 const FixedList<scalar, 3>&
101 const cut::uniformOp<Type>&
x,
102 const FixedList<scalar, 3>&
113 const cut::uniformOp<Type>&
x,
114 const FixedList<scalar, 4>&
134 template<
class Type,
unsigned N>
142 for (
unsigned i = 0; i < 3; ++ i)
144 result[i] =
x[indices[i]];
154 const FixedList<Type, 3>&
x,
155 const Pair<scalar>&
f 158 FixedList<Type, 3> result;
160 for (label i = 0; i < 2; ++ i)
162 result[i+1] =
x[0] +
f[i]*(
x[i+1] -
x[0]);
177 for (label i = 0; i < 2; ++ i)
180 result[3-i] =
x[0] +
f[i]*(
x[i+1] -
x[0]);
187 template<
class Type,
unsigned N>
195 for (
unsigned i = 0; i < 4; ++ i)
197 result[i] =
x[indices[i]];
213 for (label i = 0; i < 3; ++ i)
215 result[i+1] =
x[0] +
f[i]*(
x[i+1] -
x[0]);
230 for (label i = 0; i < 3; ++ i)
232 result[i] =
x[0] +
f[i]*(
x[i+1] -
x[0]);
233 result[i+3] =
x[i+1];
243 const FixedList<Type, 4>&
x,
244 const FixedList<scalar, 4>&
f 248 for (label i = 0; i < 2; ++ i)
251 for (label j = 0; j < 2; ++ j)
253 result[3*i+j+1] =
x[i] +
f[2*i+j]*(
x[j+2] -
x[i]);
272 Swap(result[2], result[4]);
284 const FixedList<point, 3>&
p,
285 const Pair<scalar>&
f 293 template<
class Op,
class OpData>
294 inline typename Op::result
quadOp 296 const OpData& opData,
297 const FixedList<point, 4>&
p 300 static const FixedList<FixedList<label, 3>, 2> i =
301 {{0, 1, 2}, {0, 2, 3}};
339 template<
class Op,
class OpData>
340 inline typename Op::result
prismOp 342 const OpData& opData,
343 const FixedList<point, 6>&
p 347 {{0, 1, 2, 4}, {0, 2, 5, 4}, {0, 4, 5, 3}};
362 const FixedList<point, 4>&
p,
363 const FixedList<scalar, 3>&
f 377 const FixedList<point, 4>&
p,
378 const FixedList<scalar, 4>&
f 391 const FixedList<point, 4>&
p,
392 const FixedList<scalar, 4>&
f Op::result prismOp(const OpData &opData, const FixedList< point, 6 > &p)
Apply an operation to a prism. Splits the prism into three tets.
const cut::uniformOp< Type > & tetCutPrism0(const cut::uniformOp< Type > &x, const FixedList< scalar, 3 > &)
Modify a uniform operation for cutting prism0 from a tet (does nothing)
const cut::uniformOp< Type > & triCutTri(const cut::uniformOp< Type > &x, const Pair< scalar > &)
Modify a uniform operation for cutting a tri from a tri (does nothing)
const cut::uniformOp< Type > & tetCutPrism23(const cut::uniformOp< Type > &x, const FixedList< scalar, 4 > &)
Modify a uniform operation for cutting prism23 from a tet (does nothing)
const cut::uniformOp< Type > & triCutQuad(const cut::uniformOp< Type > &x, const Pair< scalar > &)
Modify a uniform operation for cutting a quad from a tri (does nothing)
Functions for cutting triangles and tetrahedra. Generic operations are applied to each half of a cut...
Op::result quadOp(const OpData &opData, const FixedList< point, 4 > &p)
Apply an operation to a quad. Splits the quad into two tris.
const cut::uniformOp< Type > & tetCutPrism01(const cut::uniformOp< Type > &x, const FixedList< scalar, 4 > &)
Modify a uniform operation for cutting prism01 from a tet (does nothing)
const cut::uniformOp< Type > & tetReorder(const cut::uniformOp< Type > &x, const FixedList< label, 4 > &)
Modify a uniform operation for reordering a tet (does nothing)
const cut::uniformOp< Type > & triReorder(const cut::uniformOp< Type > &x, const FixedList< label, 3 > &)
Modify a uniform operation for reordering a tri (does nothing)
const cut::uniformOp< Type > & tetCutTet(const cut::uniformOp< Type > &x, const FixedList< scalar, 3 > &)
Modify a uniform operation for cutting a tet from a tet (does nothing)
void Swap(DynamicList< T, SizeMinA > &a, DynamicList< T, SizeMinB > &b)