File: Colors.h

package info (click to toggle)
sofa-framework 1.0~beta4-11
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 88,820 kB
  • ctags: 27,300
  • sloc: cpp: 151,126; ansic: 2,387; xml: 581; sh: 417; makefile: 68
file content (112 lines) | stat: -rw-r--r-- 4,561 bytes parent folder | download | duplicates (5)
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