/** * * Adds the flag plate to the viewports. * * @author Rebeccah Cox * @param float32 _fDeltaTick * @return void */ void CFlagPlate::Process(float32 _fDeltaTick) { CTotalCubeDomination::GetInstance().GetRenderer()->AddToAllViewports(this, RENDERTYPE_3DCOORDS | RENDERTYPE_OPAQUE); // Create bounding box. CreateAABB(); }
AABoundingBox::AABoundingBox(const std::vector<TangentSpaceVertex>& verts) : BoundingVolume(CL_AABB), m_max(std::numeric_limits<Real>::lowest(), std::numeric_limits<Real>::lowest(), std::numeric_limits<Real>::lowest()), m_min(std::numeric_limits<Real>::infinity(), std::numeric_limits<Real>::infinity(), std::numeric_limits<Real>::infinity()) { CreateAABB(verts); m_baseMin = m_min; m_baseMax = m_max; }
void Geometry::SetWorld(const D3DXMATRIX& world) { mWorld = world; mAABB = CreateAABB(); mDrawableAABB.SetBox(mAABB); }
bool CTower::Initialise(EFacePosition _eSide, int32 _iX, int32 _iY, ETeam _eTeam, uint32 _uiTextureID, uint32 _uiDisabledTextureID, uint32 _uiModelID, uint32 _uiTurretModelID) { // Set the position and side member variables in CTile. m_iX = _iX; m_iY = _iY; m_eFace = _eSide; m_iX = _iX; m_iY = _iY; m_eTeam = _eTeam; m_vec3Position = g_atUpRightDirectionVecs[_eSide].vec3Up * 22.5f; m_vec3Position += g_atUpRightDirectionVecs[_eSide].vec3Right * ((_iX * 3.0f) - 21.0f); m_vec3Position -= g_atUpRightDirectionVecs[_eSide].vec3Direction * ((_iY * 3.0f) - 21.0f); m_bTraversable = false; // Set the world matrix using the vectors. m_matWorld._11 = g_atUpRightDirectionVecs[_eSide].vec3Right.x; m_matWorld._21 = g_atUpRightDirectionVecs[_eSide].vec3Up.x; m_matWorld._31 = g_atUpRightDirectionVecs[_eSide].vec3Direction.x; m_matWorld._12 = g_atUpRightDirectionVecs[_eSide].vec3Right.y; m_matWorld._22 = g_atUpRightDirectionVecs[_eSide].vec3Up.y; m_matWorld._32 = g_atUpRightDirectionVecs[_eSide].vec3Direction.y; m_matWorld._13 = g_atUpRightDirectionVecs[_eSide].vec3Right.z; m_matWorld._23 = g_atUpRightDirectionVecs[_eSide].vec3Up.z; m_matWorld._33 = g_atUpRightDirectionVecs[_eSide].vec3Direction.z; m_matWorld._41 = m_vec3Position.x; m_matWorld._42 = m_vec3Position.y; m_matWorld._43 = m_vec3Position.z; m_vec3ShootRight = g_atUpRightDirectionVecs[_eSide].vec3Right; m_vec3ShootDir = g_atUpRightDirectionVecs[_eSide].vec3Direction; m_vec3Up = g_atUpRightDirectionVecs[_eSide].vec3Up; // Set the turrets world matrix RotateTurret(3.14f, 6.283185f/ m_fTurnSpeed); /*m_matTurretWorld._11 = m_vec3ShootRight.x; m_matTurretWorld._21 = m_vec3Up.x; m_matTurretWorld._31 = m_vec3ShootDir.x; m_matTurretWorld._41 = m_vec3Position.x; m_matTurretWorld._12 = m_vec3ShootRight.y; m_matTurretWorld._22 = m_vec3Up.y; m_matTurretWorld._32 = m_vec3ShootDir.y; m_matTurretWorld._42 = m_vec3Position.y; m_matTurretWorld._13 = m_vec3ShootRight.z; m_matTurretWorld._23 = m_vec3Up.z; m_matTurretWorld._33 = m_vec3ShootDir.z; m_matTurretWorld._43 = m_vec3Position.z; */ m_iModelID = _uiModelID; m_iTextureID = _uiTextureID; m_uiDisabledTextureID = _uiDisabledTextureID; m_uiTurretModelID = _uiTurretModelID; D3DXVECTOR3* pFirstVertex = 0; LPD3DXMESH pMesh = CModelManager::GetInstance().GetModel(m_iModelID)->GetModel(); pMesh->LockVertexBuffer(0, (void**)&pFirstVertex); D3DXComputeBoundingBox(pFirstVertex, pMesh->GetNumVertices(), pMesh->GetNumBytesPerVertex(), &m_tOBB.m_vec3Min, &m_tOBB.m_vec3Max); pMesh->UnlockVertexBuffer(); SetCurrentShield(m_fMaxShieldStrength); CEntity::Initialise(); m_eCurrentState = TOWERAI_STATE_IDLE; m_eNextState = TOWERAI_STATE_IDLE; m_pCurrentState = new CTowerIdle(); m_pCurrentState->Initialise(this); // Create bounding box. CreateAABB(); return (true); }