132 template<
class Type,
unsigned Size>
140 for (
unsigned i = 0; i < 3; ++ i)
142 result[i] = x[indices[i]];
158 for (
label i = 0; i < 2; ++ i)
160 result[i+1] = (1 - f[i])*x[0] + f[i]*x[i+1];
175 for (
label i = 0; i < 2; ++ i)
178 result[3-i] = (1 - f[i])*x[0] + f[i]*x[i+1];
185 template<
class Type,
unsigned Size>
193 for (
unsigned i = 0; i < 4; ++ i)
195 result[i] = x[indices[i]];
211 for (
label i = 0; i < 3; ++ i)
213 result[i+1] = (1 - f[i])*x[0] + f[i]*x[i+1];
228 for (
label i = 0; i < 3; ++ i)
230 result[i] = (1 - f[i])*x[0] + f[i]*x[i+1];
231 result[i+3] = x[i+1];
246 for (
label i = 0; i < 2; ++ i)
249 for (
label j = 0; j < 2; ++ j)
251 result[3*i+j+1] = (1 - f[2*i+j])*x[i] + f[2*i+j]*x[j+2];
270 Swap(result[2], result[4]);
278 template<
class Op,
class Po
int>
291 template<
class Op,
class OpData,
class Po
int>
292 inline typename Op::result
quadOp 294 const OpData& opData,
299 {{0, 1, 2}, {0, 2, 3}};
309 template<
class Op,
class Po
int>
324 template<
class Op,
class Po
int>
337 template<
class Op,
class OpData,
class Po
int>
338 inline typename Op::result
prismOp 340 const OpData& opData,
345 {{0, 1, 2, 4}, {0, 2, 5, 4}, {0, 4, 5, 3}};
356 template<
class Op,
class Po
int>
371 template<
class Op,
class Po
int>
385 template<
class Op,
class Po
int>
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
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)
An ordered pair of two objects of type <T> with first() and second() elements.
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)
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 > & 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)
Op::result prismOp(const OpData &opData, const FixedList< Point, 6 > &p)
Apply an operation to a prism. Splits the prism into three tets.