gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
14 #if defined(HAVE_VISUDEV)
30 unsigned char *
g,
unsigned char *
b,
unsigned char *
a,
33 for(
int i = 0; i < N; i++) {
38 _nx[i] = (float)n[i].
x();
39 _ny[i] = (float)n[i].
y();
40 _nz[i] = (float)n[i].
z();
44 if(
r &&
g &&
b &&
a) {
55 inline float x(
int i)
const {
return _x[i]; }
56 inline float y(
int i)
const {
return _y[i]; }
57 inline float z(
int i)
const {
return _z[i]; }
58 inline float nx(
int i)
const {
return _nx[i]; }
59 inline float ny(
int i)
const {
return _ny[i]; }
60 inline float nz(
int i)
const {
return _nz[i]; }
61 inline unsigned char r(
int i)
const {
return _r[i]; }
62 inline unsigned char g(
int i)
const {
return _g[i]; }
63 inline unsigned char b(
int i)
const {
return _b[i]; }
64 inline unsigned char a(
int i)
const {
return _a[i]; }
69 for(
int i = 0; i < N; i++) {
103 :
_x((float)
x),
_y((float)
y),
_z((float)
z)
106 inline float x()
const {
return _x; }
107 inline float y()
const {
return _y; }
108 inline float z()
const {
return _z; }
135 return (std::size_t)(b.
x() + b.
y() + b.
z());
165 void _addNormal(
float nx,
float ny,
float nz);
166 void _addColor(
unsigned char r,
unsigned char g,
unsigned char b,
171 VertexArray(
int numVerticesPerElement,
int numElements);
210 void add(
double *x,
double *y,
double *
z,
SVector3 *n,
unsigned int *col,
211 MElement *ele =
nullptr,
bool unique =
true,
bool boundary =
false);
212 void add(
double *x,
double *y,
double *
z,
SVector3 *n,
unsigned char *r =
nullptr,
213 unsigned char *g =
nullptr,
unsigned char *b =
nullptr,
unsigned char *a =
nullptr,
214 MElement *ele =
nullptr,
bool unique =
true,
bool boundary =
false);
218 void sort(
double x,
double y,
double z);
223 char *
toChar(
int num,
const std::string &name,
int type,
double min,
224 double max,
int numsteps,
double time,
228 std::string &name,
int &tag,
int &type,
double &min,
229 double &max,
int &numSteps,
double &time,
230 double &xmin,
double &ymin,
double &zmin,
231 double &xmax,
double &ymax,
double &zmax);
bool operator()(const Barycenter &p1, const Barycenter &p2) const
std::vector< normal_type >::iterator firstNormal()
bool operator()(const ElementData< N > &e1, const ElementData< N > &e2) const
unsigned char r(int i) const
void _addColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
void merge(VertexArray *va)
void fromChar(int length, const char *bytes, int swap)
ElementData(double *x, double *y, double *z, SVector3 *n, unsigned char *r, unsigned char *g, unsigned char *b, unsigned char *a, MElement *ele)
char * toChar(int num, const std::string &name, int type, double min, double max, int numsteps, double time, const SBoundingBox3d &bbox, int &len)
int getNumVerticesPerElement()
MElement ** getElementPointerArray(int i=0)
unsigned char b(int i) const
std::vector< unsigned char >::iterator lastColor()
void sort(double x, double y, double z)
std::vector< normal_type >::iterator lastNormal()
std::vector< float >::iterator lastVertex()
std::vector< unsigned char > _colors
void _addVertex(float x, float y, float z)
std::vector< float >::iterator firstVertex()
static int decodeHeader(int length, const char *bytes, int swap, std::string &name, int &tag, int &type, double &min, double &max, int &numSteps, double &time, double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax)
std::vector< normal_type > _normals
std::vector< MElement * > _elements
std::vector< MElement * >::iterator lastElementPointer()
void operator+=(const Barycenter &p)
std::vector< unsigned char >::iterator firstColor()
unsigned char * getColorArray(int i=0)
void swap(double &a, double &b)
normal_type * getNormalArray(int i=0)
SPoint3 barycenter() const
bool operator()(const Barycenter &a, const Barycenter &b) const
int _numVerticesPerElement
std::vector< MElement * >::iterator firstElementPointer()
void _addNormal(float nx, float ny, float nz)
std::size_t operator()(const Barycenter &b) const
double length(Quaternion &q)
float * getVertexArray(int i=0)
std::set< ElementData< 3 >, ElementDataLessThan< 3 > > _data3
int getNumElementPointers()
std::set< Barycenter, BarycenterLessThan > _barycenters
unsigned char g(int i) const
std::vector< float > _vertices
void add(double *x, double *y, double *z, SVector3 *n, unsigned int *col, MElement *ele=nullptr, bool unique=true, bool boundary=false)
VertexArray(int numVerticesPerElement, int numElements)
Barycenter(double x, double y, double z)
unsigned char a(int i) const
void _addElement(MElement *ele)