コード例 #1
0
ファイル: curva.cpp プロジェクト: rengenesio/Bezier
void Curva::calculaViewPort(Ponto min, Ponto max, int w, int h) {
    vp_parametricas.clear();
    vp_pontos.clear();
    vp_tangentes.clear();

    foreach (Ponto p, getParametricas()) {
        Ponto vpponto;
        vpponto.setX((w - 2*W_PONTO) * (p.getX() - min.getX()) / (max.getX() - min.getX()) + W_PONTO);
        vpponto.setY((h - 2*W_PONTO) * (p.getY() - min.getY()) / (max.getY() - min.getY()) + W_PONTO);
        vp_parametricas.append(vpponto);
    }
コード例 #2
0
void Filho::preparar() {
	int tpontos = pontos.size(), lados = tpontos / 3, j;
	buffer = buffer = (GLuint*)malloc(sizeof(GLuint)*tpontos * 3);

	nvertices = tpontos * 3;
	glEnableClientState(GL_VERTEX_ARRAY);

	float *vertexB = (float *)malloc(sizeof(float)* nvertices);

	j = 0;
	for (int i = 0; i<tpontos; i++) {
		Ponto xyz = pontos.at(i);

		vertexB[j + 0] = xyz.getX();
		vertexB[j + 1] = xyz.getY();
		vertexB[j + 2] = xyz.getZ();

		j += 3;
	}
	nvertices = j;

	glGenBuffers(1, buffer);
	glBindBuffer(GL_ARRAY_BUFFER, buffer[0]);
	glBufferData(GL_ARRAY_BUFFER, nvertices*sizeof(float), vertexB, GL_STATIC_DRAW);

	free(vertexB);
}
コード例 #3
0
int MemoriaInterna::pontoToKey(const Ponto& p) {
	int x = p.getX();
	int y = p.getY();
	int ret = ((unsigned char)p.getX() << 8) | (unsigned char)(p.getY());
	return ret; 
}
コード例 #4
0
int MemoriaInterna::pontoToKey(const Ponto& p) {
	int x = p.getX();
	int y = p.getY();
	int ret = (x - MAP_MIN) * MAP_DIM + (y - MAP_MIN);
	return ret;
}
コード例 #5
0
ファイル: curva.cpp プロジェクト: rengenesio/Bezier
 foreach (Ponto p, getPontos()) {
     Ponto vpponto;
     vpponto.setX((w - 2*W_PONTO) * (p.getX() - min.getX()) / (max.getX() - min.getX()) + W_PONTO);
     vpponto.setY((h - 2*W_PONTO) * (p.getY() - min.getY()) / (max.getY() - min.getY()) + W_PONTO);
     vp_pontos.append(vpponto);
 }