// Wild Magic Source Code
// David Eberly
// http://www.geometrictools.com
// Copyright (c) 1998-2007
//
// This library is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation; either version 2.1 of the License, or (at
// your option) any later version.  The license is available for reading at
// either of the locations:
//     http://www.gnu.org/copyleft/lgpl.html
//     http://www.geometrictools.com/License/WildMagicLicense.pdf
//
// Version: 4.0.0 (2006/06/28)

#include "WMaterials.h"
#include "max.h"

//----------------------------------------------------------------------------
WMaterials::WMaterials ()
{
}
//----------------------------------------------------------------------------
bool WMaterials::Add (Mtl* pkMtl)
{
    if (pkMtl == 0) 
    {
        return false;
    }

    for (int i = 0; i < (int)m_kMaterial.size(); i++)
    {
        if (m_kMaterial[i] == pkMtl)
        {
            return false;
        }
    }
    
    m_kMaterial.push_back(pkMtl);
    return true;
}
//----------------------------------------------------------------------------
void WMaterials::SetQuantity (int iQuantity)
{
    m_kMaterial.resize(iQuantity);
}
//----------------------------------------------------------------------------
int WMaterials::GetQuantity () const
{
    return (int)m_kMaterial.size();
}
//----------------------------------------------------------------------------
Mtl* WMaterials::Get (int iMtlID) const
{
    if (0 <= iMtlID && iMtlID < (int)m_kMaterial.size())
    {
        return m_kMaterial[iMtlID];
    }

    return 0;
}
//----------------------------------------------------------------------------
int WMaterials::GetID (Mtl* pkMtl) const
{
    for (int i = 0; i < (int)m_kMaterial.size(); i++)
    {
        if (m_kMaterial[i] == pkMtl)
        {
            return i;
        }
    }

    return -1;
}
//----------------------------------------------------------------------------
