gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
6 #include "GmshConfig.h"
15 Msg::Error(
"Parametric coordinate computation not implemented for this type "
22 Msg::Error(
"Normal computation not implemented for this type of surface");
28 Msg::Error(
"First derivative not implemented for this type of surface");
34 Msg::Error(
"Metric eigenvalue not implemented for this type of surface");
44 Msg::Error(
"Surface %d already exists", iSphere);
55 Msg::Error(
"Surface %d does not exist", iSurface);
64 const double x =
xc +
r * sin(par2) * cos(par1);
65 const double y =
yc +
r * sin(par2) * sin(par1);
66 const double z =
zc -
r * cos(par2);
76 Msg::Error(
"Surface %d already exists", iSphere);
93 double rp2 = u * u + v * v;
94 SPoint3 p(-2 *
r * u / (1 + rp2), -2 *
r * v / (1 + rp2),
95 r * (1 - rp2) / (1 + rp2));
108 Msg::Error(
"Surface %d already exists", iSurf);
118 std::vector<std::string> expressions(3), variables(2);
119 expressions[0] = valX;
120 expressions[1] = valY;
121 expressions[2] = valZ;
125 if(expressions.empty()) {
139 std::vector<double> values(2), res(3);
142 if(
_f->
eval(values, res))
return SPoint3(res[0], res[1], res[2]);
149 Msg::Error(
"Parameter bounds not available for parametric surface");
static void Error(const char *fmt,...)
gmshPolarSphere(double x, double y, double z, double _r)
static gmshSurface * getSurface(int tag)
static gmshSurface * NewParametricSurface(int iSurf, const char *, const char *, const char *)
bool eval(const std::vector< double > &values, std::vector< double > &res)
virtual double getMetricEigenvalue(const SPoint2 &)
gmshSphere(double _x, double _y, double _z, double _r)
virtual SPoint2 parFromPoint(double x, double y, double z)
gmshParametricSurface(const char *, const char *, const char *)
virtual Pair< SVector3, SVector3 > firstDer(const SPoint2 ¶m)
virtual Range< double > parBounds(int i) const
virtual SPoint3 point(double par1, double par2) const
static std::map< int, gmshSurface * > allGmshSurfaces
static gmshSurface * NewSphere(int _iSphere, double _x, double _y, double _z, double _r)
virtual SPoint3 point(double par1, double par2) const
virtual SPoint3 point(double par1, double par2) const
virtual SVector3 normal(const SPoint2 ¶m) const
static gmshSurface * NewPolarSphere(int _iSphere, double _x, double _y, double _z, double _r)