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"
{
12
GMSH_Plugin
*
GMSH_RegisterMakeSimplexPlugin
();
13
}
14
15
class
GMSH_MakeSimplexPlugin
:
public
GMSH_PostPlugin
{
16
public
:
17
GMSH_MakeSimplexPlugin
() {}
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
34
int
_numComponents
;
35
// how many time steps
36
int
_numTimeSteps
;
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
src
plugin
MakeSimplex.h
Generated by
1.8.18