1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
/******************************************************************************
* SOFA, Simulation Open-Framework Architecture, version 1.0 beta 4 *
* (c) 2006-2009 MGH, INRIA, USTL, UJF, CNRS *
* *
* 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. *
* *
* This library is distributed in the hope that it will be useful, but WITHOUT *
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License *
* for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with this library; if not, write to the Free Software Foundation, *
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
*******************************************************************************
* SOFA :: Modules *
* *
* Authors: The SOFA Team and external contributors (see Authors.txt) *
* *
* Contact information: contact@sofa-framework.org *
******************************************************************************/
#ifndef SOFA_SIMULATION_COLORS_H
#define SOFA_SIMULATION_COLORS_H
#include <stdlib.h>
#include <string.h>
namespace sofa
{
namespace simulation
{
namespace Colors
{
enum {
NODE = 0,
OBJECT = 1,
CONTEXT = 2,
BMODEL = 3,
CMODEL = 4,
MMODEL = 5,
CONSTRAINT = 6,
IFFIELD = 7,
FFIELD = 8,
SOLVER = 9,
COLLISION = 10,
MMAPPING = 11,
MAPPING = 12,
MASS = 13,
TOPOLOGY = 14,
VMODEL = 15,
};
// See http://www.graphviz.org/doc/info/colors.html
// The following is mostly the "set312" colors
static const char* COLOR[16]={
/*Node =*/ "#dedede", // color 9
/*Object =*/ "#ffffff", // white
/*Context =*/ "#d7191c", // color spectral4/1
/*BehaviorModel =*/ "#93ff49", // color 7 (brighter)
/*CollisionModel =*/ "#fccde5", // color 8
/*MechanicalState =*/ "#8dd3c7", // color 1
/*Constraint =*/ "#fdb462", // color 6
/*InteractionForceField =*/ "#fb8072", // color 4
/*ForceField =*/ "#bebada", // color 3
/*Solver =*/ "#b3de69", // color 7
/*CollisionPipeline =*/ "#bc80bd", // color 10
/*MechanicalMapping =*/ "#2b83da", // color spectral4/4
/*Mapping =*/ "#80b1d3", // color 5
/*Mass =*/ "#ffffb3", // color 2
/*Topology =*/ "#ffed6f", // color 12
/*VisualModel =*/ "#eefdea", // color 11 (brighter)
};
inline const char* getColor(const char* classname)
{
if (!strcmp(classname,"BaseNode")) return COLOR[NODE];
if (!strcmp(classname,"BaseObject")) return COLOR[OBJECT];
if (!strcmp(classname,"ContextObject")) return COLOR[CONTEXT];
if (!strcmp(classname,"BehaviorModel")) return COLOR[BMODEL];
if (!strcmp(classname,"CollisionModel")) return COLOR[CMODEL];
if (!strcmp(classname,"MechanicalState")) return COLOR[MMODEL];
if (!strcmp(classname,"Constraint")) return COLOR[CONSTRAINT];
if (!strcmp(classname,"InteractionForceField")) return COLOR[IFFIELD];
if (!strcmp(classname,"ForceField")) return COLOR[FFIELD];
if (!strcmp(classname,"MasterSolver")) return COLOR[SOLVER];
if (!strcmp(classname,"OdeSolver")) return COLOR[SOLVER];
if (!strcmp(classname,"CollisionPipeline")) return COLOR[COLLISION];
if (!strcmp(classname,"MechanicalMapping")) return COLOR[MMAPPING];
if (!strcmp(classname,"Mapping")) return COLOR[MAPPING];
if (!strcmp(classname,"Mass")) return COLOR[MASS];
if (!strcmp(classname,"Topology")) return COLOR[TOPOLOGY];
if (!strcmp(classname,"VisualModel")) return COLOR[VMODEL];
return "";
}
}
} // namespace simulation
} // namespace sofa
#endif
|