mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-24 21:10:33 +05:00
Merge remote-tracking branch 'origin/master' into splitimprove2
This commit is contained in:
commit
0a17a3dbce
@ -404,6 +404,8 @@ if(USE_CGNS)
|
|||||||
endif(NOT WIN32 AND NOT APPLE)
|
endif(NOT WIN32 AND NOT APPLE)
|
||||||
endif(USE_CGNS)
|
endif(USE_CGNS)
|
||||||
|
|
||||||
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/netgen_version.hpp DESTINATION ${NG_INSTALL_DIR_INCLUDE}/include COMPONENT netgen_devel)
|
||||||
|
|
||||||
add_subdirectory(libsrc)
|
add_subdirectory(libsrc)
|
||||||
add_subdirectory(ng)
|
add_subdirectory(ng)
|
||||||
add_subdirectory(tutorials)
|
add_subdirectory(tutorials)
|
||||||
|
@ -3,16 +3,20 @@ if(NOT BDIR)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(Git REQUIRED)
|
find_package(Git REQUIRED)
|
||||||
|
execute_process(COMMAND git describe --tags --match "v[0-9]*" --long --dirty WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} OUTPUT_VARIABLE git_version_string RESULT_VARIABLE status ERROR_QUIET)
|
||||||
|
|
||||||
if(GIT_FOUND AND EXISTS ${CMAKE_CURRENT_LIST_DIR}/../.git)
|
if(status AND NOT status EQUAL 0)
|
||||||
execute_process(COMMAND git describe --tags --match "v[0-9]*" --long --dirty WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} OUTPUT_VARIABLE git_version_string)
|
|
||||||
else()
|
|
||||||
# for source package files (generated for ubuntu builds on launchpad) read the version from version.txt
|
|
||||||
if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/../version.txt)
|
if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/../version.txt)
|
||||||
file(READ ${CMAKE_CURRENT_LIST_DIR}/../version.txt git_version_string )
|
# for source package files (generated for ubuntu builds on launchpad) read the version from version.txt
|
||||||
|
if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/../version.txt)
|
||||||
|
file(READ ${CMAKE_CURRENT_LIST_DIR}/../version.txt git_version_string )
|
||||||
|
else()
|
||||||
|
get_filename_component(git_version_string ${CMAKE_CURRENT_LIST_DIR}/.. NAME)
|
||||||
|
string(REGEX REPLACE "^netgen(.*)" "\\1" git_version_string "${git_version_string}")
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
get_filename_component(git_version_string ${CMAKE_CURRENT_LIST_DIR}/.. NAME)
|
MESSAGE(WARNING "Could not determine git-version from source code - assuming 6.2.0.0")
|
||||||
string(REGEX REPLACE "^netgen(.*)" "\\1" git_version_string "${git_version_string}")
|
set(git_version_string "v6.2.0.0")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -36,7 +40,17 @@ endif()
|
|||||||
set(NETGEN_VERSION_LONG ${NETGEN_VERSION_SHORT}-${NETGEN_VERSION_TWEAK}-${NETGEN_VERSION_HASH})
|
set(NETGEN_VERSION_LONG ${NETGEN_VERSION_SHORT}-${NETGEN_VERSION_TWEAK}-${NETGEN_VERSION_HASH})
|
||||||
|
|
||||||
set(version_file ${BDIR}/netgen_version.hpp)
|
set(version_file ${BDIR}/netgen_version.hpp)
|
||||||
set(new_version_file_string "#define NETGEN_VERSION \"${NETGEN_VERSION}\"\n")
|
set(new_version_file_string "\
|
||||||
|
#ifndef NETGEN_VERSION_HPP_INCLUDED
|
||||||
|
#define NETGEN_VERSION_HPP_INCLUDED
|
||||||
|
#define NETGEN_VERSION \"${NETGEN_VERSION}\"
|
||||||
|
#define NETGEN_VERSION_MAJOR ${NETGEN_VERSION_MAJOR}
|
||||||
|
#define NETGEN_VERSION_MINOR ${NETGEN_VERSION_MINOR}
|
||||||
|
#define NETGEN_VERSION_PATCH ${NETGEN_VERSION_PATCH}
|
||||||
|
#define NETGEN_VERSION_TWEAK ${NETGEN_VERSION_TWEAK}
|
||||||
|
#define NETGEN_VERSION_HASH \"${NETGEN_VERSION_HASH}\"
|
||||||
|
#endif // NETGEN_VERSION_HPP_INCLUDED
|
||||||
|
")
|
||||||
if(EXISTS ${version_file})
|
if(EXISTS ${version_file})
|
||||||
file(READ ${version_file} old_version_file_string )
|
file(READ ${version_file} old_version_file_string )
|
||||||
if(${old_version_file_string} STREQUAL ${new_version_file_string})
|
if(${old_version_file_string} STREQUAL ${new_version_file_string})
|
||||||
|
@ -11,6 +11,7 @@ add_library(ngcore SHARED
|
|||||||
table.cpp
|
table.cpp
|
||||||
taskmanager.cpp
|
taskmanager.cpp
|
||||||
utils.cpp
|
utils.cpp
|
||||||
|
version.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
# Pybind11 2.3 Issue https://github.com/pybind/pybind11/issues/1604
|
# Pybind11 2.3 Issue https://github.com/pybind/pybind11/issues/1604
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
|
|
||||||
#include "archive.hpp"
|
#include "archive.hpp"
|
||||||
|
#include "version.hpp"
|
||||||
|
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
#include <cxxabi.h>
|
#include <cxxabi.h>
|
||||||
@ -7,18 +8,6 @@
|
|||||||
|
|
||||||
namespace ngcore
|
namespace ngcore
|
||||||
{
|
{
|
||||||
// clang-tidy should ignore this static object
|
|
||||||
static std::map<std::string, VersionInfo> library_versions; // NOLINT
|
|
||||||
std::map<std::string, VersionInfo>& Archive :: GetLibraryVersions()
|
|
||||||
{
|
|
||||||
return library_versions;
|
|
||||||
}
|
|
||||||
const VersionInfo& GetLibraryVersion(const std::string& library)
|
|
||||||
{ return library_versions[library]; }
|
|
||||||
|
|
||||||
void SetLibraryVersion(const std::string& library, const VersionInfo& version)
|
|
||||||
{ library_versions[library] = version; }
|
|
||||||
|
|
||||||
// clang-tidy should ignore this static object
|
// clang-tidy should ignore this static object
|
||||||
static std::unique_ptr<std::map<std::string, detail::ClassArchiveInfo>> type_register; // NOLINT
|
static std::unique_ptr<std::map<std::string, detail::ClassArchiveInfo>> type_register; // NOLINT
|
||||||
const detail::ClassArchiveInfo& Archive :: GetArchiveRegister(const std::string& classname)
|
const detail::ClassArchiveInfo& Archive :: GetArchiveRegister(const std::string& classname)
|
||||||
|
@ -30,9 +30,6 @@ namespace pybind11
|
|||||||
|
|
||||||
namespace ngcore
|
namespace ngcore
|
||||||
{
|
{
|
||||||
// Libraries using this archive can store their version here to implement backwards compatibility
|
|
||||||
NGCORE_API const VersionInfo& GetLibraryVersion(const std::string& library);
|
|
||||||
NGCORE_API void SetLibraryVersion(const std::string& library, const VersionInfo& version);
|
|
||||||
|
|
||||||
class NGCORE_API Archive;
|
class NGCORE_API Archive;
|
||||||
|
|
||||||
@ -570,9 +567,6 @@ namespace ngcore
|
|||||||
|
|
||||||
virtual void FlushBuffer() {}
|
virtual void FlushBuffer() {}
|
||||||
|
|
||||||
protected:
|
|
||||||
static std::map<std::string, VersionInfo>& GetLibraryVersions();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
template<typename T, typename ... Bases>
|
template<typename T, typename ... Bases>
|
||||||
friend class RegisterClassForArchive;
|
friend class RegisterClassForArchive;
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#include <pybind11/pybind11.h>
|
#include <pybind11/pybind11.h>
|
||||||
#include <pybind11/operators.h>
|
#include <pybind11/operators.h>
|
||||||
#include <pybind11/numpy.h>
|
#include <pybind11/numpy.h>
|
||||||
|
#include <pybind11/stl.h>
|
||||||
|
|
||||||
#include "array.hpp"
|
#include "array.hpp"
|
||||||
#include "archive.hpp"
|
#include "archive.hpp"
|
||||||
@ -229,7 +230,6 @@ namespace ngcore
|
|||||||
using ARCHIVE::stream;
|
using ARCHIVE::stream;
|
||||||
using ARCHIVE::version_map;
|
using ARCHIVE::version_map;
|
||||||
using ARCHIVE::logger;
|
using ARCHIVE::logger;
|
||||||
using ARCHIVE::GetLibraryVersions;
|
|
||||||
public:
|
public:
|
||||||
PyArchive(const pybind11::object& alst = pybind11::none()) :
|
PyArchive(const pybind11::object& alst = pybind11::none()) :
|
||||||
ARCHIVE(std::make_shared<std::stringstream>()),
|
ARCHIVE(std::make_shared<std::stringstream>()),
|
||||||
@ -274,10 +274,11 @@ namespace ngcore
|
|||||||
|
|
||||||
pybind11::list WriteOut()
|
pybind11::list WriteOut()
|
||||||
{
|
{
|
||||||
|
auto version_runtime = GetLibraryVersions();
|
||||||
FlushBuffer();
|
FlushBuffer();
|
||||||
lst.append(pybind11::bytes(std::static_pointer_cast<std::stringstream>(stream)->str()));
|
lst.append(pybind11::bytes(std::static_pointer_cast<std::stringstream>(stream)->str()));
|
||||||
stream = std::make_shared<std::stringstream>();
|
stream = std::make_shared<std::stringstream>();
|
||||||
*this & GetLibraryVersions();
|
*this & version_runtime;
|
||||||
FlushBuffer();
|
FlushBuffer();
|
||||||
lst.append(pybind11::bytes(std::static_pointer_cast<std::stringstream>(stream)->str()));
|
lst.append(pybind11::bytes(std::static_pointer_cast<std::stringstream>(stream)->str()));
|
||||||
stream = std::make_shared<std::stringstream>();
|
stream = std::make_shared<std::stringstream>();
|
||||||
|
29
libsrc/core/version.cpp
Normal file
29
libsrc/core/version.cpp
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#include <map>
|
||||||
|
|
||||||
|
#include <netgen_version.hpp>
|
||||||
|
#include "exception.hpp"
|
||||||
|
#include "version.hpp"
|
||||||
|
|
||||||
|
namespace ngcore
|
||||||
|
{
|
||||||
|
// clang-tidy should ignore this static object
|
||||||
|
static std::map<std::string, VersionInfo> library_versions; // NOLINT
|
||||||
|
|
||||||
|
const VersionInfo& GetLibraryVersion(const std::string& library)
|
||||||
|
{ return library_versions[library]; }
|
||||||
|
|
||||||
|
const std::map<std::string, VersionInfo>& GetLibraryVersions()
|
||||||
|
{ return library_versions; }
|
||||||
|
|
||||||
|
void SetLibraryVersion(const std::string& library, const VersionInfo& version)
|
||||||
|
{
|
||||||
|
if(library_versions.count(library) && (library_versions[library] != version))
|
||||||
|
throw Exception("Failed to set library version for " + library + " to " + version.to_string() + ": version already set to " + library_versions[library].to_string());
|
||||||
|
library_versions[library] = version;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool dummy = [](){
|
||||||
|
SetLibraryVersion("netgen", NETGEN_VERSION);
|
||||||
|
return true;
|
||||||
|
}();
|
||||||
|
} // namespace ngcore
|
@ -80,6 +80,10 @@ namespace ngcore
|
|||||||
return mayor_ == other.mayor_ && minor_ == other.minor_ && release == other.release
|
return mayor_ == other.mayor_ && minor_ == other.minor_ && release == other.release
|
||||||
&& patch == other.patch;
|
&& patch == other.patch;
|
||||||
}
|
}
|
||||||
|
bool operator !=(const VersionInfo& other) const
|
||||||
|
{
|
||||||
|
return !(*this==other);
|
||||||
|
}
|
||||||
bool operator >(const VersionInfo& other) const { return other < (*this); }
|
bool operator >(const VersionInfo& other) const { return other < (*this); }
|
||||||
bool operator <=(const VersionInfo& other) const { return !((*this) > other); }
|
bool operator <=(const VersionInfo& other) const { return !((*this) > other); }
|
||||||
bool operator >=(const VersionInfo& other) const { return !((*this) < other); }
|
bool operator >=(const VersionInfo& other) const { return !((*this) < other); }
|
||||||
@ -89,6 +93,10 @@ namespace ngcore
|
|||||||
{
|
{
|
||||||
return ost << version.to_string();
|
return ost << version.to_string();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NGCORE_API const VersionInfo& GetLibraryVersion(const std::string& library);
|
||||||
|
NGCORE_API const std::map<std::string, VersionInfo>& GetLibraryVersions();
|
||||||
|
NGCORE_API void SetLibraryVersion(const std::string& library, const VersionInfo& version);
|
||||||
} // namespace ngcore
|
} // namespace ngcore
|
||||||
|
|
||||||
#endif // NETGEN_CORE_VERSION_HPP
|
#endif // NETGEN_CORE_VERSION_HPP
|
||||||
|
@ -458,9 +458,6 @@ namespace netgen
|
|||||||
for ( int sindex = 0; sindex < maxsegmentindex; sindex++ )
|
for ( int sindex = 0; sindex < maxsegmentindex; sindex++ )
|
||||||
mesh->SetBCName ( sindex, geometry.GetBCName( sindex+1 ) );
|
mesh->SetBCName ( sindex, geometry.GetBCName( sindex+1 ) );
|
||||||
|
|
||||||
for (SegmentIndex si = 0; si < mesh->GetNSeg(); si++)
|
|
||||||
(*mesh)[si].SetBCName ( (*mesh).GetBCNamePtr( (*mesh)[si].si-1 ) );
|
|
||||||
|
|
||||||
mesh->CalcLocalH(mp.grading);
|
mesh->CalcLocalH(mp.grading);
|
||||||
|
|
||||||
int bnp = mesh->GetNP(); // boundary points
|
int bnp = mesh->GetNP(); // boundary points
|
||||||
|
@ -560,7 +560,7 @@ char * Ng_GetSurfaceElementBCName (int ei)
|
|||||||
if ( mesh->GetDimension() == 3 )
|
if ( mesh->GetDimension() == 3 )
|
||||||
return const_cast<char *>(mesh->GetFaceDescriptor(mesh->SurfaceElement(ei).GetIndex()).GetBCName().c_str());
|
return const_cast<char *>(mesh->GetFaceDescriptor(mesh->SurfaceElement(ei).GetIndex()).GetBCName().c_str());
|
||||||
else
|
else
|
||||||
return const_cast<char *>(mesh->LineSegment(ei).GetBCName().c_str());
|
return const_cast<char *>(mesh->GetBCName(mesh->LineSegment(ei).si).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -313,7 +313,6 @@ namespace netgen
|
|||||||
ednr = mesh.AddEdgeDescriptor(ed);
|
ednr = mesh.AddEdgeDescriptor(ed);
|
||||||
mesh.SetCD2Name(bcpr, name);
|
mesh.SetCD2Name(bcpr, name);
|
||||||
auto nr = mesh.AddSegment(tmp_segments[get<0>(element_map[index])-1]);
|
auto nr = mesh.AddSegment(tmp_segments[get<0>(element_map[index])-1]);
|
||||||
mesh[nr].SetBCName(mesh.GetCD2NamePtr(mesh.GetNCD2Names()));
|
|
||||||
mesh[nr].edgenr = ednr+1;
|
mesh[nr].edgenr = ednr+1;
|
||||||
}
|
}
|
||||||
else if(dim == 2)
|
else if(dim == 2)
|
||||||
@ -321,7 +320,6 @@ namespace netgen
|
|||||||
Segment & seg = mesh.LineSegment(get<0>(element_map[index]));
|
Segment & seg = mesh.LineSegment(get<0>(element_map[index]));
|
||||||
seg.si = bccounter + 1;
|
seg.si = bccounter + 1;
|
||||||
mesh.SetBCName(bccounter, name);
|
mesh.SetBCName(bccounter, name);
|
||||||
seg.SetBCName(mesh.GetBCNamePtr(bccounter));
|
|
||||||
bccounter++;
|
bccounter++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -353,13 +351,11 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
auto nr = mesh.AddSegment(tmp_segments[get<0>(element_map[index])-1]);
|
auto nr = mesh.AddSegment(tmp_segments[get<0>(element_map[index])-1]);
|
||||||
mesh[nr].edgenr = ednr+1;
|
mesh[nr].edgenr = ednr+1;
|
||||||
mesh[nr].SetBCName(mesh.GetCD2NamePtr(mesh.GetNCD2Names()));
|
|
||||||
}
|
}
|
||||||
else if(dim == 2)
|
else if(dim == 2)
|
||||||
{
|
{
|
||||||
Segment & seg = mesh.LineSegment(get<0>(element_map[index]));
|
Segment & seg = mesh.LineSegment(get<0>(element_map[index]));
|
||||||
seg.si = bccounter;
|
seg.si = bccounter;
|
||||||
seg.SetBCName(mesh.GetBCNamePtr(bccounter-1));
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -388,7 +384,6 @@ namespace netgen
|
|||||||
if(seg.si == -1){
|
if(seg.si == -1){
|
||||||
seg.si = bccounter + 1;
|
seg.si = bccounter + 1;
|
||||||
if(bccounter_tmp == bccounter) mesh.SetBCName(bccounter, "default"); // could be more efficient
|
if(bccounter_tmp == bccounter) mesh.SetBCName(bccounter, "default"); // could be more efficient
|
||||||
seg.SetBCName(mesh.GetBCNamePtr(bccounter));
|
|
||||||
bccounter_tmp++;
|
bccounter_tmp++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -105,11 +105,18 @@ namespace netgen
|
|||||||
if ( mesh2.materials[i] ) materials[i] = new string ( *mesh2.materials[i] );
|
if ( mesh2.materials[i] ) materials[i] = new string ( *mesh2.materials[i] );
|
||||||
else materials[i] = 0;
|
else materials[i] = 0;
|
||||||
|
|
||||||
|
std::map<const string*, string*> bcmap;
|
||||||
bcnames.SetSize( mesh2.bcnames.Size() );
|
bcnames.SetSize( mesh2.bcnames.Size() );
|
||||||
for ( int i = 0; i < mesh2.bcnames.Size(); i++ )
|
for ( int i = 0; i < mesh2.bcnames.Size(); i++ )
|
||||||
|
{
|
||||||
if ( mesh2.bcnames[i] ) bcnames[i] = new string ( *mesh2.bcnames[i] );
|
if ( mesh2.bcnames[i] ) bcnames[i] = new string ( *mesh2.bcnames[i] );
|
||||||
else bcnames[i] = 0;
|
else bcnames[i] = 0;
|
||||||
|
bcmap[mesh2.bcnames[i]] = bcnames[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remap string* members in FaceDescriptor to new mesh
|
||||||
|
for (auto & f : facedecoding)
|
||||||
|
f.SetBCName( bcmap[&f.GetBCName()] );
|
||||||
|
|
||||||
|
|
||||||
cd2names.SetSize(mesh2.cd2names.Size());
|
cd2names.SetSize(mesh2.cd2names.Size());
|
||||||
@ -428,6 +435,7 @@ namespace netgen
|
|||||||
int inverttets = 0; // globflags.GetDefineFlag ("inverttets");
|
int inverttets = 0; // globflags.GetDefineFlag ("inverttets");
|
||||||
int invertsurf = 0; // globflags.GetDefineFlag ("invertsurfacemesh");
|
int invertsurf = 0; // globflags.GetDefineFlag ("invertsurfacemesh");
|
||||||
|
|
||||||
|
outfile << "# Generated by NETGEN " << GetLibraryVersion("netgen") << endl << endl;
|
||||||
|
|
||||||
|
|
||||||
outfile << "mesh3d" << "\n";
|
outfile << "mesh3d" << "\n";
|
||||||
@ -1112,18 +1120,7 @@ namespace netgen
|
|||||||
bcnames[bcnrs[i-1]-1] = new string(nextbcname);
|
bcnames[bcnrs[i-1]-1] = new string(nextbcname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( GetDimension() == 2 )
|
if ( GetDimension() == 3 )
|
||||||
{
|
|
||||||
for (i = 1; i <= GetNSeg(); i++)
|
|
||||||
{
|
|
||||||
Segment & seg = LineSegment (i);
|
|
||||||
if ( seg.si <= n )
|
|
||||||
seg.SetBCName (bcnames[seg.si-1]);
|
|
||||||
else
|
|
||||||
seg.SetBCName(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
for (SurfaceElementIndex sei = 0; sei < GetNSE(); sei++)
|
for (SurfaceElementIndex sei = 0; sei < GetNSE(); sei++)
|
||||||
{
|
{
|
||||||
@ -1156,17 +1153,6 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
throw NgException("co dim 2 elements not implemented for dimension 2");
|
throw NgException("co dim 2 elements not implemented for dimension 2");
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
for (i = 1; i<= GetNSeg(); i++)
|
|
||||||
{
|
|
||||||
Segment & seg = LineSegment(i);
|
|
||||||
if ( seg.edgenr <= n )
|
|
||||||
seg.SetBCName (cd2names[seg.edgenr-1]);
|
|
||||||
else
|
|
||||||
seg.SetBCName(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp (str, "singular_points") == 0)
|
if (strcmp (str, "singular_points") == 0)
|
||||||
|
@ -80,8 +80,6 @@ namespace netgen
|
|||||||
epgeominfo[1].edgenr = 1;
|
epgeominfo[1].edgenr = 1;
|
||||||
epgeominfo[1].dist = 0;
|
epgeominfo[1].dist = 0;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bcname = nullptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Segment::Segment (const Segment & other)
|
Segment::Segment (const Segment & other)
|
||||||
@ -109,7 +107,6 @@ namespace netgen
|
|||||||
geominfo[1] = other.geominfo[1];
|
geominfo[1] = other.geominfo[1];
|
||||||
epgeominfo[0] = other.epgeominfo[0];
|
epgeominfo[0] = other.epgeominfo[0];
|
||||||
epgeominfo[1] = other.epgeominfo[1];
|
epgeominfo[1] = other.epgeominfo[1];
|
||||||
bcname = other.bcname;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Segment& Segment::operator=(const Segment & other)
|
Segment& Segment::operator=(const Segment & other)
|
||||||
@ -135,7 +132,6 @@ namespace netgen
|
|||||||
pnums[2] = other.pnums[2];
|
pnums[2] = other.pnums[2];
|
||||||
meshdocval = other.meshdocval;
|
meshdocval = other.meshdocval;
|
||||||
hp_elnr = other.hp_elnr;
|
hp_elnr = other.hp_elnr;
|
||||||
bcname = other.bcname;
|
|
||||||
is_curved = other.is_curved;
|
is_curved = other.is_curved;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,11 +140,12 @@ namespace netgen
|
|||||||
|
|
||||||
void Segment :: DoArchive (Archive & ar)
|
void Segment :: DoArchive (Archive & ar)
|
||||||
{
|
{
|
||||||
|
string * bcname_dummy = nullptr;
|
||||||
ar & pnums[0] & pnums[1] & pnums[2]
|
ar & pnums[0] & pnums[1] & pnums[2]
|
||||||
& edgenr & singedge_left & singedge_right
|
& edgenr & singedge_left & singedge_right
|
||||||
& si & cd2i & domin & domout & tlosurf
|
& si & cd2i & domin & domout & tlosurf
|
||||||
& surfnr1 & surfnr2
|
& surfnr1 & surfnr2
|
||||||
& bcname
|
& bcname_dummy // keep this for backward compatiblity
|
||||||
& epgeominfo[0].edgenr & epgeominfo[1].edgenr;
|
& epgeominfo[0].edgenr & epgeominfo[1].edgenr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1031,7 +1031,6 @@ namespace netgen
|
|||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
string* bcname;
|
|
||||||
bool is_curved;
|
bool is_curved;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -1048,24 +1047,6 @@ namespace netgen
|
|||||||
|
|
||||||
int hp_elnr;
|
int hp_elnr;
|
||||||
|
|
||||||
void SetBCName ( string * abcname )
|
|
||||||
{
|
|
||||||
bcname = abcname;
|
|
||||||
}
|
|
||||||
|
|
||||||
string * BCNamePtr ()
|
|
||||||
{ return bcname; }
|
|
||||||
|
|
||||||
const string * BCNamePtr () const
|
|
||||||
{ return bcname; }
|
|
||||||
|
|
||||||
const string & GetBCName () const
|
|
||||||
{
|
|
||||||
static string defaultstring = "default";
|
|
||||||
if (! bcname ) return defaultstring;
|
|
||||||
return *bcname;
|
|
||||||
}
|
|
||||||
|
|
||||||
int GetNP() const
|
int GetNP() const
|
||||||
{
|
{
|
||||||
return pnums[2].IsValid() ? 3 : 2;
|
return pnums[2].IsValid() ? 3 : 2;
|
||||||
|
@ -9,13 +9,13 @@ install(FILES
|
|||||||
|
|
||||||
# build stub files for pybind11 packages
|
# build stub files for pybind11 packages
|
||||||
if(BUILD_STUB_FILES)
|
if(BUILD_STUB_FILES)
|
||||||
find_program(PYBIND11_STUBS NAMES pybind11-stubgen)
|
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import pybind11_stubgen; print(pybind11_stubgen.__file__)" OUTPUT_VARIABLE stubgen_path RESULT_VARIABLE pybind11_stubgen)
|
||||||
if(PYBIND11_STUBS)
|
if(pybind11_stubgen AND NOT ${pybind11_stubgen} EQUAL 0)
|
||||||
message("-- Found pybind11-stubgen: ${PYBIND11_STUBS}")
|
|
||||||
install(CODE "execute_process(COMMAND ${PYBIND11_STUBS} --no-setup-py netgen)")
|
|
||||||
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../stubs/netgen-stubs/ DESTINATION ${NG_INSTALL_DIR_PYTHON}/netgen/ COMPONENT netgen)
|
|
||||||
else(PYBIND11_STUBS)
|
|
||||||
message(WARNING "pybind11-stubgen not found, if you want to create stub files
|
message(WARNING "pybind11-stubgen not found, if you want to create stub files
|
||||||
for better autocompletion support install it with pip.")
|
for better autocompletion support install it with pip.")
|
||||||
endif(PYBIND11_STUBS)
|
else()
|
||||||
|
message("-- Found pybind11-stubgen: ${stubgen_path}")
|
||||||
|
install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pybind11_stubgen --no-setup-py netgen)")
|
||||||
|
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../stubs/netgen-stubs/ DESTINATION ${NG_INSTALL_DIR_PYTHON}/netgen/ COMPONENT netgen)
|
||||||
|
endif()
|
||||||
endif(BUILD_STUB_FILES)
|
endif(BUILD_STUB_FILES)
|
||||||
|
Loading…
Reference in New Issue
Block a user