#include "BBCBillboardClusterData.h" namespace BBC { BillboardClusterData::BillboardClusterData(): references(0) // initialize references to 0 { } BillboardClusterData::~BillboardClusterData() { mGroupedBillboardUVMapMaxList.clear(); mGroupedBillboardUVMapMinList.clear(); } void BillboardClusterData::setNormal(Ogre::Vector3 value) { mNormal = value; } Ogre::Vector3 BillboardClusterData::getNormal() { return mNormal; } void BillboardClusterData::setD(float value) { mD = value; } float BillboardClusterData::getD() { return mD; } void BillboardClusterData::writeBillboardClusterData(TiXmlNode *parentNode, int iBillboardGroup) { Ogre::LogManager::getSingleton().logMessage("writeBillboardClusterData method not implemented."); } void BillboardClusterData::readBillboardClusterData(TiXmlNode *parentNode, int iBillboardGroup) { Ogre::LogManager::getSingleton().logMessage("readBillboardClusterData method not implemented."); } void BillboardClusterData::generateBillboardBoundingQuad() { Ogre::LogManager::getSingleton().logMessage("generateBillboardBoundingQuad method not implemented."); } void BillboardClusterData::setEntityCluster(EntityClusterPtr value) { mEntityCluster = value; } EntityClusterPtr BillboardClusterData::getEntityCluster() { return mEntityCluster; } Ogre::Vector3 BillboardClusterData::getQuadTopLeftCorner() { return mBillboardCorners[QUAD_TOP_LEFT]; } Ogre::Vector3 BillboardClusterData::getQuadTopRightCorner() { return mBillboardCorners[QUAD_TOP_RIGHT]; } Ogre::Vector3 BillboardClusterData::getQuadBottomLeftCorner() { return mBillboardCorners[QUAD_BOTTOM_LEFT]; } Ogre::Vector3 BillboardClusterData::getQuadBottomRightCorner() { return mBillboardCorners[QUAD_BOTTOM_RIGHT]; } void BillboardClusterData::setQuadTopLeftCorner(Ogre::Vector3 topLeft) { mBillboardCorners[QUAD_TOP_LEFT] = topLeft; } void BillboardClusterData::setQuadTopRightCorner(Ogre::Vector3 topRight) { mBillboardCorners[QUAD_TOP_RIGHT] = topRight; } void BillboardClusterData::setQuadBottomLeftCorner(Ogre::Vector3 bottomLeft) { mBillboardCorners[QUAD_BOTTOM_LEFT] = bottomLeft; } void BillboardClusterData::setQuadBottomRightCorner(Ogre::Vector3 bottomRight) { mBillboardCorners[QUAD_BOTTOM_RIGHT] = bottomRight; } Ogre::Vector3 BillboardClusterData::getAxisX() { return mAxisX; } Ogre::Vector3 BillboardClusterData::getAxisY() { return mAxisY; } Ogre::Vector3 BillboardClusterData::getAxisZ() { return mAxisZ; } void BillboardClusterData::setAxisX(Ogre::Vector3 axisX) { mAxisX = axisX; } void BillboardClusterData::setAxisY(Ogre::Vector3 axisY) { mAxisY = axisY; } void BillboardClusterData::setAxisZ(Ogre::Vector3 axisZ) { mAxisZ = axisZ; } Ogre::Vector2 BillboardClusterData::getBillboardUVMapMin(unsigned int iBillboardGroup) { return mGroupedBillboardUVMapMinList[iBillboardGroup]; } void BillboardClusterData::addBillboardUVMapMin(Ogre::Vector2 minVec) { mGroupedBillboardUVMapMinList.push_back(minVec); } void BillboardClusterData::removeBillboardUVMapMin(unsigned int iBillboardGroup) { mGroupedBillboardUVMapMinList.erase(mGroupedBillboardUVMapMinList.begin() + iBillboardGroup); } Ogre::Vector2 BillboardClusterData::getBillboardUVMapMax(unsigned int iBillboardGroup) { return mGroupedBillboardUVMapMaxList[iBillboardGroup]; } void BillboardClusterData::addBillboardUVMapMax(Ogre::Vector2 maxVec) { mGroupedBillboardUVMapMaxList.push_back(maxVec); } void BillboardClusterData::removeBillboardUVMapMax(unsigned int iBillboardGroup) { mGroupedBillboardUVMapMaxList.erase(mGroupedBillboardUVMapMaxList.begin() + iBillboardGroup); } unsigned int BillboardClusterData::getNumUVMapGroups() { if (mGroupedBillboardUVMapMaxList.size() == mGroupedBillboardUVMapMinList.size()) { return mGroupedBillboardUVMapMaxList.size(); } else { return 0; } } }