Foam::sampledPlane::sampledPlane ( const word& name, const polyMesh& mesh, const dictionary& dict ) : sampledSurface(name, mesh, dict), cuttingPlane(plane(dict)), zoneKey_(keyType::null), triangulate_(dict.lookupOrDefault("triangulate", true)), needsUpdate_(true) { // Make plane relative to the coordinateSystem (Cartesian) // allow lookup from global coordinate systems if (dict.found("coordinateSystem")) { coordinateSystem cs(mesh, dict.subDict("coordinateSystem")); point base = cs.globalPosition(planeDesc().refPoint()); vector norm = cs.globalVector(planeDesc().normal()); // Assign the plane description static_cast<plane&>(*this) = plane(base, norm); } dict.readIfPresent("zone", zoneKey_); if (debug && zoneKey_.size() && mesh.cellZones().findIndex(zoneKey_) < 0) { Info<< "cellZone " << zoneKey_ << " not found - using entire mesh" << endl; } }
Foam::sampledPlane::sampledPlane ( const word& name, const polyMesh& mesh, const dictionary& dict ) : sampledSurface(name, mesh, dict), cuttingPlane(plane(dict.lookup("basePoint"), dict.lookup("normalVector"))), zoneName_(word::null), needsUpdate_(true) { // make plane relative to the coordinateSystem (Cartesian) // allow lookup from global coordinate systems if (dict.found("coordinateSystem")) { coordinateSystem cs(dict, mesh); point base = cs.globalPosition(planeDesc().refPoint()); vector norm = cs.globalVector(planeDesc().normal()); // assign the plane description static_cast<plane&>(*this) = plane(base, norm); } dict.readIfPresent("zone", zoneName_); if (debug && zoneName_.size()) { if (mesh.cellZones().findZoneID(zoneName_) < 0) { Info<< "cellZone \"" << zoneName_ << "\" not found - using entire mesh" << endl; } } }