69 int *layer,
int *nuvar,
int *ir,
int *is,
int *it,
70 int *idMds,
int *idMdsVar,
int *idMatMds,
char *comment,
int *s_comment,
71 char *mdsUvarName,
int *sizeMdsUvarName,
int *
id,
int *mode)
73 char *cname, *cname2, *ccomment, *cmdsuvar;
74 int cname_len, cname_len1, ccomment_len, cmdsuvar_len;
78 unsigned int elem_count = 1;
80 cname_len = *size1 + 1;
81 cname = (
char *)malloc(
sizeof(
char) * cname_len);
82 for (i = 0; i < *size1; i++)
86 for (i = 0; i < *size1; i++)
91 cname[cpt_size + 1] =
'\0';
93 ccomment_len = *s_comment + 1;
94 ccomment = (
char *)malloc(
sizeof(
char) * ccomment_len);
95 for (i = 0; i < *s_comment; i++)
96 ccomment[i] = comment[i];
97 ccomment[*s_comment] =
'\0';
99 cmdsuvar_len = *sizeMdsUvarName + 1;
100 cmdsuvar = (
char *)malloc(
sizeof(
char) * cmdsuvar_len);
101 for (i = 0; i < *sizeMdsUvarName; i++)
102 cmdsuvar[i] = mdsUvarName[i];
103 cmdsuvar[*sizeMdsUvarName] =
'\0';
105 char *LAYERPOOL =
new char[100];
107 char *LAYER_STRING =
new char[100];
108 LAYER_STRING[0] =
'\0';
109 char *NUVAR_STRING =
new char[100];
110 NUVAR_STRING[0] =
'\0';
111 char *IR_STRING =
new char[100];
113 char *IS_STRING =
new char[100];
115 char *IT_STRING =
new char[100];
117 char *MID_STRING =
new char[100];
118 MID_STRING[0] =
'\0';
119 char *RES_STRING =
new char[100];
120 RES_STRING[0] =
'\0';
121 char *ID_STRING =
new char[100];
123 char *MODE_STRING =
new char[100];
126 H3D_ID layer_pool_id = H3D_NULL_ID;
129 strcat_s(RES_STRING, 100, cname);
131 RES_STRING = strcat(RES_STRING, cname);
135 if (*idMdsVar > 0 && *idMds > 0)
137 sprintf(NUVAR_STRING,
" LAW %d", *idMatMds);
139 strcat_s(RES_STRING, 100, NUVAR_STRING);
141 RES_STRING = strcat(RES_STRING, NUVAR_STRING);
144 sprintf(NUVAR_STRING,
": %s ", cmdsuvar);
146 strcat_s(RES_STRING, 100, NUVAR_STRING);
148 RES_STRING = strcat(RES_STRING, NUVAR_STRING);
156 sprintf(NUVAR_STRING,
" %d ", *nuvar);
158 strcat_s(RES_STRING, 100, NUVAR_STRING);
160 RES_STRING = strcat(RES_STRING, NUVAR_STRING);
167 if (*layer > 0 || *nuvar > 0 || *ir > 0 || *is > 0 || *it > 0)
170 if (*nuvar > 0 && *layer > 0 && *ir > 0 && *is > 0)
172 sprintf(LAYER_STRING,
"USER VARIABLE %d / LAYER IR IS %d %d %d", *nuvar, *ir, *is, *it);
174 strcat_s(LAYERPOOL, 100, LAYER_STRING);
176 LAYERPOOL = strcat(LAYERPOOL, LAYER_STRING);
179 else if (*nuvar > 0 && *ir > 0 && *is > 0 && *it > 0)
181 sprintf(LAYER_STRING,
"USER VARIABLE %d / IR IS IT %d %d %d", *nuvar, *ir, *is, *it);
183 strcat_s(LAYERPOOL, 100, LAYER_STRING);
185 LAYERPOOL = strcat(LAYERPOOL, LAYER_STRING);
190 sprintf(LAYER_STRING,
"USER VARIABLE %d ", *nuvar);
192 strcat_s(LAYERPOOL, 100, LAYER_STRING);
194 LAYERPOOL = strcat(LAYERPOOL, LAYER_STRING);
197 else if (*layer > 0 && *ir > 0 && *is > 0)
199 sprintf(LAYER_STRING,
"LAYER IR IS %d %d %d ", *layer, *ir, *is);
201 strcat_s(LAYERPOOL, 100, LAYER_STRING);
203 LAYERPOOL = strcat(LAYERPOOL, LAYER_STRING);
208 sprintf(LAYER_STRING,
"LAYER %d ", *layer);
210 strcat_s(LAYERPOOL, 100, LAYER_STRING);
212 LAYERPOOL = strcat(LAYERPOOL, LAYER_STRING);
215 else if (*ir > 0 && *is > 0 && *it > 0)
217 sprintf(LAYER_STRING,
"IR IS IT %d %d %d", *ir, *is, *it);
219 strcat_s(LAYERPOOL, 100, LAYER_STRING);
221 LAYERPOOL = strcat(LAYERPOOL, LAYER_STRING);
225 else if (*layer < -1)
229 sprintf(LAYER_STRING,
"Layer Lower ");
231 strcat_s(LAYERPOOL, 100, LAYER_STRING);
233 LAYERPOOL = strcat(LAYERPOOL, LAYER_STRING);
238 sprintf(LAYER_STRING,
"Layer Upper ");
240 strcat_s(LAYERPOOL, 100, LAYER_STRING);
242 LAYERPOOL = strcat(LAYERPOOL, LAYER_STRING);
248 sprintf(LAYER_STRING,
"Mid");
250 strcat_s(LAYERPOOL, 100, LAYER_STRING);
252 LAYERPOOL = strcat(LAYERPOOL, LAYER_STRING);
275 sprintf(
edata_type, RES_STRING, H3D_DT_DELIMITER);
282 if (strlen(ccomment) != 0)
310 delete[] LAYER_STRING;
311 delete[] NUVAR_STRING;
317 delete[] MODE_STRING;
void c_create_solid_scalar_datatype(int *cpt_data, char *name1, int *size1, int *info, char *name2, int *size2, int *layer, int *nuvar, int *ir, int *is, int *it, int *idMds, int *idMdsVar, int *idMatMds, char *comment, int *s_comment, char *mdsUvarName, int *sizeMdsUvarName, int *id, int *mode)
void _FCALL C_H3D_CREATE_SOLID_SCALAR_DATATYPE(int *cpt_data, char *name1, int *size1, int *info, char *name2, int *size2, int *layer, int *nuvar, int *ir, int *is, int *it, int *idMds, int *idMdsVar, int *idMatMds, char *comment, int *s_comment, char *mdsUvarName, int *sizeMdsUvarName, int *id, int *mode)
void c_h3d_create_solid_scalar_datatype__(int *cpt_data, char *name1, int *size1, int *info, char *name2, int *size2, int *layer, int *nuvar, int *ir, int *is, int *it, int *idMds, int *idMdsVar, int *idMatMds, char *comment, int *s_comment, char *mdsUvarName, int *sizeMdsUvarName, int *id, int *mode)
void c_h3d_create_solid_scalar_datatype_(int *cpt_data, char *name1, int *size1, int *info, char *name2, int *size2, int *layer, int *nuvar, int *ir, int *is, int *it, int *idMds, int *idMdsVar, int *idMatMds, char *comment, int *s_comment, char *mdsUvarName, int *sizeMdsUvarName, int *id, int *mode)