CollisionModel.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include "CollisionModel.h"
00028
00029 namespace sofa
00030 {
00031
00032 namespace core
00033 {
00034
00035 std::vector<int> BaseCollisionElementIterator::emptyVector;
00036
00037
00039 const float* CollisionModel::getColor4f()
00040 {
00041
00042 static float defaultColorSimulatedMovingActive[4] = {1, 0.5f, 0, 1};
00043
00044 static float defaultColorSimulatedMoving[4] = {0.5f, 0.25f, 0, 1};
00045
00046 static float defaultColorSimulatedActive[4] = {1, 0, 0, 1};
00047
00048 static float defaultColorSimulated[4] = {0.5f, 0, 0, 1};
00049
00050 static float defaultColorMovingActive[4] = {0, 1, 0.5f, 1};
00051
00052 static float defaultColorMoving[4] = {0, 0.5f, 0.25f, 1};
00053
00054 static float defaultColorActive[4] = {0.5f, 0.5f, 0.5f, 1};
00055
00056 static float defaultColor[4] = {0.25f, 0.25f, 0.25f, 1};
00057
00058 if (color.isSet())
00059 return color.getValue().ptr();
00060 else if (isSimulated())
00061 if (isMoving())
00062 if (isActive()) {setColor4f(defaultColorSimulatedMovingActive);return defaultColorSimulatedMovingActive;}
00063 else {setColor4f(defaultColorSimulatedMoving);return defaultColorSimulatedMoving;}
00064 else
00065 if (isActive()) {setColor4f(defaultColorSimulatedActive);return defaultColorSimulatedActive;}
00066 else {setColor4f(defaultColorSimulated);return defaultColorSimulated;}
00067 else
00068 if (isMoving())
00069 if (isActive()) {setColor4f(defaultColorMovingActive);return defaultColorMovingActive;}
00070 else {setColor4f(defaultColorMoving);return defaultColorMoving;}
00071 else
00072 if (isActive()) {setColor4f(defaultColorActive);return defaultColorActive;}
00073 else {setColor4f(defaultColor);return defaultColor;}
00074 }
00075
00076 }
00077
00078 }
00079