diff options
author | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-06-04 07:00:13 +0400 |
---|---|---|
committer | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-06-04 07:00:13 +0400 |
commit | 44f45894c2fca8f7e0b7bbfff0e50f24e6c993a5 (patch) | |
tree | 740e361ce3f2fb47885348bed9b0ff5cd537a9ad /source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp | |
parent | 4ff321d50773166712a611233437c7b19183087c (diff) |
Miscellaneous Fixes:
Add Python Mapping method to CListValue
Fix Bernoulli bool distribution python method for random actuator
Fix Python IpoActuator methods setProperty and force acts local
Make data objects private
Better sort method for polygon materials - much easier to understand
Diffstat (limited to 'source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp')
-rw-r--r-- | source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp | 49 |
1 files changed, 7 insertions, 42 deletions
diff --git a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp index b5b47598b1b..babecdd585a 100644 --- a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp +++ b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp @@ -57,7 +57,8 @@ RAS_IPolyMaterial::RAS_IPolyMaterial(const STR_String& texname, m_transparant(transparant), m_zsort(zsort), m_lightlayer(lightlayer), - m_bIsTriangle(bIsTriangle) + m_bIsTriangle(bIsTriangle), + m_polymatid(m_newpolymatid++) { m_shininess = 35.0; m_specular = MT_Vector3(0.5,0.5,0.5); @@ -84,48 +85,10 @@ bool RAS_IPolyMaterial::Equals(const RAS_IPolyMaterial& lhs) const bool RAS_IPolyMaterial::Less(const RAS_IPolyMaterial& rhs) const { - /** - * @warning STL requires lhs.Less(rhs) == rhs.Less(lhs) implies lhs.Equals(rhs). - * This function *must* return different values for lhs.Less(rhs) and rhs.Less(lhs) if - * !lhs.Equals(rhs) !! - */ - if (m_materialname.hash() < rhs.m_materialname.hash()) - return true; - - if (m_materialname.hash() > rhs.m_materialname.hash() || - m_texturename.hash() > rhs.m_texturename.hash()) + if (Equals(rhs)) return false; - - if (m_texturename.hash() < rhs.m_texturename.hash() || - m_lightlayer < rhs.m_lightlayer) - return true; - - if (m_lightlayer > rhs.m_lightlayer || - m_bIsTriangle > rhs.m_bIsTriangle) - return false; - - if (m_bIsTriangle < rhs.m_bIsTriangle || - m_drawingmode < rhs.m_drawingmode) - return true; - - if (m_drawingmode > rhs.m_drawingmode || - m_transparant > !rhs.m_transparant) - return false; - - if (m_transparant < rhs.m_transparant || - m_tileyrep < rhs.m_tileyrep) - return true; - - if (m_tileyrep > rhs.m_tileyrep || - m_tilexrep > rhs.m_tilexrep) - return false; - - if (m_tilexrep < rhs.m_tilexrep || - m_tile < rhs.m_tile) - return true; - - return !(m_tile > rhs.m_tile || - m_zsort > rhs.m_zsort); + + return m_polymatid < rhs.m_polymatid; } int RAS_IPolyMaterial::GetLightLayer() const @@ -167,3 +130,5 @@ const STR_String& RAS_IPolyMaterial::GetTextureName() const { return m_texturename; } + +unsigned int RAS_IPolyMaterial::m_newpolymatid = 0; |