--- /dev/null
+# Copyright (C) 2018-2024 CEA, EDF
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+from salome.shaper import model
+
+from GeomAPI import *
+
+import tempfile
+import os
+import math
+
+model.begin()
+partSet = model.moduleDocument()
+Part_1 = model.addPart(partSet)
+Part_1_doc = Part_1.document()
+
+Cyl_1 = model.addCylinder(Part_1_doc, 7, 13)
+Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
+
+Group_1 = model.addGroup(Part_1_doc, "Faces", [model.selection("FACE", "Box_1_1/Top")])
+
+Field_1 = model.addField(Part_1_doc, 1, "STRING", 1, ["Comp 1"], [model.selection("SOLID", "Box_1_1")])
+Field_1.addStep(0, 0, [[""], ["box"]])
+
+with tempfile.TemporaryDirectory() as tmpdirname:
+ # Export entire Part
+ tmp_file1 = os.path.join(tmpdirname, "Part.xao")
+ tmp_file2 = os.path.join(tmpdirname, "Part_shape.brep")
+
+ Export_1 = model.exportToXAO(Part_1_doc, tmp_file1, "", "", tmp_file2)
+ # due to the issue 2530, the export feature is removed after execution, so,
+ # if export was performed correctly, the feature must become invalid
+ #assert(Export_1.feature().error() == "")
+ assert(not Export_1.feature().data().isValid())
+ assert(os.path.isfile(tmp_file1))
+ assert(os.path.isfile(tmp_file2))
+
+ # Add two fields and one group to the Box_1
+ Field_2 = model.addField(Part_1_doc, 1, "BOOLEAN", 1, ["Comp 1"], [model.selection("FACE", "Box_1_1/Front")])
+ Field_2.addStep(0, 0, [[False], [True]])
+
+ Field_3_objects = [model.selection("VERTEX", "[Box_1_1/Front][Box_1_1/Left][Box_1_1/Top]"), model.selection("VERTEX", "[Box_1_1/Front][Box_1_1/Left][Box_1_1/Bottom]"), model.selection("VERTEX", "[Box_1_1/Front][Box_1_1/Right][Box_1_1/Bottom]"), model.selection("VERTEX", "[Box_1_1/Front][Box_1_1/Right][Box_1_1/Top]")]
+ Field_3 = model.addField(Part_1_doc, 1, "DOUBLE", 1, ["Comp 1"], Field_3_objects)
+ Field_3.addStep(0, 0, [[0], [1], [0], [0], [0]])
+
+ Group_2 = model.addGroup(Part_1_doc, "Edges", [model.selection("EDGE", "[Box_1_1/Top][Box_1_1/Left]"), model.selection("EDGE", "[Box_1_1/Top][Box_1_1/Right]")])
+
+ tmp_file3 = os.path.join(tmpdirname, "Box.xao")
+ tmp_file4 = os.path.join(tmpdirname, "Box_shape.brep")
+
+ Export_2 = model.exportToXAO(Part_1_doc, tmp_file3, model.selection("SOLID", "Box_1_1"),
+ "", "", tmp_file4)
+ assert(Export_2.feature().error() == "")
+ assert(os.path.isfile(tmp_file3))
+ assert(os.path.isfile(tmp_file4))
+
+ model.end()
+
+ # Try to import the exported data
+ model.begin()
+ partSet = model.moduleDocument()
+ Part_1 = model.addPart(partSet)
+ Part_1_doc = Part_1.document()
+
+ Import_1 = model.addImport(Part_1_doc, tmp_file1)
+ model.do()
+ assert(Import_1.feature().error() == "")
+
+ model.testNbResults(Import_1, 1)
+ model.testNbSubResults(Import_1, [2])
+ model.testNbSubShapes(Import_1, GeomAPI_Shape.SOLID, [2])
+ model.testNbSubShapes(Import_1, GeomAPI_Shape.FACE, [9])
+ model.testNbSubShapes(Import_1, GeomAPI_Shape.EDGE, [30])
+ model.testNbSubShapes(Import_1, GeomAPI_Shape.VERTEX, [60])
+ model.testResultsVolumes(Import_1, [3001.1945203])
+ model.testResultsAreas(Import_1, [1479.645943])
+
+ assert(Import_1.name() == "Part")
+ assert(Import_1.result().name() == "Part_1")
+ assert(Import_1.subFeature(0).name() == "Group_1")
+ assert(Import_1.subFeature(1).name() == "Field_1")
+ assert(Import_1.subFeature(0).result().name() == "Group_1")
+ assert(Import_1.subFeature(1).result().name() == "Field_1")
+
+ # check group
+ assert(Part_1_doc.size("Groups") == 1)
+ res1 = model.objectToResult(Part_1_doc.object("Groups", 0))
+ assert(res1 is not None)
+ res1It = GeomAPI_ShapeExplorer(res1.shape(), GeomAPI_Shape.FACE)
+ assert(res1It.more())
+ shape1 = res1It.current()
+ res1It.next()
+ assert(not res1It.more())
+ p1 = res1.shape().middlePoint()
+ aTol = 1.e-7
+ assert(math.fabs(p1.x() - 5) <= aTol and math.fabs(p1.y() - 5) <= aTol and math.fabs(p1.z() - 10) <= aTol), "({}, {}, {}) != ({}, {}, {})".format(p1.x(), p1.y(), p1.z(), 5, 5, 10)
+
+ Import_2 = model.addImport(Part_1_doc, tmp_file3)
+ model.do()
+ assert(Import_2.feature().error() == "")
+
+ model.testNbResults(Import_2, 1)
+ model.testNbSubResults(Import_2, [0])
+ model.testNbSubShapes(Import_2, GeomAPI_Shape.SOLID, [1])
+ model.testNbSubShapes(Import_2, GeomAPI_Shape.FACE, [6])
+ model.testNbSubShapes(Import_2, GeomAPI_Shape.EDGE, [24])
+ model.testNbSubShapes(Import_2, GeomAPI_Shape.VERTEX, [48])
+ model.testResultsVolumes(Import_2, [1000])
+ model.testResultsAreas(Import_2, [600])
+
+ assert(Import_2.name() == "Box_1_1")
+ assert(Import_2.result().name() == "Box_1_1_1")
+ assert(Import_2.subFeature(0).name() == "Group_1")
+ assert(Import_2.subFeature(1).name() == "Group_2")
+ assert(Import_2.subFeature(2).name() == "Field_1")
+ assert(Import_2.subFeature(3).name() == "Field_2")
+ assert(Import_2.subFeature(4).name() == "Field_3")
+ assert(Import_2.subFeature(0).result().name() == "Group_1")
+ assert(Import_2.subFeature(1).result().name() == "Group_2")
+ assert(Import_2.subFeature(2).result().name() == "Field_1")
+ assert(Import_2.subFeature(3).result().name() == "Field_2")
+ assert(Import_2.subFeature(4).result().name() == "Field_3")
+
+ # check groups
+ assert(Part_1_doc.size("Groups") == 3)
+
+ res1 = model.objectToResult(Part_1_doc.object("Groups", 1))
+ assert(res1 is not None)
+ res1It = GeomAPI_ShapeExplorer(res1.shape(), GeomAPI_Shape.FACE)
+ assert(res1It.more())
+ shape1 = res1It.current()
+ res1It.next()
+ assert(not res1It.more())
+ p1 = res1.shape().middlePoint()
+ aTol = 1.e-7
+ assert(math.fabs(p1.x() - 5) <= aTol and math.fabs(p1.y() - 5) <= aTol and math.fabs(p1.z() - 10) <= aTol), "({}, {}, {}) != ({}, {}, {})".format(p1.x(), p1.y(), p1.z(), 5, 5, 10)
+
+ res2 = model.objectToResult(Part_1_doc.object("Groups", 2))
+ assert(res2 is not None)
+ res2It = GeomAPI_ShapeExplorer(res2.shape(), GeomAPI_Shape.EDGE)
+ assert(res2It.more())
+ edge1 = res2It.current()
+ res2It.next()
+ edge2 = res2It.current()
+ res2It.next()
+ assert(not res2It.more())
+ p2 = res2.shape().middlePoint()
+ aTol = 1.e-7
+ assert(math.fabs(p1.x() - 5) <= aTol and math.fabs(p1.y() - 5) <= aTol and math.fabs(p1.z() - 10) <= aTol), "({}, {}, {}) != ({}, {}, {})".format(p1.x(), p1.y(), p1.z(), 5, 5, 10)
+
+ pass
+
+model.end()
SET_ATTRIBUTE(N_13, T_13, AN_13) \
END_INIT() \
public:
-//--------------------------------------------------------------------------------------
-#define INTERFACE_15(KIND, \
- N_0, AN_0, T_0, C_0, \
- N_1, AN_1, T_1, C_1, \
- N_2, AN_2, T_2, C_2, \
- N_3, AN_3, T_3, C_3, \
- N_4, AN_4, T_4, C_4, \
- N_5, AN_5, T_5, C_5, \
- N_6, AN_6, T_6, C_6, \
- N_7, AN_7, T_7, C_7, \
- N_8, AN_8, T_8, C_8, \
- N_9, AN_9, T_9, C_9, \
- N_10, AN_10, T_10, C_10, \
- N_11, AN_11, T_11, C_11, \
- N_12, AN_12, T_12, C_12, \
- N_13, AN_13, T_13, C_13, \
- N_14, AN_14, T_14, C_14) \
- public: \
- INTERFACE_COMMON(KIND) \
- DEFINE_ATTRIBUTE(N_0, T_0, C_0) \
- DEFINE_ATTRIBUTE(N_1, T_1, C_1) \
- DEFINE_ATTRIBUTE(N_2, T_2, C_2) \
- DEFINE_ATTRIBUTE(N_3, T_3, C_3) \
- DEFINE_ATTRIBUTE(N_4, T_4, C_4) \
- DEFINE_ATTRIBUTE(N_5, T_5, C_5) \
- DEFINE_ATTRIBUTE(N_6, T_6, C_6) \
- DEFINE_ATTRIBUTE(N_7, T_7, C_7) \
- DEFINE_ATTRIBUTE(N_8, T_8, C_8) \
- DEFINE_ATTRIBUTE(N_9, T_9, C_9) \
- DEFINE_ATTRIBUTE(N_10, T_10, C_10) \
- DEFINE_ATTRIBUTE(N_11, T_11, C_11) \
- DEFINE_ATTRIBUTE(N_12, T_12, C_12) \
- DEFINE_ATTRIBUTE(N_13, T_13, C_13) \
- DEFINE_ATTRIBUTE(N_14, T_14, C_14) \
- protected: \
- START_INIT() \
- SET_ATTRIBUTE(N_0, T_0, AN_0) \
- SET_ATTRIBUTE(N_1, T_1, AN_1) \
- SET_ATTRIBUTE(N_2, T_2, AN_2) \
- SET_ATTRIBUTE(N_3, T_3, AN_3) \
- SET_ATTRIBUTE(N_4, T_4, AN_4) \
- SET_ATTRIBUTE(N_5, T_5, AN_5) \
- SET_ATTRIBUTE(N_6, T_6, AN_6) \
- SET_ATTRIBUTE(N_7, T_7, AN_7) \
- SET_ATTRIBUTE(N_8, T_8, AN_8) \
- SET_ATTRIBUTE(N_9, T_9, AN_9) \
- SET_ATTRIBUTE(N_10, T_10, AN_10) \
- SET_ATTRIBUTE(N_11, T_11, AN_11) \
- SET_ATTRIBUTE(N_12, T_12, AN_12) \
- SET_ATTRIBUTE(N_13, T_13, AN_13) \
- SET_ATTRIBUTE(N_14, T_14, AN_14) \
- END_INIT() \
- public:
//--------------------------------------------------------------------------------------
-#define INTERFACE_16(KIND, \
- N_0, AN_0, T_0, C_0, \
- N_1, AN_1, T_1, C_1, \
- N_2, AN_2, T_2, C_2, \
- N_3, AN_3, T_3, C_3, \
- N_4, AN_4, T_4, C_4, \
- N_5, AN_5, T_5, C_5, \
- N_6, AN_6, T_6, C_6, \
- N_7, AN_7, T_7, C_7, \
- N_8, AN_8, T_8, C_8, \
- N_9, AN_9, T_9, C_9, \
- N_10, AN_10, T_10, C_10, \
- N_11, AN_11, T_11, C_11, \
- N_12, AN_12, T_12, C_12, \
- N_13, AN_13, T_13, C_13, \
- N_14, AN_14, T_14, C_14, \
- N_15, AN_15, T_15, C_15) \
- public: \
- INTERFACE_COMMON(KIND) \
- DEFINE_ATTRIBUTE(N_0, T_0, C_0) \
- DEFINE_ATTRIBUTE(N_1, T_1, C_1) \
- DEFINE_ATTRIBUTE(N_2, T_2, C_2) \
- DEFINE_ATTRIBUTE(N_3, T_3, C_3) \
- DEFINE_ATTRIBUTE(N_4, T_4, C_4) \
- DEFINE_ATTRIBUTE(N_5, T_5, C_5) \
- DEFINE_ATTRIBUTE(N_6, T_6, C_6) \
- DEFINE_ATTRIBUTE(N_7, T_7, C_7) \
- DEFINE_ATTRIBUTE(N_8, T_8, C_8) \
- DEFINE_ATTRIBUTE(N_9, T_9, C_9) \
- DEFINE_ATTRIBUTE(N_10, T_10, C_10) \
- DEFINE_ATTRIBUTE(N_11, T_11, C_11) \
- DEFINE_ATTRIBUTE(N_12, T_12, C_12) \
- DEFINE_ATTRIBUTE(N_13, T_13, C_13) \
- DEFINE_ATTRIBUTE(N_14, T_14, C_14) \
- DEFINE_ATTRIBUTE(N_15, T_15, C_15) \
- protected: \
- START_INIT() \
- SET_ATTRIBUTE(N_0, T_0, AN_0) \
- SET_ATTRIBUTE(N_1, T_1, AN_1) \
- SET_ATTRIBUTE(N_2, T_2, AN_2) \
- SET_ATTRIBUTE(N_3, T_3, AN_3) \
- SET_ATTRIBUTE(N_4, T_4, AN_4) \
- SET_ATTRIBUTE(N_5, T_5, AN_5) \
- SET_ATTRIBUTE(N_6, T_6, AN_6) \
- SET_ATTRIBUTE(N_7, T_7, AN_7) \
- SET_ATTRIBUTE(N_8, T_8, AN_8) \
- SET_ATTRIBUTE(N_9, T_9, AN_9) \
- SET_ATTRIBUTE(N_10, T_10, AN_10) \
- SET_ATTRIBUTE(N_11, T_11, AN_11) \
- SET_ATTRIBUTE(N_12, T_12, AN_12) \
- SET_ATTRIBUTE(N_13, T_13, AN_13) \
- SET_ATTRIBUTE(N_14, T_14, AN_14) \
- SET_ATTRIBUTE(N_15, T_15, AN_15) \
- END_INIT() \
- public:
-
-//--------------------------------------------------------------------------------------
-#define INTERFACE_18(KIND, \
- N_0, AN_0, T_0, C_0, \
- N_1, AN_1, T_1, C_1, \
- N_2, AN_2, T_2, C_2, \
- N_3, AN_3, T_3, C_3, \
- N_4, AN_4, T_4, C_4, \
- N_5, AN_5, T_5, C_5, \
- N_6, AN_6, T_6, C_6, \
- N_7, AN_7, T_7, C_7, \
- N_8, AN_8, T_8, C_8, \
- N_9, AN_9, T_9, C_9, \
- N_10, AN_10, T_10, C_10, \
- N_11, AN_11, T_11, C_11, \
- N_12, AN_12, T_12, C_12, \
- N_13, AN_13, T_13, C_13, \
- N_14, AN_14, T_14, C_14, \
- N_15, AN_15, T_15, C_15, \
- N_16, AN_16, T_16, C_16, \
- N_17, AN_17, T_17, C_17) \
- public: \
- INTERFACE_COMMON(KIND) \
- DEFINE_ATTRIBUTE(N_0, T_0, C_0) \
- DEFINE_ATTRIBUTE(N_1, T_1, C_1) \
- DEFINE_ATTRIBUTE(N_2, T_2, C_2) \
- DEFINE_ATTRIBUTE(N_3, T_3, C_3) \
- DEFINE_ATTRIBUTE(N_4, T_4, C_4) \
- DEFINE_ATTRIBUTE(N_5, T_5, C_5) \
- DEFINE_ATTRIBUTE(N_6, T_6, C_6) \
- DEFINE_ATTRIBUTE(N_7, T_7, C_7) \
- DEFINE_ATTRIBUTE(N_8, T_8, C_8) \
- DEFINE_ATTRIBUTE(N_9, T_9, C_9) \
- DEFINE_ATTRIBUTE(N_10, T_10, C_10) \
- DEFINE_ATTRIBUTE(N_11, T_11, C_11) \
- DEFINE_ATTRIBUTE(N_12, T_12, C_12) \
- DEFINE_ATTRIBUTE(N_13, T_13, C_13) \
- DEFINE_ATTRIBUTE(N_14, T_14, C_14) \
- DEFINE_ATTRIBUTE(N_15, T_15, C_15) \
- DEFINE_ATTRIBUTE(N_16, T_16, C_16) \
- DEFINE_ATTRIBUTE(N_17, T_17, C_17) \
- protected: \
- START_INIT() \
- SET_ATTRIBUTE(N_0, T_0, AN_0) \
- SET_ATTRIBUTE(N_1, T_1, AN_1) \
- SET_ATTRIBUTE(N_2, T_2, AN_2) \
- SET_ATTRIBUTE(N_3, T_3, AN_3) \
- SET_ATTRIBUTE(N_4, T_4, AN_4) \
- SET_ATTRIBUTE(N_5, T_5, AN_5) \
- SET_ATTRIBUTE(N_6, T_6, AN_6) \
- SET_ATTRIBUTE(N_7, T_7, AN_7) \
- SET_ATTRIBUTE(N_8, T_8, AN_8) \
- SET_ATTRIBUTE(N_9, T_9, AN_9) \
- SET_ATTRIBUTE(N_10, T_10, AN_10) \
- SET_ATTRIBUTE(N_11, T_11, AN_11) \
- SET_ATTRIBUTE(N_12, T_12, AN_12) \
- SET_ATTRIBUTE(N_13, T_13, AN_13) \
- SET_ATTRIBUTE(N_14, T_14, AN_14) \
- SET_ATTRIBUTE(N_15, T_15, AN_15) \
- SET_ATTRIBUTE(N_16, T_16, AN_16) \
- SET_ATTRIBUTE(N_17, T_17, AN_17) \
- END_INIT() \
- public:
-
-//--------------------------------------------------------------------------------------
-#define INTERFACE_20(KIND, \
+#define INTERFACE_17(KIND, \
N_0, AN_0, T_0, C_0, \
N_1, AN_1, T_1, C_1, \
N_2, AN_2, T_2, C_2, \
N_13, AN_13, T_13, C_13, \
N_14, AN_14, T_14, C_14, \
N_15, AN_15, T_15, C_15, \
- N_16, AN_16, T_16, C_16, \
- N_17, AN_17, T_17, C_17, \
- N_18, AN_18, T_18, C_18, \
- N_19, AN_19, T_19, C_19) \
+ N_16, AN_16, T_16, C_16) \
public: \
INTERFACE_COMMON(KIND) \
DEFINE_ATTRIBUTE(N_0, T_0, C_0) \
DEFINE_ATTRIBUTE(N_14, T_14, C_14) \
DEFINE_ATTRIBUTE(N_15, T_15, C_15) \
DEFINE_ATTRIBUTE(N_16, T_16, C_16) \
- DEFINE_ATTRIBUTE(N_17, T_17, C_17) \
- DEFINE_ATTRIBUTE(N_18, T_18, C_18) \
- DEFINE_ATTRIBUTE(N_19, T_19, C_19) \
protected: \
START_INIT() \
SET_ATTRIBUTE(N_0, T_0, AN_0) \
SET_ATTRIBUTE(N_14, T_14, AN_14) \
SET_ATTRIBUTE(N_15, T_15, AN_15) \
SET_ATTRIBUTE(N_16, T_16, AN_16) \
- SET_ATTRIBUTE(N_17, T_17, AN_17) \
- SET_ATTRIBUTE(N_18, T_18, AN_18) \
- SET_ATTRIBUTE(N_19, T_19, AN_19) \
END_INIT() \
public:
END_INIT() \
public:
-//--------------------------------------------------------------------------------------
-#define INTERFACE_24(KIND, \
- N_0, AN_0, T_0, C_0, \
- N_1, AN_1, T_1, C_1, \
- N_2, AN_2, T_2, C_2, \
- N_3, AN_3, T_3, C_3, \
- N_4, AN_4, T_4, C_4, \
- N_5, AN_5, T_5, C_5, \
- N_6, AN_6, T_6, C_6, \
- N_7, AN_7, T_7, C_7, \
- N_8, AN_8, T_8, C_8, \
- N_9, AN_9, T_9, C_9, \
- N_10, AN_10, T_10, C_10, \
- N_11, AN_11, T_11, C_11, \
- N_12, AN_12, T_12, C_12, \
- N_13, AN_13, T_13, C_13, \
- N_14, AN_14, T_14, C_14, \
- N_15, AN_15, T_15, C_15, \
- N_16, AN_16, T_16, C_16, \
- N_17, AN_17, T_17, C_17, \
- N_18, AN_18, T_18, C_18, \
- N_19, AN_19, T_19, C_19, \
- N_20, AN_20, T_20, C_20, \
- N_21, AN_21, T_21, C_21, \
- N_22, AN_22, T_22, C_22, \
- N_23, AN_23, T_23, C_23) \
- public: \
- INTERFACE_COMMON(KIND) \
- DEFINE_ATTRIBUTE(N_0, T_0, C_0) \
- DEFINE_ATTRIBUTE(N_1, T_1, C_1) \
- DEFINE_ATTRIBUTE(N_2, T_2, C_2) \
- DEFINE_ATTRIBUTE(N_3, T_3, C_3) \
- DEFINE_ATTRIBUTE(N_4, T_4, C_4) \
- DEFINE_ATTRIBUTE(N_5, T_5, C_5) \
- DEFINE_ATTRIBUTE(N_6, T_6, C_6) \
- DEFINE_ATTRIBUTE(N_7, T_7, C_7) \
- DEFINE_ATTRIBUTE(N_8, T_8, C_8) \
- DEFINE_ATTRIBUTE(N_9, T_9, C_9) \
- DEFINE_ATTRIBUTE(N_10, T_10, C_10) \
- DEFINE_ATTRIBUTE(N_11, T_11, C_11) \
- DEFINE_ATTRIBUTE(N_12, T_12, C_12) \
- DEFINE_ATTRIBUTE(N_13, T_13, C_13) \
- DEFINE_ATTRIBUTE(N_14, T_14, C_14) \
- DEFINE_ATTRIBUTE(N_15, T_15, C_15) \
- DEFINE_ATTRIBUTE(N_16, T_16, C_16) \
- DEFINE_ATTRIBUTE(N_17, T_17, C_17) \
- DEFINE_ATTRIBUTE(N_18, T_18, C_18) \
- DEFINE_ATTRIBUTE(N_19, T_19, C_19) \
- DEFINE_ATTRIBUTE(N_20, T_20, C_20) \
- DEFINE_ATTRIBUTE(N_21, T_21, C_21) \
- DEFINE_ATTRIBUTE(N_22, T_22, C_22) \
- DEFINE_ATTRIBUTE(N_23, T_23, C_23) \
- protected: \
- START_INIT() \
- SET_ATTRIBUTE(N_0, T_0, AN_0) \
- SET_ATTRIBUTE(N_1, T_1, AN_1) \
- SET_ATTRIBUTE(N_2, T_2, AN_2) \
- SET_ATTRIBUTE(N_3, T_3, AN_3) \
- SET_ATTRIBUTE(N_4, T_4, AN_4) \
- SET_ATTRIBUTE(N_5, T_5, AN_5) \
- SET_ATTRIBUTE(N_6, T_6, AN_6) \
- SET_ATTRIBUTE(N_7, T_7, AN_7) \
- SET_ATTRIBUTE(N_8, T_8, AN_8) \
- SET_ATTRIBUTE(N_9, T_9, AN_9) \
- SET_ATTRIBUTE(N_10, T_10, AN_10) \
- SET_ATTRIBUTE(N_11, T_11, AN_11) \
- SET_ATTRIBUTE(N_12, T_12, AN_12) \
- SET_ATTRIBUTE(N_13, T_13, AN_13) \
- SET_ATTRIBUTE(N_14, T_14, AN_14) \
- SET_ATTRIBUTE(N_15, T_15, AN_15) \
- SET_ATTRIBUTE(N_16, T_16, AN_16) \
- SET_ATTRIBUTE(N_17, T_17, AN_17) \
- SET_ATTRIBUTE(N_18, T_18, AN_18) \
- SET_ATTRIBUTE(N_19, T_19, AN_19) \
- SET_ATTRIBUTE(N_20, T_20, AN_20) \
- SET_ATTRIBUTE(N_21, T_21, AN_21) \
- SET_ATTRIBUTE(N_22, T_22, AN_22) \
- SET_ATTRIBUTE(N_23, T_23, AN_23) \
- END_INIT() \
- public:
-
//--------------------------------------------------------------------------------------
#define INTERFACE_25(KIND, \
N_0, AN_0, T_0, C_0, \
END_INIT() \
public:
-
-//--------------------------------------------------------------------------------------
-#define INTERFACE_27(KIND, \
- N_0, AN_0, T_0, C_0, \
- N_1, AN_1, T_1, C_1, \
- N_2, AN_2, T_2, C_2, \
- N_3, AN_3, T_3, C_3, \
- N_4, AN_4, T_4, C_4, \
- N_5, AN_5, T_5, C_5, \
- N_6, AN_6, T_6, C_6, \
- N_7, AN_7, T_7, C_7, \
- N_8, AN_8, T_8, C_8, \
- N_9, AN_9, T_9, C_9, \
- N_10, AN_10, T_10, C_10, \
- N_11, AN_11, T_11, C_11, \
- N_12, AN_12, T_12, C_12, \
- N_13, AN_13, T_13, C_13, \
- N_14, AN_14, T_14, C_14, \
- N_15, AN_15, T_15, C_15, \
- N_16, AN_16, T_16, C_16, \
- N_17, AN_17, T_17, C_17, \
- N_18, AN_18, T_18, C_18, \
- N_19, AN_19, T_19, C_19, \
- N_20, AN_20, T_20, C_20, \
- N_21, AN_21, T_21, C_21, \
- N_22, AN_22, T_22, C_22, \
- N_23, AN_23, T_23, C_23, \
- N_24, AN_24, T_24, C_24, \
- N_25, AN_25, T_25, C_25, \
- N_26, AN_26, T_26, C_26) \
- public: \
- INTERFACE_COMMON(KIND) \
- DEFINE_ATTRIBUTE(N_0, T_0, C_0) \
- DEFINE_ATTRIBUTE(N_1, T_1, C_1) \
- DEFINE_ATTRIBUTE(N_2, T_2, C_2) \
- DEFINE_ATTRIBUTE(N_3, T_3, C_3) \
- DEFINE_ATTRIBUTE(N_4, T_4, C_4) \
- DEFINE_ATTRIBUTE(N_5, T_5, C_5) \
- DEFINE_ATTRIBUTE(N_6, T_6, C_6) \
- DEFINE_ATTRIBUTE(N_7, T_7, C_7) \
- DEFINE_ATTRIBUTE(N_8, T_8, C_8) \
- DEFINE_ATTRIBUTE(N_9, T_9, C_9) \
- DEFINE_ATTRIBUTE(N_10, T_10, C_10) \
- DEFINE_ATTRIBUTE(N_11, T_11, C_11) \
- DEFINE_ATTRIBUTE(N_12, T_12, C_12) \
- DEFINE_ATTRIBUTE(N_13, T_13, C_13) \
- DEFINE_ATTRIBUTE(N_14, T_14, C_14) \
- DEFINE_ATTRIBUTE(N_15, T_15, C_15) \
- DEFINE_ATTRIBUTE(N_16, T_16, C_16) \
- DEFINE_ATTRIBUTE(N_17, T_17, C_17) \
- DEFINE_ATTRIBUTE(N_18, T_18, C_18) \
- DEFINE_ATTRIBUTE(N_19, T_19, C_19) \
- DEFINE_ATTRIBUTE(N_20, T_20, C_20) \
- DEFINE_ATTRIBUTE(N_21, T_21, C_21) \
- DEFINE_ATTRIBUTE(N_22, T_22, C_22) \
- DEFINE_ATTRIBUTE(N_23, T_23, C_23) \
- DEFINE_ATTRIBUTE(N_24, T_24, C_24) \
- DEFINE_ATTRIBUTE(N_25, T_25, C_25) \
- DEFINE_ATTRIBUTE(N_26, T_26, C_26) \
- protected: \
- START_INIT() \
- SET_ATTRIBUTE(N_0, T_0, AN_0) \
- SET_ATTRIBUTE(N_1, T_1, AN_1) \
- SET_ATTRIBUTE(N_2, T_2, AN_2) \
- SET_ATTRIBUTE(N_3, T_3, AN_3) \
- SET_ATTRIBUTE(N_4, T_4, AN_4) \
- SET_ATTRIBUTE(N_5, T_5, AN_5) \
- SET_ATTRIBUTE(N_6, T_6, AN_6) \
- SET_ATTRIBUTE(N_7, T_7, AN_7) \
- SET_ATTRIBUTE(N_8, T_8, AN_8) \
- SET_ATTRIBUTE(N_9, T_9, AN_9) \
- SET_ATTRIBUTE(N_10, T_10, AN_10) \
- SET_ATTRIBUTE(N_11, T_11, AN_11) \
- SET_ATTRIBUTE(N_12, T_12, AN_12) \
- SET_ATTRIBUTE(N_13, T_13, AN_13) \
- SET_ATTRIBUTE(N_14, T_14, AN_14) \
- SET_ATTRIBUTE(N_15, T_15, AN_15) \
- SET_ATTRIBUTE(N_16, T_16, AN_16) \
- SET_ATTRIBUTE(N_17, T_17, AN_17) \
- SET_ATTRIBUTE(N_18, T_18, AN_18) \
- SET_ATTRIBUTE(N_19, T_19, AN_19) \
- SET_ATTRIBUTE(N_20, T_20, AN_20) \
- SET_ATTRIBUTE(N_21, T_21, AN_21) \
- SET_ATTRIBUTE(N_22, T_22, AN_22) \
- SET_ATTRIBUTE(N_23, T_23, AN_23) \
- SET_ATTRIBUTE(N_24, T_24, AN_24) \
- SET_ATTRIBUTE(N_25, T_25, AN_25) \
- SET_ATTRIBUTE(N_26, T_26, AN_26) \
- END_INIT() \
- public:
-
//--------------------------------------------------------------------------------------
#endif /* SRC_MODELHIGHAPI_MODELHIGHAPI_MACRO_H_ */