Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef searchablePlane_H
00036 #define searchablePlane_H
00037
00038 #include "searchableSurface.H"
00039 #include <OpenFOAM/plane.H>
00040
00041
00042
00043 namespace Foam
00044 {
00045
00046
00047
00048
00049
00050
00051
00052 class searchablePlane
00053 :
00054 public searchableSurface,
00055 public plane
00056 {
00057 private:
00058
00059
00060
00061 mutable wordList regions_;
00062
00063
00064
00065
00066 pointIndexHit findLine
00067 (
00068 const point& start,
00069 const point& end
00070 ) const;
00071
00072
00073
00074 searchablePlane(const searchablePlane&);
00075
00076
00077 void operator=(const searchablePlane&);
00078
00079
00080 public:
00081
00082
00083 TypeName("searchablePlane");
00084
00085
00086
00087
00088
00089 searchablePlane
00090 (
00091 const IOobject& io,
00092 const point& basePoint,
00093 const vector& normal
00094 );
00095
00096
00097 searchablePlane
00098 (
00099 const IOobject& io,
00100 const dictionary& dict
00101 );
00102
00103
00104
00105 virtual ~searchablePlane();
00106
00107
00108
00109
00110 virtual const wordList& regions() const;
00111
00112
00113 virtual bool hasVolumeType() const
00114 {
00115 return false;
00116 }
00117
00118
00119 virtual label size() const
00120 {
00121 return 1;
00122 }
00123
00124
00125
00126 virtual pointField coordinates() const
00127 {
00128
00129 return pointField(1, refPoint());
00130 }
00131
00132
00133
00134
00135 virtual void findNearest
00136 (
00137 const pointField& sample,
00138 const scalarField& nearestDistSqr,
00139 List<pointIndexHit>&
00140 ) const;
00141
00142 virtual void findLine
00143 (
00144 const pointField& start,
00145 const pointField& end,
00146 List<pointIndexHit>&
00147 ) const;
00148
00149 virtual void findLineAny
00150 (
00151 const pointField& start,
00152 const pointField& end,
00153 List<pointIndexHit>&
00154 ) const;
00155
00156
00157 virtual void findLineAll
00158 (
00159 const pointField& start,
00160 const pointField& end,
00161 List<List<pointIndexHit> >&
00162 ) const;
00163
00164
00165 virtual void getRegion
00166 (
00167 const List<pointIndexHit>&,
00168 labelList& region
00169 ) const;
00170
00171
00172 virtual void getNormal
00173 (
00174 const List<pointIndexHit>&,
00175 vectorField& normal
00176 ) const;
00177
00178
00179
00180 virtual void getVolumeType
00181 (
00182 const pointField&,
00183 List<volumeType>&
00184 ) const;
00185
00186
00187
00188
00189 bool writeData(Ostream&) const
00190 {
00191 notImplemented("searchablePlane::writeData(Ostream&) const");
00192 return false;
00193 }
00194
00195 };
00196
00197
00198
00199
00200 }
00201
00202
00203
00204 #endif
00205
00206