bool ccBox::buildUp() { //upper plane ccGLMatrix upperMat; upperMat.getTranslation()[2] = static_cast<float>(m_dims.z)/2.0f; *this += ccPlane(m_dims.x,m_dims.y,&upperMat); //lower plane ccGLMatrix lowerMat; lowerMat.initFromParameters(-(PointCoordinateType)M_PI,CCVector3(1,0,0),CCVector3(0,0,-m_dims.z/2.0f)); *this += ccPlane(m_dims.x,m_dims.y,&lowerMat); //left plane ccGLMatrix leftMat; leftMat.initFromParameters(-(PointCoordinateType)(M_PI/2.0),CCVector3(0,1,0),CCVector3(-m_dims.x/2.0f,0,0)); *this += ccPlane(m_dims.z,m_dims.y,&leftMat); //right plane ccGLMatrix rightMat; rightMat.initFromParameters((PointCoordinateType)(M_PI/2.0),CCVector3(0,1,0),CCVector3(m_dims.x/2.0f,0,0)); *this += ccPlane(m_dims.z,m_dims.y,&rightMat); //front plane ccGLMatrix frontMat; frontMat.initFromParameters((PointCoordinateType)(M_PI/2.0),CCVector3(1,0,0),CCVector3(0,-m_dims.y/2.0f,0)); *this += ccPlane(m_dims.x,m_dims.z,&frontMat); //back plane ccGLMatrix backMat; backMat.initFromParameters(-(PointCoordinateType)(M_PI/2.0),CCVector3(1,0,0),CCVector3(0,m_dims.y/2.0f,0)); *this += ccPlane(m_dims.x,m_dims.z,&backMat); return (vertices() && vertices()->size() == 24 && vertices()->hasNormals() && this->size() == 12); }
bool ccBox::buildUp() { //Added by yuqiang on 2015/11/04 clear mesh before rebuild if (!init(24, false, 12, 6)) { ccLog::Error("[ccBox::buildUp] Init error"); return false; } //upper plane ccGLMatrix upperMat; upperMat.getTranslation()[2] = static_cast<float>(m_dims.z)/2; *this += ccPlane(m_dims.x,m_dims.y,&upperMat); //lower plane ccGLMatrix lowerMat; lowerMat.initFromParameters(-static_cast<PointCoordinateType>(M_PI),CCVector3(1,0,0),CCVector3(0,0,-m_dims.z/2)); *this += ccPlane(m_dims.x,m_dims.y,&lowerMat); //left plane ccGLMatrix leftMat; leftMat.initFromParameters(-static_cast<PointCoordinateType>(M_PI/2.0),CCVector3(0,1,0),CCVector3(-m_dims.x/2,0,0)); *this += ccPlane(m_dims.z,m_dims.y,&leftMat); //right plane ccGLMatrix rightMat; rightMat.initFromParameters(static_cast<PointCoordinateType>(M_PI/2.0),CCVector3(0,1,0),CCVector3(m_dims.x/2,0,0)); *this += ccPlane(m_dims.z,m_dims.y,&rightMat); //front plane ccGLMatrix frontMat; frontMat.initFromParameters(static_cast<PointCoordinateType>(M_PI/2.0),CCVector3(1,0,0),CCVector3(0,-m_dims.y/2,0)); *this += ccPlane(m_dims.x,m_dims.z,&frontMat); //back plane ccGLMatrix backMat; backMat.initFromParameters(-static_cast<PointCoordinateType>(M_PI/2.0),CCVector3(1,0,0),CCVector3(0,m_dims.y/2,0)); *this += ccPlane(m_dims.x,m_dims.z,&backMat); return (vertices() && vertices()->size() == 24 && vertices()->hasNormals() && this->size() == 12); }