1 #ifndef __CALCULATOR_GEN__
2 #define __CALCULATOR_GEN__
4 \defgroup EXAMPLES SALOME EXAMPLES components
7 #include "SALOME_Component.idl"
8 #include "SALOME_Exception.idl"
14 This package contains the interface CALCULATOR_ORB used
15 for %CALCULATOR component as an example in %SALOME application.
19 /*! \brief Interface of the %CALCULATOR component
21 interface CALCULATOR_Gen : Engines::Component
24 Calculate the maximum relative difference of field with the previous one.
25 At first call, store passed field and return 1.
27 double convergenceCriteria(in SALOME_MED::FIELDDOUBLE field);
29 Apply to each (scalar) field component the linear function x -> ax+b.
30 Release field1 after use.
32 SALOME_MED::FIELDDOUBLE applyLin(in SALOME_MED::FIELDDOUBLE field1, in double a1, in double a2);
36 Return exception if fields are not compatible.
37 Release field1 and field2 after use.
39 SALOME_MED::FIELDDOUBLE add(in SALOME_MED::FIELDDOUBLE field1, in SALOME_MED::FIELDDOUBLE field2)
40 raises (SALOME::SALOME_Exception);
43 return euclidian norm of field
44 Release field after use.
46 double norm2(in SALOME_MED::FIELDDOUBLE field);
49 return L2 norm of field
50 Release field after use.
52 double normL2(in SALOME_MED::FIELDDOUBLE field);
55 return L1 norm of field
56 Release field after use.
58 double normL1(in SALOME_MED::FIELDDOUBLE field);
61 return max norm of field
62 Release field after use.
64 double normMax(in SALOME_MED::FIELDDOUBLE field);
67 This utility method print in standard output the coordinates & field values
68 Release field after use.
70 void printField(in SALOME_MED::FIELDDOUBLE field);
73 This method clones field in four examples.
74 Release field after use.
76 void cloneField(in SALOME_MED::FIELDDOUBLE field, out SALOME_MED::FIELDDOUBLE clone1,
77 out SALOME_MED::FIELDDOUBLE clone2, out SALOME_MED::FIELDDOUBLE clone3,
78 out SALOME_MED::FIELDDOUBLE clone4 );