libsurf
Programmer's Documentation

topopart.h (r6227/r5402)
1 
2 /* Copyright (C) 2015 David Eller <david@larosterna.com>
3  *
4  * Commercial License Usage
5  * Licensees holding valid commercial licenses may use this file in accordance
6  * with the terms contained in their respective non-exclusive license agreement.
7  * For further information contact david@larosterna.com .
8  *
9  * GNU General Public License Usage
10  * Alternatively, this file may be used under the terms of the GNU General
11  * Public License version 3.0 as published by the Free Software Foundation and
12  * appearing in the file gpl.txt included in the packaging of this file.
13  */
14 
15 #ifndef SURF_TOPOPART_H
16 #define SURF_TOPOPART_H
17 
18 #include "forward.h"
19 #include <genua/propmacro.h>
20 
30 class TopoPart
31 {
32 public:
33 
35  TopoPart(const std::string &s) : m_name(s) {}
36 
38  virtual ~TopoPart();
39 
41  virtual void configure(const ConfigParser &cfg);
42 
44  virtual void inject(Topology &topo) = 0;
45 
47  virtual void appendTo(const Topology &topo, MxMesh &mx, bool mergeBc=false) = 0;
48 
50  virtual void importLegacy(const XmlElement &xe);
51 
53  virtual void makeLegacyCaps(Topology &topo);
54 
55 protected:
56 
58  static DcMeshCritPtr basicCriterion(const Surface &srf, Real rfactor=1.0);
59 
61  static uint appendWithBC(const TopoFace &face, int btyp, MxMesh &mx);
62 
63 protected:
64 
66  GENUA_PROP(std::string, name)
67 };
68 
69 #endif // TOPOPART_H
Topological face.
Definition: topoface.h:52
virtual void importLegacy(const XmlElement &xe)
(optionally) load geometry from legacy format (sumo 2.x)
Definition: topopart.cpp:31
Base class for mesh generation components assembled from multiple surfaces.
Definition: topopart.h:30
TopoPart(const std::string &s)
named initialization
Definition: topopart.h:35
virtual void makeLegacyCaps(Topology &topo)
(optionally) generate cap surfaces for legacy geometry
Definition: topopart.cpp:36
static DcMeshCritPtr basicCriterion(const Surface &srf, Real rfactor=1.0)
utility: create crude initial mesh criterion if nothing else available
Definition: topopart.cpp:41
virtual ~TopoPart()
base class
Definition: topopart.cpp:24
virtual void appendTo(const Topology &topo, MxMesh &mx, bool mergeBc=false)=0
append final face meshes to global (does no merge nodes)
Container for topology information.
Definition: topology.h:30
Surface interface.
Definition: surface.h:37
static uint appendWithBC(const TopoFace &face, int btyp, MxMesh &mx)
utility: add a topological face to mx, tagging with Mx::BocoType btyp
Definition: topopart.cpp:64
virtual void inject(Topology &topo)=0
insert this part into the topology object
virtual void configure(const ConfigParser &cfg)
change part-specific configuration settings
Definition: topopart.cpp:26
Generated on Wed Jan 19 2022 03:03:15 for libsurf by   doxygen 1.8.5