00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. 00006 \\/ M anipulation | 00007 ------------------------------------------------------------------------------- 00008 License 00009 This file is part of OpenFOAM. 00010 00011 OpenFOAM is free software: you can redistribute it and/or modify it 00012 under the terms of the GNU General Public License as published by 00013 the Free Software Foundation, either version 3 of the License, or 00014 (at your option) any later version. 00015 00016 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT 00017 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00018 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00019 for more details. 00020 00021 You should have received a copy of the GNU General Public License 00022 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. 00023 00024 Description 00025 00026 00027 \*---------------------------------------------------------------------------*/ 00028 00029 #include <OpenFOAM/error.H> 00030 #include "blockMesh.H" 00031 00032 // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // 00033 00034 Foam::pointField Foam::blockMesh::createPoints(const dictionary& dict) 00035 { 00036 blockMesh& blocks = *this; 00037 00038 scalar scaleFactor = 1.0; 00039 00040 // optional 'convertToMeters' (or 'scale'?) 00041 if (!dict.readIfPresent("convertToMeters", scaleFactor)) 00042 { 00043 dict.readIfPresent("scale", scaleFactor); 00044 } 00045 00046 Info<< nl << "Creating points with scale " << scaleFactor << endl; 00047 00048 pointField points(nPoints_); 00049 00050 forAll(blocks, blockLabel) 00051 { 00052 const pointField& blockPoints = blocks[blockLabel].points(); 00053 00054 forAll(blockPoints, blockPointLabel) 00055 { 00056 points 00057 [ 00058 mergeList_ 00059 [ 00060 blockPointLabel 00061 + blockOffsets_[blockLabel] 00062 ] 00063 ] = scaleFactor * blockPoints[blockPointLabel]; 00064 } 00065 } 00066 00067 return points; 00068 } 00069 00070 // ************************ vim: set sw=4 sts=4 et: ************************ //