gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
51 void getPosition(
double *xx,
double *yy,
double *zz)
const;
53 inline double x(
void)
const;
54 inline double y(
void)
const;
55 inline double z(
void)
const;
64 operator double *() {
return P; }
69 if(
P[0] < p.
P[0])
return true;
70 if(
P[0] > p.
P[0])
return false;
71 if(
P[1] < p.
P[1])
return true;
72 if(
P[1] > p.
P[1])
return false;
73 if(
P[2] < p.
P[2])
return true;
76 const double *
data()
const {
return P; }
80 if(tfo.size() < 12)
return false;
81 double old[3] = {
P[0],
P[1],
P[2]};
82 P[0] =
P[1] =
P[2] = 0.;
84 for(
int i = 0; i < 3; i++) {
85 for(
int j = 0; j < 3; j++)
P[i] += old[j] * tfo[idx++];
91 operator std::array<double, 3>()
const {
return {{
P[0],
P[1],
P[2]}}; }
178 double x =
P[0] - p.
P[0],
y =
P[1] - p.
P[1],
z =
P[2] - p.
P[2];
179 return std::sqrt(
x *
x +
y *
y +
z *
z);
void operator-=(const SPoint3 &p)
SPoint3 operator+(const SPoint3 &a, const SPoint3 &b)
void operator*=(double mult)
SPoint3 & operator=(const SPoint3 &p)
SPoint3 operator-(const SPoint3 &a, const SPoint3 &b)
void getPosition(double *xx, double *yy, double *zz) const
void setPosition(double xx, double yy, double zz)
const double * data() const
SPoint3(double x, double y, double z)
bool operator<(const SPoint3 &p) const
Quaternion mult(const Quaternion &A, const Quaternion &B)
SPoint3(const SPoint3 &pt)
void setPosition(const SPoint3 &pt, const SPoint3 &dir, const double dist_)
void operator+=(const SPoint3 &p)
double distance(const SPoint3 &p) const
void position(double *) const
SPoint3 operator*(double mult)
void operator/=(double mult)
bool transform(const std::vector< double > &tfo)