1 // Copyright (C) 2014-2024 CEA, EDF, OPEN CASCADE
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #ifndef __XAOPlugin_IDL__
21 #define __XAOPlugin_IDL__
23 #include "GEOM_Gen.idl"
28 * \brief Interface for XAOPlugin modeling functions.
30 interface IXAOOperations : GEOM::GEOM_IOperations
33 * Export a shape to XAO format
34 * \param shape The shape to export
35 * \param groups The list of groups to export
36 * \param fields The list of fields to export
37 * \param author The author of the export
38 * \param fileName The name of the file to export
39 * \param shapeFileName The name of the file to export the shape in an external file
40 * \return boolean indicating if export was successful.
42 boolean ExportXAO( in GEOM::GEOM_Object shape,
43 in GEOM::ListOfGO groups,
44 in GEOM::ListOfFields fields,
47 in string shapeFileName );
50 * Export a shape to XAO format in a byte array
51 * \param shape The shape to export
52 * \param groups The list of groups to export
53 * \param fields The list of fields to export
54 * \param author The author of the export
55 * \return Byte array with exported data.
57 SALOMEDS::TMPFile ExportXAOMem( in GEOM::GEOM_Object shape,
58 in GEOM::ListOfGO groups,
59 in GEOM::ListOfFields fields,
63 * Import a shape from XAO format
64 * \param fileName The name of the file to import
65 * \param shape The imported shape
66 * \param subShapes The list of imported subShapes
67 * \param groups The list of imported groups
68 * \param fields The list of imported fields
69 * \return boolean indicating if import was successful.
71 boolean ImportXAO( in string fileName,
72 out GEOM::GEOM_Object shape,
73 out GEOM::ListOfGO subShapes,
74 out GEOM::ListOfGO groups,
75 out GEOM::ListOfFields fields );
78 * Import a shape from XAO format byte array
79 * \param theBuff The byte array with data in XAO format
80 * \param shape The imported shape
81 * \param subShapes The list of imported subShapes
82 * \param groups The list of imported groups
83 * \param fields The list of imported fields
84 * \return boolean indicating if import was successful.
86 boolean ImportXAOMem( in SALOMEDS::TMPFile theBuff,
87 out GEOM::GEOM_Object shape,
88 out GEOM::ListOfGO subShapes,
89 out GEOM::ListOfGO groups,
90 out GEOM::ListOfFields fields );
94 #endif // __XAOPlugin_IDL__