gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
MakeSimplex.h
Go to the documentation of this file.
1 // Gmsh - Copyright (C) 1997-2022 C. Geuzaine, J.-F. Remacle
2 //
3 // See the LICENSE.txt file in the Gmsh root directory for license information.
4 // Please report all issues on https://gitlab.onelab.info/gmsh/gmsh/issues.
5 
6 #ifndef MAKE_SIMPLEX_H
7 #define MAKE_SIMPLEX_H
8 
9 #include "Plugin.h"
10 
11 extern "C" {
13 }
14 
16 public:
18  std::string getName() const { return "MakeSimplex"; }
19  std::string getShortHelp() const
20  {
21  return "Transform quad/hex/prisms into tri/tets";
22  }
23  std::string getHelp() const;
24  int getNbOptions() const;
25  StringXNumber *getOption(int iopt);
26  PView *execute(PView *);
27 };
28 
29 class MakeSimplex {
30 private:
31  // how many nodes in the element to decompose
32  int _numNodes;
33  // how many field components
35  // how many time steps
37  // create a simplex
38  void reorder(int map[4], int n, double *x, double *y, double *z, double *val,
39  double *xn, double *yn, double *zn, double *valn);
40 
41 public:
42  // default constructor
43  MakeSimplex(int numNodes, int numComponents, int numTimeSteps = 1);
44  // the number of simplices into which the element is decomposed
45  int numSimplices();
46  // the number of nodes of the simplex
47  int numSimplexNodes();
48  // returns the i-th simplex in the decomposition
49  void decompose(int num, double *x, double *y, double *z, double *val,
50  double *xn, double *yn, double *zn, double *valn);
51 };
52 
53 #endif
PView
Definition: PView.h:27
Plugin.h
GMSH_Plugin
Definition: Plugin.h:26
MakeSimplex::numSimplexNodes
int numSimplexNodes()
Definition: MakeSimplex.cpp:127
MakeSimplex::_numNodes
int _numNodes
Definition: MakeSimplex.h:32
StringXNumber
Definition: Options.h:918
MakeSimplex::decompose
void decompose(int num, double *x, double *y, double *z, double *val, double *xn, double *yn, double *zn, double *valn)
Definition: MakeSimplex.cpp:154
GMSH_MakeSimplexPlugin::getHelp
std::string getHelp() const
Definition: MakeSimplex.cpp:18
MakeSimplex
Definition: MakeSimplex.h:29
GMSH_MakeSimplexPlugin::getName
std::string getName() const
Definition: MakeSimplex.h:18
MakeSimplex::reorder
void reorder(int map[4], int n, double *x, double *y, double *z, double *val, double *xn, double *yn, double *zn, double *valn)
Definition: MakeSimplex.cpp:135
GMSH_MakeSimplexPlugin
Definition: MakeSimplex.h:15
GMSH_MakeSimplexPlugin::getNbOptions
int getNbOptions() const
Definition: MakeSimplex.cpp:27
GMSH_MakeSimplexPlugin::execute
PView * execute(PView *)
Definition: MakeSimplex.cpp:71
MakeSimplex::numSimplices
int numSimplices()
Definition: MakeSimplex.cpp:116
GMSH_MakeSimplexPlugin::getShortHelp
std::string getShortHelp() const
Definition: MakeSimplex.h:19
MakeSimplex::MakeSimplex
MakeSimplex(int numNodes, int numComponents, int numTimeSteps=1)
Definition: MakeSimplex.cpp:109
MakeSimplex::_numComponents
int _numComponents
Definition: MakeSimplex.h:34
GMSH_MakeSimplexPlugin::getOption
StringXNumber * getOption(int iopt)
Definition: MakeSimplex.cpp:32
z
const double z
Definition: GaussQuadratureQuad.cpp:56
GMSH_PostPlugin
Definition: Plugin.h:83
MakeSimplex::_numTimeSteps
int _numTimeSteps
Definition: MakeSimplex.h:36
GMSH_RegisterMakeSimplexPlugin
GMSH_Plugin * GMSH_RegisterMakeSimplexPlugin()
Definition: MakeSimplex.cpp:12
GMSH_MakeSimplexPlugin::GMSH_MakeSimplexPlugin
GMSH_MakeSimplexPlugin()
Definition: MakeSimplex.h:17