ENH: add Barycentric2D outside() test

This commit is contained in:
Mark Olesen
2019-07-18 09:59:58 +02:00
committed by Andrew Heather
parent f94be1bebb
commit d25b19f6aa
2 changed files with 28 additions and 11 deletions

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | \\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
| Copyright (C) 2017 OpenFOAM Foundation | Copyright (C) 2017 OpenFOAM Foundation
@ -27,8 +27,8 @@ Class
Foam::Barycentric2D Foam::Barycentric2D
Description Description
Templated 2D Barycentric derived from VectorSpace. Has 3 components, one of Templated 2D Barycentric derived from VectorSpace.
which is redundant. Has 3 components, one of which is redundant.
SourceFiles SourceFiles
Barycentric2DI.H Barycentric2DI.H
@ -89,15 +89,25 @@ public:
// Member Functions // Member Functions
// Access // Access
inline const Cmpt& a() const; inline const Cmpt& a() const;
inline const Cmpt& b() const; inline const Cmpt& b() const;
inline const Cmpt& c() const; inline const Cmpt& c() const;
// Edit
inline Cmpt& a();
inline Cmpt& b();
inline Cmpt& c();
// Tests
//- True if any coordinates are negative
inline bool outside() const;
inline Cmpt& a();
inline Cmpt& b();
inline Cmpt& c();
}; };

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | \\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
| Copyright (C) 2017 OpenFOAM Foundation | Copyright (C) 2017 OpenFOAM Foundation
@ -97,6 +97,13 @@ inline Cmpt& Foam::Barycentric2D<Cmpt>::c()
} }
template<class Cmpt>
inline bool Foam::Barycentric2D<Cmpt>::outside() const
{
return ((this->v_[A] < 0) || (this->v_[B]) < 0 || (this->v_[C] < 0));
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam namespace Foam