diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableBoxFeatures.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableBoxFeatures.C index 7034ec58dd2ea7848ed4c76b10b458e5ee625dd2..78149fac1669328e7406e5cdfe888cd92f6d3e9a 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableBoxFeatures.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableBoxFeatures.C @@ -56,7 +56,7 @@ Foam::searchableBoxFeatures::searchableBoxFeatures ( extendedFeatureEdgeMesh::sideVolumeTypeNames_ [ - dict.lookupOrDefault<word>("meshableSide", "INSIDE") + dict.lookupOrDefault<word>("meshableSide", "inside") ] ) { @@ -182,7 +182,7 @@ Foam::searchableBoxFeatures::features() const 8, 8, 8, 12, 12, 12, 12, faceNormals, - PackedList<2>(12, mode_), // Need to be input by user + List<extendedFeatureEdgeMesh::sideVolumeType>(12, mode_), edgeDirections, normalDirections, edgeNormals, diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraint.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraint.H index 7f4f667c30feddbe07d831ff7b65ab0bb34f6bfe..5b48463befa18f99aecf5859a2e67b5e4c2ad47d 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraint.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraint.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -41,10 +41,9 @@ SourceFiles #define pointConstraint_H #include "label.H" -#include "uLabel.H" #include "vector.H" -#include "tensor.H" #include "Tuple2.H" +#include "transform.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -67,6 +66,9 @@ public: //- Construct null inline pointConstraint(); + //- Construct from components + inline pointConstraint(const Tuple2<label, vector>&); + //- Construct from Istream inline pointConstraint(Istream&); @@ -84,6 +86,23 @@ public: }; +//- reduce operator +class combineConstraintsEqOp +{ +public: + inline void operator()(pointConstraint&, const pointConstraint&) const; +}; + +//- transformation function +inline pointConstraint transform(const tensor& tt, const pointConstraint& v); + +//- contiguous +template<class T> bool contiguous(); +template<> +inline bool contiguous<pointConstraint>() {return true;} + + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraintI.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraintI.H index 698e62a94460ff4b3b24a51ab7e9bcc787d8e3f3..0915a301d4db98a8d20e3a9193c22482e7f2149c 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraintI.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraintI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -31,6 +31,12 @@ inline Foam::pointConstraint::pointConstraint() {} +inline Foam::pointConstraint::pointConstraint(const Tuple2<label, vector>& pc) +: + Tuple2<label, vector>(pc) +{} + + inline Foam::pointConstraint::pointConstraint(Istream& is) : Tuple2<label, vector>(is) @@ -130,4 +136,27 @@ Foam::tensor Foam::pointConstraint::constraintTransformation() const } +void Foam::combineConstraintsEqOp::operator() +( + pointConstraint& x, + const pointConstraint& y +) const +{ + x.combine(y); +} + + +Foam::pointConstraint Foam::transform +( + const tensor& tt, + const pointConstraint& v +) +{ + return pointConstraint + ( + Tuple2<label, vector>(v.first(), transform(tt, v.second())) + ); +} + + // ************************************************************************* // diff --git a/src/sampling/sampledSurface/isoSurface/isoSurface.C b/src/sampling/sampledSurface/isoSurface/isoSurface.C index 63c245e8c87b4fc74d215d79f77daae41da94ef6..e3105b35a56410fe8c6c1ee73425ac45874fcb95 100644 --- a/src/sampling/sampledSurface/isoSurface/isoSurface.C +++ b/src/sampling/sampledSurface/isoSurface/isoSurface.C @@ -1077,7 +1077,7 @@ Foam::triSurface Foam::isoSurface::stitchTriPoints { // There is no (higher numbered) duplicate triangle label newTriI = newToOldTri.size(); - newToOldTri.append(triI); + newToOldTri.append(triMap[triI]); tris[newTriI] = tris[triI]; } }