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
|
// File: Materials_MaterialDefinition.cxx
// Created: Fri Jan 14 10:25:48 1994
// Author: Gilles DEBARBOUILLE
// <gde@meteox>
// Historique :
// CRD : 03/07/97 : Portage Windows NT.
#include <Materials_MaterialDefinition.ixx>
#include <Dynamic_ObjectParameter.hxx>
#include <Materials_Color.hxx>
#include <stdlib.h>
#ifdef HAVE_CONFIG_H
# include <oce-config.h>
#endif
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
//#ifdef WNT
//#define strcasecmp _stricoll
#include <stdio.h>
//#endif
//=======================================================================
//function : Materials_MaterialDefinition
//purpose :
//=======================================================================
Materials_MaterialDefinition::Materials_MaterialDefinition()
: Dynamic_FuzzyDefinitionsDictionary()
{}
//=======================================================================
//function : Switch
//purpose :
//=======================================================================
Handle(Dynamic_Parameter) Materials_MaterialDefinition::Switch(
const Standard_CString aname,
const Standard_CString atype,
const Standard_CString avalue) const
{
Standard_Integer i;
char value1[80],value2[80],value3[80];
Handle(Dynamic_Parameter) parameter;
Handle(Dynamic_ObjectParameter) objectparameter;
if (!strcasecmp(atype,"Materials_Color"))
{
for(i=0; i<80; i++)value1[i] = 0;
for(i=0; i<80; i++)value2[i] = 0;
for(i=0; i<80; i++)value3[i] = 0;
// fr = sscanf(avalue,"%s%s%s",&value1,&value2,&value3);
sscanf(avalue,"%s%s%s",value1,value2,value3);
Handle(Materials_Color) pcolor =
new Materials_Color(Quantity_Color(atof(value1),
atof(value2),
atof(value3),
Quantity_TOC_RGB));
objectparameter = new Dynamic_ObjectParameter(aname,pcolor);
parameter = *(Handle_Dynamic_Parameter*)&objectparameter;
}
else
{
parameter = Dynamic_FuzzyDefinitionsDictionary::Switch(aname,atype,avalue);
}
return parameter;
}
|