Resolve issues relating to compilation with clang-3.5.0
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
#
|
||||
#+TITLE: OpenFOAM README for version dev
|
||||
#+AUTHOR: The OpenFOAM Foundation
|
||||
#+DATE: 14th December 2014
|
||||
#+DATE: 16th December 2014
|
||||
#+LINK: http://www.openfoam.org
|
||||
#+OPTIONS: author:nil ^:{}
|
||||
# Copyright (c) 2014 OpenFOAM Foundation.
|
||||
|
||||
3
applications/test/nullObject/Make/files
Normal file
3
applications/test/nullObject/Make/files
Normal file
@ -0,0 +1,3 @@
|
||||
Test-nullObject.C
|
||||
|
||||
EXE = $(FOAM_USER_APPBIN)/nullObject
|
||||
0
applications/test/nullObject/Make/options
Normal file
0
applications/test/nullObject/Make/options
Normal file
70
applications/test/nullObject/Test-nullObject.C
Normal file
70
applications/test/nullObject/Test-nullObject.C
Normal file
@ -0,0 +1,70 @@
|
||||
#include "nullObject.H"
|
||||
#include "IOstreams.H"
|
||||
|
||||
using namespace Foam;
|
||||
|
||||
class SimpleClass
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
//- Null constructor
|
||||
SimpleClass()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
// Test pointer and reference to a class
|
||||
|
||||
SimpleClass* ptrToClass = new SimpleClass;
|
||||
SimpleClass& refToClass(*ptrToClass);
|
||||
|
||||
if (notNull(ptrToClass))
|
||||
{
|
||||
Info<< "Pass: ptrToClass is not null" << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
Info<< "FAIL: refToClass is null" << endl;
|
||||
}
|
||||
|
||||
if (notNull(refToClass))
|
||||
{
|
||||
Info<< "Pass: refToClass is not null" << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
Info<< "FAIL: refToClass is null" << endl;
|
||||
}
|
||||
|
||||
|
||||
// Test pointer and reference to the nullObject
|
||||
|
||||
const SimpleClass* ptrToNull(NullObjectPtr<SimpleClass>());
|
||||
const SimpleClass& refToNull(*ptrToNull);
|
||||
|
||||
if (isNull(ptrToNull))
|
||||
{
|
||||
Info<< "Pass: ptrToNull is null" << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
Info<< "FAIL: ptrToNull is not null" << endl;
|
||||
}
|
||||
|
||||
if (isNull(refToNull))
|
||||
{
|
||||
Info<< "Pass: refToNull is null" << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
Info<< "FAIL: refToNull is not null" << endl;
|
||||
}
|
||||
|
||||
// Clean-up
|
||||
delete ptrToClass;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -360,7 +360,6 @@ void calcFeaturePoints(const pointField& points, const edgeList& edges)
|
||||
|
||||
const labelListList& pointEdges = eMesh.pointEdges();
|
||||
|
||||
|
||||
// Get total number of feature points
|
||||
label nFeaturePoints = 0;
|
||||
forAll(pointEdges, pI)
|
||||
@ -390,19 +389,6 @@ void calcFeaturePoints(const pointField& points, const edgeList& edges)
|
||||
nFeatPts++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
label concaveStart = 0;
|
||||
label mixedStart = 0;
|
||||
label nonFeatureStart = nFeaturePoints;
|
||||
|
||||
|
||||
labelListList featurePointNormals(nFeaturePoints);
|
||||
labelListList featurePointEdges(nFeaturePoints);
|
||||
labelList regionEdges;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -235,7 +235,7 @@ case ThirdParty:
|
||||
# using clang - not gcc
|
||||
setenv WM_CC 'clang'
|
||||
setenv WM_CXX 'clang++'
|
||||
set clang_version=llvm-3.4.2
|
||||
set clang_version=llvm-3.5.0
|
||||
breaksw
|
||||
default:
|
||||
echo
|
||||
|
||||
@ -256,7 +256,7 @@ OpenFOAM | ThirdParty)
|
||||
# using clang - not gcc
|
||||
export WM_CC='clang'
|
||||
export WM_CXX='clang++'
|
||||
clang_version=llvm-3.4.2
|
||||
clang_version=llvm-3.5.0
|
||||
;;
|
||||
*)
|
||||
echo 1>&2
|
||||
|
||||
@ -104,7 +104,6 @@ $(ranges)/labelRange/labelRanges.C
|
||||
$(ranges)/scalarRange/scalarRange.C
|
||||
$(ranges)/scalarRange/scalarRanges.C
|
||||
|
||||
|
||||
containers/HashTables/HashTable/HashTableCore.C
|
||||
containers/HashTables/StaticHashTable/StaticHashTableCore.C
|
||||
containers/Lists/SortableList/ParSortableListName.C
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -79,7 +79,7 @@ template<class T, class Container>
|
||||
inline const Foam::CompactListList<T, Container>&
|
||||
Foam::CompactListList<T, Container>::null()
|
||||
{
|
||||
return *reinterpret_cast< CompactListList<T, Container>* >(0);
|
||||
return NullObjectRef<CompactListList<T, Container> >();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -107,7 +107,7 @@ Foam::FixedList<T, Size>::clone() const
|
||||
template<class T, unsigned Size>
|
||||
inline const Foam::FixedList<T, Size>& Foam::FixedList<T, Size>::null()
|
||||
{
|
||||
return *reinterpret_cast< FixedList<T, Size>* >(0);
|
||||
return NullObjectRef<FixedList<T, Size> >();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -42,7 +42,7 @@ inline Foam::autoPtr<Foam::List<T> > Foam::List<T>::clone() const
|
||||
template<class T>
|
||||
inline const Foam::List<T>& Foam::List<T>::null()
|
||||
{
|
||||
return *reinterpret_cast< List<T>* >(0);
|
||||
return NullObjectRef<List<T> >();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -74,7 +74,7 @@ inline Foam::SubList<T>::SubList
|
||||
template<class T>
|
||||
inline const Foam::SubList<T>& Foam::SubList<T>::null()
|
||||
{
|
||||
return *reinterpret_cast< SubList<T>* >(0);
|
||||
return NullObjectRef<SubList<T> >();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -45,6 +45,7 @@ SourceFiles
|
||||
#include "bool.H"
|
||||
#include "label.H"
|
||||
#include "uLabel.H"
|
||||
#include "nullObject.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -50,7 +50,7 @@ inline Foam::UList<T>::UList(T* __restrict__ v, label size)
|
||||
template<class T>
|
||||
inline const Foam::UList<T>& Foam::UList<T>::null()
|
||||
{
|
||||
return *reinterpret_cast< UList<T>* >(0);
|
||||
return NullObjectRef<UList<T> >();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -204,7 +204,7 @@ const Type& Foam::objectRegistry::lookupObject(const word& name) const
|
||||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
return *reinterpret_cast< const Type* >(0);
|
||||
return NullObjectRef<Type>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -23,57 +23,52 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline const DimensionedField<Type, GeoMesh>&
|
||||
DimensionedField<Type, GeoMesh>::null()
|
||||
inline const Foam::DimensionedField<Type, GeoMesh>&
|
||||
Foam::DimensionedField<Type, GeoMesh>::null()
|
||||
{
|
||||
return *reinterpret_cast< DimensionedField<Type, GeoMesh>* >(0);
|
||||
return NullObjectRef<DimensionedField<Type, GeoMesh> >();
|
||||
}
|
||||
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline const typename GeoMesh::Mesh&
|
||||
DimensionedField<Type, GeoMesh>::mesh() const
|
||||
Foam::DimensionedField<Type, GeoMesh>::mesh() const
|
||||
{
|
||||
return mesh_;
|
||||
}
|
||||
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline const dimensionSet& DimensionedField<Type, GeoMesh>::dimensions() const
|
||||
inline const Foam::dimensionSet&
|
||||
Foam::DimensionedField<Type, GeoMesh>::dimensions() const
|
||||
{
|
||||
return dimensions_;
|
||||
}
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline dimensionSet& DimensionedField<Type, GeoMesh>::dimensions()
|
||||
inline Foam::dimensionSet&
|
||||
Foam::DimensionedField<Type, GeoMesh>::dimensions()
|
||||
{
|
||||
return dimensions_;
|
||||
}
|
||||
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline const Field<Type>& DimensionedField<Type, GeoMesh>::field() const
|
||||
inline const Foam::Field<Type>&
|
||||
Foam::DimensionedField<Type, GeoMesh>::field() const
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline Field<Type>& DimensionedField<Type, GeoMesh>::field()
|
||||
inline Foam::Field<Type>&
|
||||
Foam::DimensionedField<Type, GeoMesh>::field()
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -23,15 +23,10 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
inline Foam::SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
(
|
||||
const SubField<Type>& slist
|
||||
)
|
||||
@ -40,7 +35,7 @@ inline SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
{}
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
inline Foam::SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
(
|
||||
const UList<Type>& list,
|
||||
const label subSize
|
||||
@ -51,7 +46,7 @@ inline SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
inline Foam::SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
(
|
||||
const UList<Type>& list,
|
||||
const label subSize,
|
||||
@ -63,7 +58,7 @@ inline SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
inline Foam::SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
(
|
||||
const SubDimensionedField<Type, GeoMesh>& sfield
|
||||
)
|
||||
@ -75,18 +70,21 @@ inline SubDimensionedField<Type, GeoMesh>::SubDimensionedField
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
// Return a null Field
|
||||
template<class Type, class GeoMesh>
|
||||
inline const SubDimensionedField<Type, GeoMesh>&
|
||||
SubDimensionedField<Type, GeoMesh>::null()
|
||||
inline const Foam::SubDimensionedField<Type, GeoMesh>&
|
||||
Foam::SubDimensionedField<Type, GeoMesh>::null()
|
||||
{
|
||||
return *reinterpret_cast< SubDimensionedField<Type, GeoMesh>* >(0);
|
||||
return NullObjectRef<SubDimensionedField<Type, GeoMesh> >();
|
||||
}
|
||||
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline tmp<Field<typename SubDimensionedField<Type, GeoMesh>::cmptType> >
|
||||
SubDimensionedField<Type, GeoMesh>::component
|
||||
inline
|
||||
Foam::tmp
|
||||
<
|
||||
Foam::Field<typename Foam::SubDimensionedField<Type, GeoMesh>::cmptType>
|
||||
>
|
||||
Foam::SubDimensionedField<Type, GeoMesh>::component
|
||||
(
|
||||
const direction d
|
||||
) const
|
||||
@ -99,8 +97,8 @@ SubDimensionedField<Type, GeoMesh>::component
|
||||
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline tmp<DimensionedField<Type, GeoMesh> >
|
||||
SubDimensionedField<Type, GeoMesh>::T() const
|
||||
inline Foam::tmp<Foam::DimensionedField<Type, GeoMesh> >
|
||||
Foam::SubDimensionedField<Type, GeoMesh>::T() const
|
||||
{
|
||||
return
|
||||
(
|
||||
@ -112,7 +110,7 @@ SubDimensionedField<Type, GeoMesh>::T() const
|
||||
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
|
||||
|
||||
template<class Type, class GeoMesh>
|
||||
inline void SubDimensionedField<Type, GeoMesh>::operator=
|
||||
inline void Foam::SubDimensionedField<Type, GeoMesh>::operator=
|
||||
(
|
||||
const SubDimensionedField<Type, GeoMesh>& rhs
|
||||
)
|
||||
@ -122,17 +120,12 @@ inline void SubDimensionedField<Type, GeoMesh>::operator=
|
||||
}
|
||||
|
||||
|
||||
// Allow cast to a const DimensionedField<Type, GeoMesh>&
|
||||
template<class Type, class GeoMesh>
|
||||
inline SubDimensionedField<Type, GeoMesh>::operator
|
||||
const DimensionedField<Type, GeoMesh>&() const
|
||||
inline Foam::SubDimensionedField<Type, GeoMesh>::operator
|
||||
const Foam::DimensionedField<Type, GeoMesh>&() const
|
||||
{
|
||||
return *(reinterpret_cast<const DimensionedField<Type, GeoMesh>*>(this));
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -458,7 +458,7 @@ void Foam::Field<Type>::map
|
||||
if
|
||||
(
|
||||
mapper.direct()
|
||||
&& &mapper.directAddressing()
|
||||
&& notNull(mapper.directAddressing())
|
||||
&& mapper.directAddressing().size()
|
||||
)
|
||||
{
|
||||
@ -493,7 +493,7 @@ void Foam::Field<Type>::autoMap
|
||||
(
|
||||
(
|
||||
mapper.direct()
|
||||
&& &mapper.directAddressing()
|
||||
&& notNull(mapper.directAddressing())
|
||||
&& mapper.directAddressing().size()
|
||||
)
|
||||
|| (!mapper.direct() && mapper.addressing().size())
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -100,7 +100,7 @@ public:
|
||||
//- Return a null field
|
||||
inline static const Field<Type>& null()
|
||||
{
|
||||
return *reinterpret_cast< Field<Type>* >(0);
|
||||
return NullObjectRef<Field<Type> >();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -84,7 +84,7 @@ inline Foam::SubField<Type>::SubField
|
||||
template<class Type>
|
||||
inline const Foam::SubField<Type>& Foam::SubField<Type>::null()
|
||||
{
|
||||
return *reinterpret_cast< SubField<Type>* >(0);
|
||||
return NullObjectRef<SubField<Type> >();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -29,7 +29,7 @@ template<class Type, template<class> class PatchField, class GeoMesh>
|
||||
inline const Foam::GeometricField<Type, PatchField, GeoMesh>&
|
||||
Foam::GeometricField<Type, PatchField, GeoMesh>::null()
|
||||
{
|
||||
return *reinterpret_cast< GeometricField<Type, PatchField, GeoMesh>* >(0);
|
||||
return NullObjectRef<GeometricField<Type, PatchField, GeoMesh> >();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -29,8 +29,6 @@ License
|
||||
#include <sstream>
|
||||
#include <iomanip>
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
const char *Foam::clock::monthNames[] =
|
||||
@ -136,6 +134,4 @@ time_t Foam::clock::clockTimeIncrement() const
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -42,6 +42,11 @@ const char* const Foam::FOAMbuild = "BUILD_STRING";
|
||||
|
||||
#include "new.C"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Create the nullObject singleton
|
||||
|
||||
#include "nullObject.C"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
// Global IO streams
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -47,7 +47,7 @@ clone() const
|
||||
template<class Form, class Type>
|
||||
inline const Foam::Matrix<Form, Type>& Foam::Matrix<Form, Type>::null()
|
||||
{
|
||||
return *reinterpret_cast< Matrix<Form, Type>* >(0);
|
||||
return NullObjectRef<Matrix<Form, Type> >();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -23,12 +23,14 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "nullObject.H"
|
||||
|
||||
// * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class T>
|
||||
inline const Foam::Xfer<T>& Foam::Xfer<T>::null()
|
||||
{
|
||||
return *reinterpret_cast< Xfer<T>* >(0);
|
||||
return NullObjectRef<Xfer<T> >();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -128,7 +128,7 @@ Ostream& operator<<(Ostream& os, const InfoProxy<cellShape>& ip)
|
||||
{
|
||||
const cellShape& cs = ip.t_;
|
||||
|
||||
if (!(&cs.model()))
|
||||
if (isNull(cs.model()))
|
||||
{
|
||||
os << " cellShape has no model!\n";
|
||||
}
|
||||
|
||||
@ -678,23 +678,23 @@ void Foam::polyMesh::resetPrimitives
|
||||
|
||||
// Take over new primitive data.
|
||||
// Optimized to avoid overwriting data at all
|
||||
if (&points)
|
||||
if (notNull(points))
|
||||
{
|
||||
points_.transfer(points());
|
||||
bounds_ = boundBox(points_, validBoundary);
|
||||
}
|
||||
|
||||
if (&faces)
|
||||
if (notNull(faces))
|
||||
{
|
||||
faces_.transfer(faces());
|
||||
}
|
||||
|
||||
if (&owner)
|
||||
if (notNull(owner))
|
||||
{
|
||||
owner_.transfer(owner());
|
||||
}
|
||||
|
||||
if (&neighbour)
|
||||
if (notNull(neighbour))
|
||||
{
|
||||
neighbour_.transfer(neighbour());
|
||||
}
|
||||
|
||||
34
src/OpenFOAM/primitives/nullObject/nullObject.C
Normal file
34
src/OpenFOAM/primitives/nullObject/nullObject.C
Normal file
@ -0,0 +1,34 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "nullObject.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
const Foam::NullObject Foam::NullObject::nullObject;
|
||||
const Foam::NullObject* Foam::nullObjectPtr = &Foam::NullObject::nullObject;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
110
src/OpenFOAM/primitives/nullObject/nullObject.H
Normal file
110
src/OpenFOAM/primitives/nullObject/nullObject.H
Normal file
@ -0,0 +1,110 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::nullObject
|
||||
|
||||
Description
|
||||
Singleton null-object class and instance
|
||||
|
||||
SourceFiles
|
||||
nullObjectI.H
|
||||
nullObject.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef nullObject_H
|
||||
#define nullObject_H
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class nullObject Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class NullObject
|
||||
{
|
||||
//- Private constructor
|
||||
NullObject()
|
||||
{}
|
||||
|
||||
//- Prevent copy-construction
|
||||
NullObject(const NullObject&);
|
||||
|
||||
//- Prevent assignment
|
||||
NullObject& operator=(const NullObject&);
|
||||
|
||||
public:
|
||||
|
||||
//- The unique null object
|
||||
static const NullObject nullObject;
|
||||
};
|
||||
|
||||
|
||||
//- Pointer to the unique nullObject
|
||||
extern const NullObject* nullObjectPtr;
|
||||
|
||||
|
||||
//- Return reference to the nullObject of type T
|
||||
template <class T>
|
||||
inline const T& NullObjectRef();
|
||||
|
||||
//- Return pointer to the nullObject of type T
|
||||
template <class T>
|
||||
inline const T* NullObjectPtr();
|
||||
|
||||
|
||||
//- Return true if t is a reference to the nullObject of type T
|
||||
template <class T>
|
||||
inline bool isNull(const T& t);
|
||||
|
||||
//- Return true if t is not a reference to the nullObject of type T
|
||||
template <class T>
|
||||
inline bool notNull(const T& t);
|
||||
|
||||
|
||||
//- Return true if t is a pointer to the nullObject of type T
|
||||
template <class T>
|
||||
inline bool isNull(const T* t);
|
||||
|
||||
//- Return true if t is not a pointer to the nullObject of type T
|
||||
template <class T>
|
||||
inline bool notNull(const T* t);
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#include "nullObjectI.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
65
src/OpenFOAM/primitives/nullObject/nullObjectI.H
Normal file
65
src/OpenFOAM/primitives/nullObject/nullObjectI.H
Normal file
@ -0,0 +1,65 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template <class T>
|
||||
inline const T& Foam::NullObjectRef()
|
||||
{
|
||||
return *reinterpret_cast<const T*>(nullObjectPtr);
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline const T* Foam::NullObjectPtr()
|
||||
{
|
||||
return reinterpret_cast<const T*>(nullObjectPtr);
|
||||
}
|
||||
|
||||
|
||||
template <class T>
|
||||
inline bool Foam::isNull(const T& t)
|
||||
{
|
||||
return &t == NullObjectPtr<T>();
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline bool Foam::notNull(const T& t)
|
||||
{
|
||||
return &t != NullObjectPtr<T>();
|
||||
}
|
||||
|
||||
|
||||
template <class T>
|
||||
inline bool Foam::isNull(const T* t)
|
||||
{
|
||||
return t == NullObjectPtr<T>();
|
||||
}
|
||||
|
||||
template <class T>
|
||||
inline bool Foam::notNull(const T* t)
|
||||
{
|
||||
return t != NullObjectPtr<T>();
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -67,7 +67,7 @@ void Foam::ensightPartCells::classify
|
||||
size_ = mesh.nCells();
|
||||
|
||||
bool limited = false;
|
||||
if (&idList)
|
||||
if (notNull(idList))
|
||||
{
|
||||
limited = true;
|
||||
size_ = idList.size();
|
||||
|
||||
@ -59,7 +59,7 @@ void Foam::ensightPart::writeFieldList
|
||||
const labelUList& idList
|
||||
) const
|
||||
{
|
||||
if (&idList)
|
||||
if (notNull(idList))
|
||||
{
|
||||
forAll(idList, i)
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -182,12 +182,12 @@ void Foam::edgeMesh::reset
|
||||
{
|
||||
// Take over new primitive data.
|
||||
// Optimized to avoid overwriting data at all
|
||||
if (&pointLst)
|
||||
if (notNull(pointLst))
|
||||
{
|
||||
points_.transfer(pointLst());
|
||||
}
|
||||
|
||||
if (&edgeLst)
|
||||
if (notNull(edgeLst))
|
||||
{
|
||||
edges_.transfer(edgeLst());
|
||||
|
||||
|
||||
@ -56,7 +56,7 @@ Foam::directionMixedFvPatchField<Type>::directionMixedFvPatchField
|
||||
refGrad_(ptf.refGrad_, mapper),
|
||||
valueFraction_(ptf.valueFraction_, mapper)
|
||||
{
|
||||
if (&iF && mapper.hasUnmapped())
|
||||
if (notNull(iF) && mapper.hasUnmapped())
|
||||
{
|
||||
WarningIn
|
||||
(
|
||||
|
||||
@ -57,7 +57,7 @@ fixedGradientFvPatchField<Type>::fixedGradientFvPatchField
|
||||
fvPatchField<Type>(ptf, p, iF, mapper),
|
||||
gradient_(ptf.gradient_, mapper)
|
||||
{
|
||||
if (&iF && mapper.hasUnmapped())
|
||||
if (notNull(iF) && mapper.hasUnmapped())
|
||||
{
|
||||
WarningIn
|
||||
(
|
||||
|
||||
@ -66,7 +66,7 @@ fixedValueFvPatchField<Type>::fixedValueFvPatchField
|
||||
:
|
||||
fvPatchField<Type>(ptf, p, iF, mapper)
|
||||
{
|
||||
if (&iF && mapper.hasUnmapped())
|
||||
if (notNull(iF) && mapper.hasUnmapped())
|
||||
{
|
||||
WarningIn
|
||||
(
|
||||
|
||||
@ -60,7 +60,7 @@ mixedFvPatchField<Type>::mixedFvPatchField
|
||||
refGrad_(ptf.refGrad_, mapper),
|
||||
valueFraction_(ptf.valueFraction_, mapper)
|
||||
{
|
||||
if (&iF && mapper.hasUnmapped())
|
||||
if (notNull(iF) && mapper.hasUnmapped())
|
||||
{
|
||||
WarningIn
|
||||
(
|
||||
|
||||
@ -60,7 +60,7 @@ Foam::fixedFluxPressureFvPatchScalarField::fixedFluxPressureFvPatchScalarField
|
||||
gradient().map(ptf.gradient(), mapper);
|
||||
|
||||
// Evaluate the value field from the gradient if the internal field is valid
|
||||
if (&iF && iF.size())
|
||||
if (notNull(iF) && iF.size())
|
||||
{
|
||||
scalarField::operator=
|
||||
(
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -65,7 +65,7 @@ Foam::uniformInletOutletFvPatchField<Type>::uniformInletOutletFvPatchField
|
||||
this->valueFraction() = 0.0;
|
||||
|
||||
// Map value (unmapped get refValue)
|
||||
if (&iF && iF.size())
|
||||
if (notNull(iF) && iF.size())
|
||||
{
|
||||
fvPatchField<Type>::operator=(this->refValue());
|
||||
}
|
||||
|
||||
@ -98,7 +98,7 @@ Foam::fvPatchField<Type>::fvPatchField
|
||||
patchType_(ptf.patchType_)
|
||||
{
|
||||
// For unmapped faces set to internal field value (zero-gradient)
|
||||
if (&iF && iF.size())
|
||||
if (notNull(iF) && iF.size())
|
||||
{
|
||||
fvPatchField<Type>::operator=(this->patchInternalField());
|
||||
}
|
||||
@ -250,7 +250,7 @@ void Foam::fvPatchField<Type>::autoMap
|
||||
if
|
||||
(
|
||||
mapper.direct()
|
||||
&& &mapper.directAddressing()
|
||||
&& notNull(mapper.directAddressing())
|
||||
&& mapper.directAddressing().size()
|
||||
)
|
||||
{
|
||||
|
||||
@ -98,7 +98,7 @@ const Foam::tensorField& Foam::EulerCoordinateRotation::Tr() const
|
||||
(
|
||||
"const tensorField& EulerCoordinateRotation::Tr() const"
|
||||
);
|
||||
return *reinterpret_cast<const tensorField*>(0);
|
||||
return NullObjectRef<tensorField>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -99,7 +99,7 @@ const Foam::tensorField& Foam::STARCDCoordinateRotation::Tr() const
|
||||
(
|
||||
"const tensorField& STARCDCoordinateRotatio::Tr() const"
|
||||
);
|
||||
return *reinterpret_cast<const tensorField*>(0);
|
||||
return NullObjectRef<tensorField>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -172,7 +172,7 @@ const Foam::tensorField& Foam::axesRotation::Tr() const
|
||||
(
|
||||
"const Foam::tensorField& axesRotation::Tr() const"
|
||||
);
|
||||
return *reinterpret_cast<const tensorField*>(0);
|
||||
return NullObjectRef<tensorField>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -151,7 +151,7 @@ const solidThermo& noThermo::thermo() const
|
||||
FatalErrorIn("const volScalarField& noThermo::T() const")
|
||||
<< "T field not available for " << type()
|
||||
<< abort(FatalError);
|
||||
return *reinterpret_cast<const solidThermo*>(NULL);
|
||||
return NullObjectRef<solidThermo>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -30,7 +30,7 @@ License
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
// set values for what is close to zero and what is considered to
|
||||
// Set values for what is close to zero and what is considered to
|
||||
// be positive (and not just rounding noise)
|
||||
//! \cond localScope
|
||||
const Foam::scalar zeroish = Foam::SMALL;
|
||||
@ -39,7 +39,6 @@ const Foam::scalar positive = Foam::SMALL * 1E3;
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
// Find cut cells
|
||||
void Foam::cuttingPlane::calcCutCells
|
||||
(
|
||||
const primitiveMesh& mesh,
|
||||
@ -51,7 +50,7 @@ void Foam::cuttingPlane::calcCutCells
|
||||
const edgeList& edges = mesh.edges();
|
||||
|
||||
label listSize = cellEdges.size();
|
||||
if (&cellIdLabels)
|
||||
if (notNull(cellIdLabels))
|
||||
{
|
||||
listSize = cellIdLabels.size();
|
||||
}
|
||||
@ -64,7 +63,8 @@ void Foam::cuttingPlane::calcCutCells
|
||||
for (label listI = 0; listI < listSize; ++listI)
|
||||
{
|
||||
label cellI = listI;
|
||||
if (&cellIdLabels)
|
||||
|
||||
if (notNull(cellIdLabels))
|
||||
{
|
||||
cellI = cellIdLabels[listI];
|
||||
}
|
||||
@ -100,9 +100,6 @@ void Foam::cuttingPlane::calcCutCells
|
||||
}
|
||||
|
||||
|
||||
// Determine for each edge the intersection point. Calculates
|
||||
// - cutPoints_ : coordinates of all intersection points
|
||||
// - edgePoint : per edge -1 or the index into cutPoints
|
||||
void Foam::cuttingPlane::intersectEdges
|
||||
(
|
||||
const primitiveMesh& mesh,
|
||||
@ -160,8 +157,6 @@ void Foam::cuttingPlane::intersectEdges
|
||||
}
|
||||
|
||||
|
||||
// Coming from startEdgeI cross the edge to the other face
|
||||
// across to the next cut edge.
|
||||
bool Foam::cuttingPlane::walkCell
|
||||
(
|
||||
const primitiveMesh& mesh,
|
||||
@ -253,7 +248,6 @@ bool Foam::cuttingPlane::walkCell
|
||||
}
|
||||
|
||||
|
||||
// For every cut cell determine a walk through all? its cuts.
|
||||
void Foam::cuttingPlane::walkCellCuts
|
||||
(
|
||||
const primitiveMesh& mesh,
|
||||
@ -367,7 +361,6 @@ Foam::cuttingPlane::cuttingPlane
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
// recut mesh with existing planeDesc
|
||||
void Foam::cuttingPlane::reCut
|
||||
(
|
||||
const primitiveMesh& mesh,
|
||||
@ -393,14 +386,13 @@ void Foam::cuttingPlane::reCut
|
||||
}
|
||||
|
||||
|
||||
// remap action on triangulation
|
||||
void Foam::cuttingPlane::remapFaces
|
||||
(
|
||||
const labelUList& faceMap
|
||||
)
|
||||
{
|
||||
// recalculate the cells cut
|
||||
if (&faceMap && faceMap.size())
|
||||
if (notNull(faceMap) && faceMap.size())
|
||||
{
|
||||
MeshStorage::remapFaces(faceMap);
|
||||
|
||||
@ -413,6 +405,7 @@ void Foam::cuttingPlane::remapFaces
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
|
||||
|
||||
void Foam::cuttingPlane::operator=(const cuttingPlane& rhs)
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -203,7 +203,7 @@ bool Foam::sampledPatch::update()
|
||||
void Foam::sampledPatch::remapFaces(const labelUList& faceMap)
|
||||
{
|
||||
// recalculate the cells cut
|
||||
if (&faceMap && faceMap.size())
|
||||
if (notNull(faceMap) && faceMap.size())
|
||||
{
|
||||
MeshStorage::remapFaces(faceMap);
|
||||
patchFaceLabels_ = labelList
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -433,7 +433,7 @@ void Foam::MeshedSurface<Face>::remapFaces
|
||||
)
|
||||
{
|
||||
// recalculate the zone start/size
|
||||
if (&faceMap && faceMap.size())
|
||||
if (notNull(faceMap) && faceMap.size())
|
||||
{
|
||||
surfZoneList& zones = storedZones();
|
||||
|
||||
@ -526,17 +526,17 @@ void Foam::MeshedSurface<Face>::reset
|
||||
|
||||
// Take over new primitive data.
|
||||
// Optimized to avoid overwriting data at all
|
||||
if (&pointLst)
|
||||
if (notNull(pointLst))
|
||||
{
|
||||
storedPoints().transfer(pointLst());
|
||||
}
|
||||
|
||||
if (&faceLst)
|
||||
if (notNull(faceLst))
|
||||
{
|
||||
storedFaces().transfer(faceLst());
|
||||
}
|
||||
|
||||
if (&zoneLst)
|
||||
if (notNull(zoneLst))
|
||||
{
|
||||
storedZones().transfer(zoneLst());
|
||||
}
|
||||
@ -555,17 +555,17 @@ void Foam::MeshedSurface<Face>::reset
|
||||
|
||||
// Take over new primitive data.
|
||||
// Optimized to avoid overwriting data at all
|
||||
if (&pointLst)
|
||||
if (notNull(pointLst))
|
||||
{
|
||||
storedPoints().transfer(pointLst());
|
||||
}
|
||||
|
||||
if (&faceLst)
|
||||
if (notNull(faceLst))
|
||||
{
|
||||
storedFaces().transfer(faceLst());
|
||||
}
|
||||
|
||||
if (&zoneLst)
|
||||
if (notNull(zoneLst))
|
||||
{
|
||||
storedZones().transfer(zoneLst());
|
||||
}
|
||||
@ -860,7 +860,7 @@ Foam::label Foam::MeshedSurface<Face>::triangulate
|
||||
// nothing to do
|
||||
if (nTri <= faceLst.size())
|
||||
{
|
||||
if (&faceMapOut)
|
||||
if (notNull(faceMapOut))
|
||||
{
|
||||
faceMapOut.clear();
|
||||
}
|
||||
@ -871,7 +871,7 @@ Foam::label Foam::MeshedSurface<Face>::triangulate
|
||||
List<label> faceMap;
|
||||
|
||||
// reuse storage from optional faceMap
|
||||
if (&faceMapOut)
|
||||
if (notNull(faceMapOut))
|
||||
{
|
||||
faceMap.transfer(faceMapOut);
|
||||
}
|
||||
@ -928,7 +928,7 @@ Foam::label Foam::MeshedSurface<Face>::triangulate
|
||||
remapFaces(faceMap);
|
||||
|
||||
// optionally return the faceMap
|
||||
if (&faceMapOut)
|
||||
if (notNull(faceMapOut))
|
||||
{
|
||||
faceMapOut.transfer(faceMap);
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -469,7 +469,7 @@ inline label MeshedSurface<triFace>::triangulate()
|
||||
template<>
|
||||
inline label MeshedSurface<triFace>::triangulate(List<label>& faceMap)
|
||||
{
|
||||
if (&faceMap)
|
||||
if (notNull(faceMap))
|
||||
{
|
||||
faceMap.clear();
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -88,12 +88,12 @@ void Foam::MeshedSurfaceIOAllocator::resetFaces
|
||||
const Xfer<surfZoneList>& zones
|
||||
)
|
||||
{
|
||||
if (&faces)
|
||||
if (notNull(faces))
|
||||
{
|
||||
faces_.transfer(faces());
|
||||
}
|
||||
|
||||
if (&zones)
|
||||
if (notNull(zones))
|
||||
{
|
||||
zones_.transfer(zones());
|
||||
}
|
||||
@ -109,7 +109,7 @@ void Foam::MeshedSurfaceIOAllocator::reset
|
||||
{
|
||||
// Take over new primitive data.
|
||||
// Optimized to avoid overwriting data at all
|
||||
if (&points)
|
||||
if (notNull(points))
|
||||
{
|
||||
points_.transfer(points());
|
||||
}
|
||||
@ -127,7 +127,7 @@ void Foam::MeshedSurfaceIOAllocator::reset
|
||||
{
|
||||
// Take over new primitive data.
|
||||
// Optimized to avoid overwriting data at all
|
||||
if (&points)
|
||||
if (notNull(points))
|
||||
{
|
||||
points_.transfer(points());
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -401,7 +401,7 @@ void Foam::UnsortedMeshedSurface<Face>::remapFaces
|
||||
)
|
||||
{
|
||||
// re-assign the zone Ids
|
||||
if (&faceMap && faceMap.size())
|
||||
if (notNull(faceMap) && faceMap.size())
|
||||
{
|
||||
if (zoneToc_.empty())
|
||||
{
|
||||
@ -612,7 +612,7 @@ void Foam::UnsortedMeshedSurface<Face>::reset
|
||||
Xfer<surfZoneList>()
|
||||
);
|
||||
|
||||
if (&zoneIds)
|
||||
if (notNull(zoneIds))
|
||||
{
|
||||
zoneIds_.transfer(zoneIds());
|
||||
}
|
||||
@ -634,7 +634,7 @@ void Foam::UnsortedMeshedSurface<Face>::reset
|
||||
Xfer<surfZoneList>()
|
||||
);
|
||||
|
||||
if (&zoneIds)
|
||||
if (notNull(zoneIds))
|
||||
{
|
||||
zoneIds_.transfer(zoneIds());
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -209,7 +209,7 @@ Foam::surfMesh::surfMesh
|
||||
}
|
||||
|
||||
// We can also send Xfer<..>::null just to initialize without allocating
|
||||
if (&surf)
|
||||
if (notNull(surf))
|
||||
{
|
||||
transfer(surf());
|
||||
}
|
||||
|
||||
@ -503,7 +503,7 @@ const Foam::speciesTable& Foam::Reaction<ReactionThermo>::gasSpecies() const
|
||||
"const speciesTable& gasSpecies() const"
|
||||
" for this reaction"
|
||||
);
|
||||
return *reinterpret_cast<speciesTable*>(0);
|
||||
return NullObjectRef<speciesTable>();
|
||||
}
|
||||
|
||||
|
||||
@ -516,7 +516,7 @@ Foam::Reaction<ReactionThermo>::glhs() const
|
||||
"inline const List<typename Reaction<ReactionThermo>::specieCoeffs>&"
|
||||
"Reaction<ReactionThermo>::glhs()"
|
||||
);
|
||||
return *reinterpret_cast<List<specieCoeffs>*>(0);
|
||||
return NullObjectRef<List<specieCoeffs> >();
|
||||
}
|
||||
|
||||
|
||||
@ -529,7 +529,8 @@ Foam::Reaction<ReactionThermo>::grhs() const
|
||||
"inline const List<typename Reaction<ReactionThermo>::specieCoeffs>&"
|
||||
"Reaction<ReactionThermo>::grhs()"
|
||||
);
|
||||
return *reinterpret_cast<List<specieCoeffs>*>(0);
|
||||
return NullObjectRef<List<specieCoeffs> >();
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
Reference in New Issue
Block a user