Geant4-11
Functions
xDataTOM_importXML_W_XYs_LegendreSeries.cc File Reference
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <ctype.h>
#include "xDataTOM_importXML_private.h"

Go to the source code of this file.

Functions

static int xDataXML_LegendreSeriesDataToTOM (statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_LegendreSeries *LegendreSeries, int index, int length, double value)
 
int xDataXML_W_XYs_LegendreSeries_LegendreSeriesToTOM (statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_LegendreSeries *LegendreSeries)
 
int xDataXML_W_XYs_LegendreSeriesToTOM (statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_element *TE)
 

Function Documentation

◆ xDataXML_LegendreSeriesDataToTOM()

static int xDataXML_LegendreSeriesDataToTOM ( statusMessageReporting smr,
xDataXML_element XE,
xDataTOM_LegendreSeries LegendreSeries,
int  index,
int  length,
double  value 
)
static

Definition at line 71 of file xDataTOM_importXML_W_XYs_LegendreSeries.cc.

72 {
73
74 if( xDataTOM_LegendreSeries_initialize( smr, LegendreSeries, index, length, value ) != 0 ) return( 1 );
75 if( xDataXML_stringToDoubles( smr, XE, XE->text.text, length, LegendreSeries->LegendreSeries ) == 0 ) return( 0 );
76 xDataTOM_LegendreSeries_release( LegendreSeries );
77 return( 1 );
78}
int xDataTOM_LegendreSeries_release(xDataTOM_LegendreSeries *LegendreSeries)
int xDataTOM_LegendreSeries_initialize(statusMessageReporting *smr, xDataTOM_LegendreSeries *LegendreSeries, int index, int length, double value)
int xDataXML_stringToDoubles(statusMessageReporting *smr, xDataXML_element *XE, char const *s, int length, double *d)

References xDataTOM_LegendreSeries_s::LegendreSeries, xDataXML_text_s::text, xDataXML_element_s::text, xDataTOM_LegendreSeries_initialize(), xDataTOM_LegendreSeries_release(), and xDataXML_stringToDoubles().

Referenced by xDataXML_W_XYs_LegendreSeries_LegendreSeriesToTOM().

◆ xDataXML_W_XYs_LegendreSeries_LegendreSeriesToTOM()

int xDataXML_W_XYs_LegendreSeries_LegendreSeriesToTOM ( statusMessageReporting smr,
xDataXML_element XE,
xDataTOM_LegendreSeries LegendreSeries 
)

Definition at line 58 of file xDataTOM_importXML_W_XYs_LegendreSeries.cc.

58 {
59
60 int index, length;
61 double value;
62
63 if( xDataXML_convertAttributeTo_xDataTOM_Int( smr, XE, "index", &index, 1 ) != 0 ) return( 1 );
64 if( xDataXML_convertAttributeTo_xDataTOM_Int( smr, XE, "length", &length, 1 ) != 0 ) return( 1 );
65 if( xDataXML_convertAttributeToDouble( smr, XE, "value", &value, 1 ) != 0 ) return( 1 );
66 return( xDataXML_LegendreSeriesDataToTOM( smr, XE, LegendreSeries, index, length, value ) );
67}
static int xDataXML_LegendreSeriesDataToTOM(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_LegendreSeries *LegendreSeries, int index, int length, double value)
xDataTOM_Int xDataXML_convertAttributeTo_xDataTOM_Int(statusMessageReporting *smr, xDataXML_element *element, char const *name, xDataTOM_Int *n, int required)
int xDataXML_convertAttributeToDouble(statusMessageReporting *smr, xDataXML_element *element, char const *name, double *d, int required)

References xDataXML_convertAttributeTo_xDataTOM_Int(), xDataXML_convertAttributeToDouble(), and xDataXML_LegendreSeriesDataToTOM().

Referenced by xDataXML_regionsW_XYs_LegendreSeries_regionToTOM(), xDataXML_V_W_XYs_LegendreSeries_W_XYs_LegendreSeriesToTOM(), and xDataXML_W_XYs_LegendreSeriesToTOM().

◆ xDataXML_W_XYs_LegendreSeriesToTOM()

int xDataXML_W_XYs_LegendreSeriesToTOM ( statusMessageReporting smr,
xDataXML_element XE,
xDataTOM_element TE 
)

Definition at line 22 of file xDataTOM_importXML_W_XYs_LegendreSeries.cc.

22 {
23
24 int index, length;
25 xDataTOM_xDataInfo *xDI = &(TE->xDataInfo);
26 xDataXML_element *XMLChild;
27 char const *wLabel;
28 xDataTOM_W_XYs_LegendreSeries *W_XYs_LegendreSeries = NULL;
29
30 if( ( xDI->data = xDataXML_initializeData( smr, XE, TE, xDataTOM_W_XYs_LegendreSeries_ID, sizeof( xDataTOM_W_XYs_LegendreSeries ) ) ) == NULL )
31 return( 1 );
32 W_XYs_LegendreSeries = (xDataTOM_W_XYs_LegendreSeries *) xDI->data;
33 if( ( wLabel = xDataTOM_axes_getLabel( smr, &(xDI->axes), 0 ) ) == NULL ) goto err;
34 length = xDataXML_numberOfElementsByTagName( smr, XE, wLabel );
35 if( xDataTOM_W_XYs_LegendreSeries_initialize( smr, W_XYs_LegendreSeries, 0, length, 0., xDataTOM_subAxesType_proxy, &(xDI->axes), NULL ) != 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_W_XYs_LegendreSeries_LegendreSeriesToTOM( smr, XMLChild, &(W_XYs_LegendreSeries->LegendreSeries[index]) ) != 0 ) goto err;
42 index++; }
43 else {
45 "invalid element '%s' in xData = 'W_XYs_LegendreSeries'", XMLChild->name );
46 goto err;
47 }
48 }
49
50 return( 0 );
51
52err:
53 return( 1 );
54}
#define smr_setReportError3(smr, userInterface, libraryID, code, fmt,...)
xDataTOM_LegendreSeries * LegendreSeries
Definition: xDataTOM.h:116
xDataTOM_xDataInfo xDataInfo
Definition: xDataTOM.h:187
xDataTOM_axes axes
Definition: xDataTOM.h:153
@ xDataTOM_subAxesType_proxy
Definition: xDataTOM.h:24
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)
char const * xDataTOM_axes_getLabel(statusMessageReporting *smr, xDataTOM_axes *axes, int index)
int xDataXML_W_XYs_LegendreSeries_LegendreSeriesToTOM(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_LegendreSeries *LegendreSeries)
void * xDataXML_initializeData(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_element *TE, char const *ID, size_t size)
void * xDataXML_get_smrUserInterfaceFromElement(xDataXML_element *element)
xDataXML_element * xDataXML_getNextElement(xDataXML_element *element)
xDataXML_element * xDataXML_getFirstElement(xDataXML_element *element)
int xDataXML_numberOfElementsByTagName(statusMessageReporting *smr, xDataXML_element *element, char const *tagName)
char const * xDataTOM_W_XYs_LegendreSeries_ID
int xDataTOM_smrLibraryID
Definition: xDataTOM.cc:34

References xDataTOM_xDataInfo_s::axes, xDataTOM_xDataInfo_s::data, xDataTOM_W_XYs_LegendreSeries_s::LegendreSeries, xDataXML_element_s::name, smr_setReportError3, xDataTOM_element_s::xDataInfo, xDataTOM_axes_getLabel(), xDataTOM_smrLibraryID, xDataTOM_subAxesType_proxy, xDataTOM_W_XYs_LegendreSeries_ID, xDataTOM_W_XYs_LegendreSeries_initialize(), xDataXML_get_smrUserInterfaceFromElement(), xDataXML_getFirstElement(), xDataXML_getNextElement(), xDataXML_initializeData(), xDataXML_numberOfElementsByTagName(), and xDataXML_W_XYs_LegendreSeries_LegendreSeriesToTOM().

Referenced by xDataXML_constructTOM().