Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
xDataTOM_importXML_V_W_XYs_LegendreSeries.cc
이 파일의 문서화 페이지로 가기
1 /*
2 # <<BEGIN-copyright>>
3 # <<END-copyright>>
4 */
5 #include <stdlib.h>
6 #include <string.h>
7 #include <limits.h>
8 #include <ctype.h>
9 
11 
12 #if defined __cplusplus
13 namespace GIDI {
14 using namespace GIDI;
15 #endif
16 
18  xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries, xDataTOM_axes *axes );
19 /*
20 ************************************************************
21 */
23 
24  int index, length;
25  xDataTOM_xDataInfo *xDI = &(TE->xDataInfo);
26  xDataXML_element *XMLChild;
27  char const *wLabel;
28  xDataTOM_V_W_XYs_LegendreSeries *V_W_XYs_LegendreSeries;
29 
30  if( ( xDI->data = xDataXML_initializeData( smr, XE, TE, xDataTOM_V_W_XYs_LegendreSeries_ID, sizeof( xDataTOM_V_W_XYs_LegendreSeries ) ) ) == NULL )
31  return( 1 );
32  V_W_XYs_LegendreSeries = (xDataTOM_V_W_XYs_LegendreSeries *) xDI->data;
33  if( ( wLabel = xDataTOM_axes_getLabel( smr, &(xDI->axes), 0 ) ) == NULL ) goto err;
34  length = (int) xDataXML_numberOfElementsByTagName( smr, XE, wLabel );
35  if( xDataTOM_V_W_XYs_LegendreSeries_initialize( smr, V_W_XYs_LegendreSeries, length, &(xDI->axes) ) != 0 ) goto err;
36 
37  for( XMLChild = xDataXML_getFirstElement( XE ), index = 0; XMLChild != NULL; XMLChild = xDataXML_getNextElement( XMLChild ) ) {
38  if( strcmp( "axes", XMLChild->name ) == 0 ) {
39  continue; }
40  else if( strcmp( wLabel, XMLChild->name ) == 0 ) {
41  if( xDataXML_V_W_XYs_LegendreSeries_W_XYs_LegendreSeriesToTOM( smr, XMLChild, &(V_W_XYs_LegendreSeries->W_XYs_LegendreSeries[index]),
42  &(xDI->axes) ) != 0 ) goto err;
43  index++; }
44  else {
46  "invalid element '%s' in xData = 'V_W_XYs_LegendreSeries'", XMLChild->name );
47  goto err;
48  }
49  }
50 
51  return( 0 );
52 
53 err:
54  return( 1 );
55 }
56 /*
57 ************************************************************
58 */
60  xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries, xDataTOM_axes *axes ) {
61 
62  int index, length;
63  double value;
64  char const *wLabel;
65  xDataXML_element *XMLChild;
66 
67  if( xDataXML_convertAttributeTo_xDataTOM_Int( smr, XE, "index", &index, 1 ) != 0 ) return( 1 );
68  if( xDataXML_convertAttributeToDouble( smr, XE, "value", &value, 1 ) != 0 ) return( 1 );
69  if( ( wLabel = xDataTOM_axes_getLabel( smr, axes, 1 ) ) == NULL ) goto err;
70  length = xDataXML_numberOfElementsByTagName( smr, XE, wLabel );
71  if( xDataTOM_W_XYs_LegendreSeries_initialize( smr, W_XYs_LegendreSeries, index, length, value, xDataTOM_subAxesType_proxy, axes, NULL ) != 0 ) goto err;
72 
73  for( XMLChild = xDataXML_getFirstElement( XE ), index = 0; XMLChild != NULL; XMLChild = xDataXML_getNextElement( XMLChild ) ) {
74  if( strcmp( wLabel, XMLChild->name ) == 0 ) {
75  if( xDataXML_W_XYs_LegendreSeries_LegendreSeriesToTOM( smr, XMLChild, &(W_XYs_LegendreSeries->LegendreSeries[index]) ) != 0 ) goto err;
76  index++; }
77  else {
79  "invalid element '%s' in xData = 'W_XYs_LegendreSeries'", XMLChild->name );
80  goto err;
81  }
82  }
83 
84  return( 0 );
85 
86 err:
87  return( 1 );
88 }
89 
90 #if defined __cplusplus
91 }
92 #endif
xDataTOM_Int xDataXML_convertAttributeTo_xDataTOM_Int(statusMessageReporting *smr, xDataXML_element *element, char const *name, xDataTOM_Int *n, int required)
xDataXML_element * xDataXML_getFirstElement(xDataXML_element *element)
static int xDataXML_V_W_XYs_LegendreSeries_W_XYs_LegendreSeriesToTOM(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries, xDataTOM_axes *axes)
void * xDataXML_initializeData(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_element *TE, char const *ID, size_t size)
xDataXML_element * xDataXML_getNextElement(xDataXML_element *element)
int xDataTOM_W_XYs_LegendreSeries_initialize(statusMessageReporting *smr, xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries, int index, int length, double value, enum xDataTOM_subAxesType subAxesType, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
int xDataXML_numberOfElementsByTagName(statusMessageReporting *smr, xDataXML_element *element, char const *tagName)
void * xDataXML_get_smrUserInterfaceFromElement(xDataXML_element *element)
xDataTOM_xDataInfo xDataInfo
Definition: xDataTOM.h:187
const XML_Char int const XML_Char * value
Definition: expat.h:331
xDataTOM_LegendreSeries * LegendreSeries
Definition: xDataTOM.h:116
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
int xDataTOM_V_W_XYs_LegendreSeries_initialize(statusMessageReporting *smr, xDataTOM_V_W_XYs_LegendreSeries *V_W_XYs_LegendreSeries, int length, xDataTOM_axes *axes)
int xDataXML_convertAttributeToDouble(statusMessageReporting *smr, xDataXML_element *element, char const *name, double *d, int required)
xDataTOM_W_XYs_LegendreSeries * W_XYs_LegendreSeries
Definition: xDataTOM.h:128
int xDataXML_W_XYs_LegendreSeries_LegendreSeriesToTOM(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_LegendreSeries *LegendreSeries)
char const * xDataTOM_axes_getLabel(statusMessageReporting *smr, xDataTOM_axes *axes, int index)
#define smr_setReportError3(smr, userInterface, libraryID, code, fmt,...)
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34
xDataTOM_axes axes
Definition: xDataTOM.h:153
int xDataXML_V_W_XYs_LegendreSeriesToTOM(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_element *TE)
char const * xDataTOM_V_W_XYs_LegendreSeries_ID