本文整理汇总了C++中PV3D::setZ方法的典型用法代码示例。如果您正苦于以下问题:C++ PV3D::setZ方法的具体用法?C++ PV3D::setZ怎么用?C++ PV3D::setZ使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PV3D
的用法示例。
在下文中一共展示了PV3D::setZ方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Cubo
Tablero::Tablero(int largo, int alto, int ancho)
{
_largo = largo;
_alto = alto;
_ancho = ancho;
_numCubos = _largo * _alto * _ancho;
for (int i = 0; i < _numCubos; i++) {
this->addObjeto(new Cubo());
hijos[i]->color->setColor(0.2, 0.2, 0.2);
}
//comienza pintando al principio de la carretara
PV3D* p = new PV3D(_largo / 2, 0, 1, 1);
int numCubo = 0;
for (int x = 0; x < _largo; x++) {
for (int y = 0; y < _alto; y++) {
for (int z = 0; z < _ancho; z++) {
hijos[numCubo]->mt->traslada(p);
p->setZ(p->getZ()+1);
numCubo++;
}
p->setZ(p->getZ()-_ancho);
if(_alto > 1)
p->setY(p->getY()+1);
}
if(_alto > 1)
p->setY(p->getY()-_alto);
p->setX(p->getX()-1);
}
}
示例2: calculoVectorNormalPorNewell
PV3D* Malla::calculoVectorNormalPorNewell(Cara C){
PV3D* n = new PV3D(0, 0, 0, 0);
for (int i = 0; i < C.getNumeroVertices(); i++){
PV3D* vertActual = vertice[C.getIndiceVertice(i)];
PV3D* vertSiguiente = vertice[C.getIndiceVertice((i + 1) % C.getNumeroVertices())];
n->setX(n->getX() + ((vertActual->getY() - vertSiguiente->getY())*(vertActual->getZ() + vertSiguiente->getZ())));
n->setY(n->getY() + ((vertActual->getZ() - vertSiguiente->getZ())*(vertActual->getX() + vertSiguiente->getX()))); // Z * X
n->setZ(n->getZ() + ((vertActual->getX() - vertSiguiente->getX())*(vertActual->getY() + vertSiguiente->getY()))); // X * Y
}
return n->normaliza();
}
示例3: vectorNormalNewell
PV3D* Malla::vectorNormalNewell(Cara* c){
PV3D* n = new PV3D();
for(int i=0; i<c->getNumVertices(); i++){
PV3D* vertActual = vertice[c->getIndiceVerticeK(i)];
PV3D* vertSig = vertice[c->getIndiceVerticeK((i+1) % c->getNumVertices())];
n->setX(n->getX() + ((vertActual->getY() - vertSig->getY()) * (vertActual->getZ() + vertSig->getZ())));
n->setY(n->getY() + ((vertActual->getZ() - vertSig->getZ()) * (vertActual->getX() + vertSig->getX())));
n->setZ(n->getZ() + ((vertActual->getX() - vertSig->getX()) * (vertActual->getY() + vertSig->getY())));
}
return n->normaliza();
}
示例4: module
PV3D* PV3D::normaliza(){
// Same direction but module = 1
PV3D* newV = new PV3D();
GLdouble moduleVector = module(this);
newV->setX((1 / moduleVector) * this->getX());
newV->setY((1 / moduleVector) * this->getY());
newV->setZ((1 / moduleVector) * this->getZ());
newV->setPV(0); //vector
return newV;
}