| 48 | \*---------------------------------------------------------------------------*/ |
| 49 | |
| 50 | class uniformSet |
| 51 | : |
| 52 | public sampledSet |
| 53 | { |
| 54 | // Private data |
| 55 | |
| 56 | //- Starting point |
| 57 | point start_; |
| 58 | |
| 59 | //- End point |
| 60 | point end_; |
| 61 | |
| 62 | //- Number of points |
| 63 | label nPoints_; |
| 64 | |
| 65 | // Private Member Functions |
| 66 | |
| 67 | //- Calculates - starting at samplePt - the first sampling point |
| 68 | // on or after currentPt. smallDist is the tolerance used to compare |
| 69 | // positions. Returns false if end of samples reached. |
| 70 | bool nextSample |
| 71 | ( |
| 72 | const point& currentPt, |
| 73 | const vector& offset, |
| 74 | const scalar smallDist, |
| 75 | point& samplePt, |
| 76 | label& sampleI |
| 77 | ) const; |
| 78 | |
| 79 | //- Samples from startTrackPt/Celli. Updates particle/samplePt/sampleI |
| 80 | // and puts |
| 81 | // samples in the DynamicLists. Returns false if end of all samples |
| 82 | // reached |
| 83 | bool trackToBoundary |
| 84 | ( |
| 85 | passiveParticleCloud& particleCloud, |
| 86 | passiveParticle& singleParticle, |
| 87 | point& samplePt, |
| 88 | label& sampleI, |
| 89 | DynamicList<point>& samplingPts, |
| 90 | DynamicList<label>& samplingCells, |
| 91 | DynamicList<label>& samplingFaces, |
| 92 | DynamicList<scalar>& samplingCurveDist |
| 93 | ) const; |
| 94 | |
| 95 | //- Samples from start_ to end_. samplingSegments contains segmentNo |
| 96 | // for each sample. |
| 97 | void calcSamples |
| 98 | ( |
| 99 | DynamicList<point>& samplingPts, |
| 100 | DynamicList<label>& samplingCells, |
| 101 | DynamicList<label>& samplingFaces, |
| 102 | DynamicList<label>& samplingSegments, |
| 103 | DynamicList<scalar>& samplingCurveDist |
| 104 | ) const; |
| 105 | |
| 106 | //- Uses calcSamples to obtain samples. Copies them into *this. |
| 107 | void genSamples(); |