OpenFOAM logo
Open Source CFD Toolkit

pointAddressing.H

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002   =========                 |
00003   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
00004    \\    /   O peration     |
00005     \\  /    A nd           | Copyright (C) 1991-2005 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 the
00013     Free Software Foundation; either version 2 of the License, or (at your
00014     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, write to the Free Software Foundation,
00023     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00024 
00025 Class
00026     pointAddressing
00027 
00028 Description
00029     This class contains the nearest cell label and the difference vector
00030     for an arbitrary point
00031 
00032 SourceFiles
00033     pointAddressing.C
00034 
00035 \*---------------------------------------------------------------------------*/
00036 
00037 #ifndef pointAddressing_H
00038 #define pointAddressing_H
00039 
00040 #include "label.H"
00041 #include "vector.H"
00042 
00043 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00044 
00045 namespace Foam
00046 {
00047 
00048 /*---------------------------------------------------------------------------*\
00049                            Class pointAddressing Declaration
00050 \*---------------------------------------------------------------------------*/
00051 
00052 class pointAddressing
00053 {
00054     // Private data
00055 
00056         label nearestCell_;
00057 
00058         vector diffVector_;
00059 
00060 
00061 public:
00062 
00063     // Constructors
00064 
00065         //- Construct from components
00066         pointAddressing(label, const vector&);
00067 
00068         //- Construct from Istream
00069         pointAddressing(Istream&);
00070 
00071         //- Clone
00072         autoPtr<pointAddressing> clone() const;
00073 
00074 
00075     // Member Functions
00076 
00077         label nearestCell() const
00078         {
00079             return nearestCell_;
00080         }
00081 
00082         vector diffVector() const
00083         {
00084             return diffVector_;
00085         }
00086 
00087 
00088     // Ostream Operator
00089 
00090         friend Ostream& operator<<(Ostream&, const pointAddressing&);
00091 };
00092 
00093 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00094 
00095 } // End namespace Foam
00096 
00097 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00098 
00099 #endif
00100 
00101 // ************************************************************************* //
For further information go to www.openfoam.org