Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-06-04 07:00:13 +0400
committerKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-06-04 07:00:13 +0400
commit44f45894c2fca8f7e0b7bbfff0e50f24e6c993a5 (patch)
tree740e361ce3f2fb47885348bed9b0ff5cd537a9ad /source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp
parent4ff321d50773166712a611233437c7b19183087c (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.cpp49
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;