MCPcopy Create free account
hub / github.com/OpenFOAM/OpenFOAM-dev / update

Method update

src/meshTools/cellDist/wallPoint/wallPointDataI.H:36–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34template<class Type>
35template<class TrackingData>
36inline bool wallPointData<Type>::update
37(
38 const point& pt,
39 const wallPointData<Type>& w2,
40 const scalar tol,
41 TrackingData& td
42)
43{
44 scalar dist2 = magSqr(pt - w2.origin());
45
46 if (valid(td))
47 {
48 scalar diff = distSqr() - dist2;
49
50 if (diff < 0)
51 {
52 // already nearer to pt
53 return false;
54 }
55
56 if ((diff < SMALL) || ((distSqr() > SMALL) && (diff/distSqr() < tol)))
57 {
58 // don't propagate small changes
59 return false;
60 }
61 }
62
63 // Either *this is not yet valid or w2 is closer
64 {
65 // current not yet set so use any value
66 distSqr() = dist2;
67 origin() = w2.origin();
68 data_ = w2.data();
69
70 return true;
71 }
72}
73
74
75// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //

Callers

nothing calls this directly

Calls 3

validFunction · 0.85
magSqrFunction · 0.50
dataMethod · 0.45

Tested by

no test coverage detected