]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
move optional name parameter to the end
authorfps <fps@opencascade.com>
Tue, 17 Sep 2013 11:12:14 +0000 (11:12 +0000)
committerfps <fps@opencascade.com>
Tue, 17 Sep 2013 11:12:14 +0000 (11:12 +0000)
27 files changed:
src/GEOMImpl/GEOMImpl_IImportExportOperations.cxx
src/XAO/XAO_BooleanField.cxx
src/XAO/XAO_BooleanField.hxx
src/XAO/XAO_BrepGeometry.cxx
src/XAO/XAO_BrepGeometry.hxx
src/XAO/XAO_DoubleField.cxx
src/XAO/XAO_DoubleField.hxx
src/XAO/XAO_Exception.hxx
src/XAO/XAO_Field.cxx
src/XAO/XAO_Field.hxx
src/XAO/XAO_GeometricElement.cxx
src/XAO/XAO_Geometry.hxx
src/XAO/XAO_Group.cxx
src/XAO/XAO_Group.hxx
src/XAO/XAO_IntegerField.cxx
src/XAO/XAO_IntegerField.hxx
src/XAO/XAO_Step.cxx
src/XAO/XAO_StringField.cxx
src/XAO/XAO_StringField.hxx
src/XAO/XAO_Xao.cxx
src/XAO/XAO_Xao.hxx
src/XAO/XAO_XaoExporter.cxx
src/XAO/XAO_XaoUtils.hxx
src/XAO/tests/BrepGeometryTest.cxx
src/XAO/tests/GeometryTest.cxx
src/XAO/tests/ImportExportTest.cxx
src/XAO/tests/XaoTest.cxx

index b02967dc930d19f6b9e5db356204e09a10dcf4cd..dc49a7dfb65f90be54741242d6901fa64111d7cd 100644 (file)
@@ -154,7 +154,7 @@ void GEOMImpl_IImportExportOperations::exportGroups(std::list<Handle(GEOM_Object
 
         TopAbs_ShapeEnum shapeGroup = m_groupOperations->GetType(currGroup);
         XAO::Dimension dim = shapeEnumToDimension(shapeGroup);
-        XAO::Group* group = xaoObject->addGroup(currGroup->GetName(), dim);
+        XAO::Group* group = xaoObject->addGroup(dim, currGroup->GetName());
 
         switch (shapeGroup)
         {
index 4454e01d6d854579419b56f8734d644a05ac3861..c0d1532c913afeefd3f2ada24c9fd7a2ee8cf4cf 100644 (file)
@@ -24,9 +24,9 @@
 
 using namespace XAO;
 
-BooleanField::BooleanField(const std::string& name, const XAO::Dimension& dimension,
-                           const int& nbElements, const int& nbComponents)
-    : Field(name, dimension, nbElements, nbComponents)
+BooleanField::BooleanField(const XAO::Dimension& dimension,
+                           const int& nbElements, const int& nbComponents, const std::string& name)
+    : Field(dimension, nbElements, nbComponents, name)
 {
 }
 
index 9a971e0aab4372122b43c4f2025f3035ec2d79e7..9860c46438abadc238573ef21bd9240d2ca29f68 100644 (file)
@@ -38,12 +38,12 @@ namespace XAO
     public:
         /**
          * Constructor.
-         * @param name the name of the field.
          * @param dimension the dimension of the field.
          * @param nbElements the number of elements.
          * @param nbComponents the number of components.
+         * @param name the name of the field.
          */
-        BooleanField(const std::string& name, const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents);
+        BooleanField(const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents, const std::string& name);
 
         virtual const XAO::Type getType() { return XAO::BOOLEAN; }
 
index 6eb315daa9c14a2a8424f2b12459fc696be77fa8..042f935f981bfc92ef5b343e5010b6d9c61dcd19 100644 (file)
@@ -49,7 +49,7 @@ BrepGeometry::BrepGeometry(const std::string& name) : Geometry(name)
 {
 }
 
-const std::string BrepGeometry::getShape()
+const std::string BrepGeometry::getShapeString()
 {
     std::ostringstream streamShape;
     BRepTools::Write(m_shape, streamShape);
@@ -59,7 +59,7 @@ const std::string BrepGeometry::getShape()
     return res;
 }
 
-void BrepGeometry::setShape(const std::string& shape)
+void BrepGeometry::setShapeString(const std::string& shape)
 {
     std::istringstream streamBrep(shape.c_str());
     BRep_Builder builder;
index 217faf8c763d8d8ef116166b37e8f5e647dd7ae8..a457b3a770345702b29fc7ac4a14d42aaaac4355 100644 (file)
@@ -49,6 +49,8 @@ namespace XAO
          */
         BrepGeometry(const std::string& name);
 
+        virtual ~BrepGeometry() {}
+
         /**
          * Gets the format of the geometry.
          * @return the format of the geometry.
@@ -59,13 +61,23 @@ namespace XAO
          * Gets the shape as a string.
          * @return the shape as a string.
          */
-        virtual const std::string getShape();
+        virtual const std::string getShapeString();
 
         /**
          * Sets the shape from a string.
          * @param shape the shape as a string.
          */
-        virtual void setShape(const std::string& shape);
+        virtual void setShapeString(const std::string& shape);
+
+#ifdef SWIG
+        %pythoncode %{
+        def setShape(self, shape):
+            if shape is not None and 'GetShapeStream' in dir(shape):
+                self.setShapeString(shape.GetShapeStream())
+            else:
+                raise XAO_Exception("Cannot set shape")
+        %}
+#endif
 
         /**
          * Gets the shape as a TopoDS_Shape.
index a8f96ad725ac3bead4d5e400d2ad37d3a3795f3b..b07ebabcaa0b957c0f7e3a526a2381e98f441583 100644 (file)
@@ -24,8 +24,8 @@
 
 using namespace XAO;
 
-DoubleField::DoubleField(const std::string& name, const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents)
-    : Field(name, dimension, nbElements, nbComponents)
+DoubleField::DoubleField(const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents, const std::string& name)
+    : Field(dimension, nbElements, nbComponents, name)
 {
 }
 
index 2ea44cf2769f89b104edcc937f4d4f607929c175..b622de51a50bec6d2da5b3ccee57e2fafbb158fb 100644 (file)
@@ -38,12 +38,12 @@ namespace XAO
     public:
         /**
          * Constructor.
-         * @param name the name of the field.
          * @param dimension the dimension of the field.
          * @param nbElements the number of elements.
          * @param nbComponents the number of components.
+         * @param name the name of the field.
          */
-        DoubleField(const std::string& name, const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents);
+        DoubleField(const XAO::Dimension& dimension, const int& nbElements, const int& nbComponentsconst, const std::string& name);
 
         virtual const XAO::Type getType() { return XAO::DOUBLE; }
 
index 17f2699ab14d10135e7353a8c00002ba344a4553..dce64a9677a028bea826f41bf784405904f64ea8 100644 (file)
@@ -38,6 +38,8 @@ namespace XAO
         {
         }
 
+        virtual ~XAO_Exception() throw() {};
+
         /**
          * Returns the error message.
          * @return the error message.
@@ -47,6 +49,16 @@ namespace XAO
             return m_message;
         }
 
+#ifdef SWIG
+        %extend
+        {
+          std::string __str__() const
+            {
+              return std::string(self->what());
+            }
+        }
+#endif
+
     private:
         const char* m_message;
     };
index 3a0c171d1144cec861d7f268bd86acc31cc612f2..a38105b0efd7fe10335fd82565c20ec75b5ec988 100644 (file)
@@ -33,8 +33,8 @@ using namespace XAO;
 
 // -------------------------------------------------------
 
-Field::Field(const std::string& name, const XAO::Dimension& dimension,
-        const int& nbElements, const int& nbComponents)
+Field::Field(const XAO::Dimension& dimension,
+        const int& nbElements, const int& nbComponents, const std::string& name)
     : m_name(name), m_dimension(dimension), m_nbElements(nbElements), m_nbComponents(nbComponents)
 {
     m_components.reserve(nbComponents);
@@ -49,24 +49,17 @@ Field::~Field()
 }
 
 Field* Field::createField(const XAO::Type& type, const XAO::Dimension& dimension,
-        const int& nbElements, const int& nbComponents)
-throw (XAO_Exception)
-{
-    return createField(type, "", dimension, nbElements, nbComponents);
-}
-
-Field* Field::createField(const XAO::Type& type, const std::string& name, const XAO::Dimension& dimension,
-        const int& nbElements, const int& nbComponents)
+        const int& nbElements, const int& nbComponents, const std::string& name)
 throw (XAO_Exception)
 {
     if (type == XAO::BOOLEAN)
-        return new BooleanField(name, dimension, nbElements, nbComponents);
+        return new BooleanField(dimension, nbElements, nbComponents, name);
     if (type == XAO::INTEGER)
-        return new IntegerField(name, dimension, nbElements, nbComponents);
+        return new IntegerField(dimension, nbElements, nbComponents, name);
     if (type == XAO::DOUBLE)
-        return new DoubleField(name, dimension, nbElements, nbComponents);
+        return new DoubleField(dimension, nbElements, nbComponents, name);
     if (type == XAO::STRING)
-        return new StringField(name, dimension, nbElements, nbComponents);
+        return new StringField(dimension, nbElements, nbComponents, name);
 
     throw XAO_Exception(MsgBuilder() << "Bad Type: " << type);
 }
@@ -121,7 +114,7 @@ throw (XAO_Exception)
         return;
 
     throw XAO_Exception(MsgBuilder() << "Step index is out of range [0, "
-                                     << m_nbComponents << "]: " << component);
+                                     << m_nbComponents-1 << "]: " << component);
 }
 
 void Field::checkStepIndex(const int& step)
@@ -131,5 +124,5 @@ throw (XAO_Exception)
         return;
 
     throw XAO_Exception(MsgBuilder() << "Step index is out of range [0, "
-                                     << m_steps.size() << "]: " << step);
+                                     << m_steps.size()-1 << "]: " << step);
 }
index d36987569799b75ed35f65f8d19c04940164d1a1..88e5f66ee9a1549b3c4f089f3b3e83f08f4ad77d 100644 (file)
@@ -40,39 +40,28 @@ namespace XAO
     protected:
         /**
          * Constructor.
-         * @param name the name of the field.
          * @param dimension the dimension ot the field.
          * @param nbElements the number of elements.
          * @param nbComponents the number of components.
+         * @param name the name of the field.
          */
-        Field(const std::string& name, const XAO::Dimension& dimension,
-              const int& nbElements, const int& nbComponents);
+        Field(const XAO::Dimension& dimension,
+              const int& nbElements, const int& nbComponents, const std::string& name);
 
     public:
-        /**
-         * Creates a Field of the given type.
-         * @param type the type of the field to create.
-         * @param dimension the dimension.
-         * @param nbElements the number of geometrical elements.
-         * @param nbComponents the number of components.
-         * @return the created field.
-         */
-        static Field* createField(const XAO::Type& type, const XAO::Dimension& dimension,
-                                  const int& nbElements, const int& nbComponents)
-        throw (XAO_Exception);
-
         /**
         /**
          * Creates a Field of the given type.
          * @param type the type of the field to create.
-         * @name the name of the field.
          * @param dimension the dimension.
          * @param nbElements the number of geometrical elements.
          * @param nbComponents the number of components.
+         * @name the name of the field.
          * @return the created field.
          */
-        static Field* createField(const XAO::Type& type, const std::string& name, const XAO::Dimension& dimension,
-                                  const int& nbElements, const int& nbComponents)
+        static Field* createField(const XAO::Type& type, const XAO::Dimension& dimension,
+                                  const int& nbElements, const int& nbComponents,
+                                  const std::string& name = std::string(""))
         throw (XAO_Exception);
 
         /**
index 6a77f534e24f5f5d44c3311608c7877ad318ce90..4e3de3096f9f9dbef8ab0b33064e0f277b85d2c6 100644 (file)
@@ -71,7 +71,8 @@ throw (XAO_Exception)
     if (m_count >= 0 && index < m_count)
         return;
 
-    throw XAO_Exception(MsgBuilder() << "Index of element is out of range [0, " << m_count<< "]: " << index);
+    throw XAO_Exception(MsgBuilder() << "Index of element is out of range [0, "
+                                     << m_count-1 << "]: " << index);
 }
 
 void GeometricElementList::setElement(const int& index, const std::string& name, const std::string& reference)
index 4cfc080efb3f1edcc42678232285e91f094b7e3a..12ca3101affd4226c130ccef3defe0fe562c9495 100644 (file)
@@ -43,6 +43,7 @@ namespace XAO
         Geometry(const std::string& name);
 
     public:
+
         /**
          * Creates a geometry.
          * @param format the format of the geometry.
@@ -60,7 +61,7 @@ namespace XAO
         throw (XAO_Exception);
 
         /** Destructor. */
-        ~Geometry();
+        virtual ~Geometry();
 
         /**
          * Gets the name of the geometry.
@@ -85,8 +86,8 @@ namespace XAO
          */
         virtual const XAO::Format getFormat() = 0;
 
-        virtual const std::string getShape() = 0;
-        virtual void setShape(const std::string& shape) = 0;
+        virtual const std::string getShapeString() = 0;
+        virtual void setShapeString(const std::string& shape) = 0;
 
         const int countElements(const XAO::Dimension& dim) const throw (XAO_Exception);
         const int countVertices() const { return m_vertices.getSize(); }
index 91ac36f899572272f2c3370ccd1afd6803c27f8c..50bdb272e272e8600e2f4dcfd4e30fefea25911e 100644 (file)
 using namespace XAO;
 
 
-Group::Group(const XAO::Dimension& dim, const int& nbElements)
-throw (XAO_Exception)
-{
-    initGroup("", dim, nbElements);
-}
-
-Group::Group(const std::string& name, const XAO::Dimension& dim, const int& nbElements)
-throw (XAO_Exception)
-{
-    initGroup(name, dim, nbElements);
-}
-
-void Group::initGroup(const std::string& name, const XAO::Dimension& dim, const int& nbElements)
+Group::Group(const XAO::Dimension& dim, const int& nbElements, const std::string& name)
 throw (XAO_Exception)
 {
     if (dim == XAO::WHOLE)
index 0625600d5b0da9f11f4a0f90cae58f0c94b0fa74..a5857f25e5b678c28d0809d7acdbb500af2506f2 100644 (file)
@@ -39,16 +39,10 @@ namespace XAO
          * Constructor.
          * @param dim the dimension of the group.
          * @param nbElements the number of geometrical elements for the dimension in the geometry.
+         * @param the name of the group.
          */
-        Group(const XAO::Dimension& dim, const int& nbElements) throw (XAO_Exception);
-
-        /**
-         * Constructor.
-         * @name the name of the group.
-         * @param dim the dimension of the group.
-         * @param nbElements the number of geometrical elements for the dimension in the geometry.
-         */
-        Group(const std::string& name, const XAO::Dimension& dim, const int& nbelements) throw (XAO_Exception);
+        Group(const XAO::Dimension& dim, const int& nbelements, const std::string& name = std::string(""))
+        throw (XAO_Exception);
 
         /**
          * Destructor.
@@ -138,15 +132,6 @@ namespace XAO
         std::set<int>::iterator end() { return m_elements.end(); }
 
     private:
-        /**
-         * Initialize the groups.
-         * @param name the name of the group.
-         * @param dim the dimension of the group.
-         * @param nbElements the number of elements in the geometry for the dimension.
-         */
-        void initGroup(const std::string& name, const XAO::Dimension& dim, const int& nbElements)
-        throw (XAO_Exception);
-
         /**
          * Ensures that the given element is valid.
          * @param element
index b7ac73c48e1d9eddbafc31b640b32ced34fbec41..2fc46ff5d83a1c47adbd1ea080a1ec56e87de0a4 100644 (file)
@@ -24,8 +24,8 @@
 
 using namespace XAO;
 
-IntegerField::IntegerField(const std::string& name, const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents)
-    : Field(name, dimension, nbElements, nbComponents)
+IntegerField::IntegerField(const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents, const std::string& name)
+    : Field(dimension, nbElements, nbComponents, name)
 {
 }
 
index e801c25bd83a0fd17c4765756c37af1f282679c2..9e33cb364fb6b8e845ce5a79d5bd4dda9b08316f 100644 (file)
@@ -38,12 +38,12 @@ namespace XAO
     public:
         /**
          * Constructor.
-         * @param name the name of the field.
          * @param dimension the dimension of the field.
          * @param nbElements the number of elements.
          * @param nbComponents the number of components.
+         * @param name the name of the field.
          */
-        IntegerField(const std::string& name, const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents);
+        IntegerField(const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents, const std::string& name);
 
         virtual const XAO::Type getType() { return XAO::INTEGER; }
 
index 1ea7136275f9d661cc12f08ea7d533a99f3166ff..26d8a4d06c1509dca02519b3e27ef8099a6ec7ae 100644 (file)
@@ -35,7 +35,7 @@ throw (XAO_Exception)
         return;
 
     throw XAO_Exception(MsgBuilder() << "Element index is out of range [0, "
-                                        << m_nbElements-1 << "]: " << element);
+                                     << m_nbElements-1 << "]: " << element);
 }
 
 void Step::checkComponentIndex(const int& component)
@@ -45,7 +45,7 @@ throw (XAO_Exception)
         return;
 
     throw XAO_Exception(MsgBuilder() << "Component index is out of range [0, "
-                                        << m_nbComponents-1 << "]: " << component);
+                                     << m_nbComponents-1 << "]: " << component);
 }
 
 void Step::checkNbElements(const int& nbElements)
index 07e8c708e16085d4fc21dcba824cc011eb8aea6e..b7b5aba6a317ab12131aa08797179bed30f15b38 100644 (file)
@@ -24,8 +24,8 @@
 
 using namespace XAO;
 
-StringField::StringField(const std::string& name, const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents)
-    : Field(name, dimension, nbElements, nbComponents)
+StringField::StringField(const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents, const std::string& name)
+    : Field(dimension, nbElements, nbComponents, name)
 {
 }
 
index 489f234590c7f1e3335402de72ead23a36826a66..b9adb690e4d84a901d5afe6fd11e5493cdce7a9e 100644 (file)
@@ -38,12 +38,12 @@ namespace XAO
     public:
         /**
          * Constructor.
-         * @param name the name of the field.
          * @param dimension the dimension of the field.
          * @param nbElements the number of elements.
          * @param nbComponents the number of components.
+         * @param name the name of the field.
          */
-        StringField(const std::string& name, const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents);
+        StringField(const XAO::Dimension& dimension, const int& nbElements, const int& nbComponents, const std::string& name);
 
         virtual const XAO::Type getType() { return XAO::STRING; }
 
index 61621db0b99e3090ed0f618b1433106d62a9baf5..2bff2edf74be9aa5021513cb6b9cd62bacac9834 100644 (file)
 //
 // Author : Nathalie Gore (OpenCascade), Frederic Pons (OpenCascade)
 
+#include <iostream>
 #include "XAO_XaoUtils.hxx"
 #include "XAO_Xao.hxx"
 #include "XAO_Geometry.hxx"
 #include "XAO_Group.hxx"
 #include "XAO_Field.hxx"
+#include "XAO_IntegerField.hxx"
 #include "XAO_XaoExporter.hxx"
 
 using namespace XAO;
@@ -82,19 +84,13 @@ throw (XAO_Exception)
     return NULL;
 }
 
-Group* Xao::addGroup(const XAO::Dimension& dim)
-throw (XAO_Exception)
-{
-    return addGroup("", dim);
-}
-
-Group* Xao::addGroup(const std::string& name, const XAO::Dimension& dim)
+Group* Xao::addGroup(const XAO::Dimension& dim, const std::string& name)
 throw (XAO_Exception)
 {
     checkGeometry();
     checkGroupDimension(dim);
 
-    Group* group = new Group(name, dim, m_geometry->countElements(dim));
+    Group* group = new Group(dim, m_geometry->countElements(dim), name);
     m_groups.push_back(group);
     return group;
 }
@@ -103,7 +99,15 @@ bool Xao::removeGroup(Group* group)
 {
     int nb = countGroups();
     m_groups.remove(group);
-    return (nb-1 == countGroups());
+
+    bool res = (nb-1 == countGroups());
+    if (res)
+    {
+        delete group;
+        group = NULL;
+    }
+
+    return res;
 }
 
 const int Xao::countFields() const
@@ -126,18 +130,12 @@ throw (XAO_Exception)
     return NULL;
 }
 
-Field* Xao::addField(const XAO::Type& type, const XAO::Dimension& dim, const int& nbComponents)
-throw (XAO_Exception)
-{
-    return addField(type, "", dim, nbComponents);
-}
-
-Field* Xao::addField(const XAO::Type& type, const std::string& name, const XAO::Dimension& dim, const int& nbComponents)
+Field* Xao::addField(const XAO::Type& type, const XAO::Dimension& dim, const int& nbComponents, const std::string& name)
 throw (XAO_Exception)
 {
     checkGeometry();
     int nbElts = m_geometry->countElements(dim);
-    Field* field = Field::createField(type, name, dim, nbElts, nbComponents);
+    Field* field = Field::createField(type, dim, nbElts, nbComponents, name);
     m_fields.push_back(field);
     return field;
 }
@@ -146,7 +144,15 @@ bool Xao::removeField(Field* field)
 {
     int nb = countFields();
     m_fields.remove(field);
-    return (nb-1 == countFields());
+
+    bool res = (nb-1 == countFields());
+    if (res)
+    {
+        delete field;
+        field = NULL;
+    }
+
+    return res;
 }
 
 const bool Xao::exportXAO(const std::string& fileName)
index a6685bc30dd3da92a6fbeed671bb464181cb0c37..241cf4cd756b410dd31e77dee4a88bf2921e8784 100644 (file)
@@ -130,16 +130,10 @@ namespace XAO
         /**
          * Adds a group.
          * \param dim the dimension of the group.
-         * \return the created group.
-         */
-        Group* addGroup(const XAO::Dimension& dim) throw (XAO_Exception);
-        /**
-         * Adds a group.
          * \param name the name of the group.
-         * \param dim the dimension of the group.
          * \return the created group.
          */
-        Group* addGroup(const std::string& name, const XAO::Dimension& dim) throw (XAO_Exception);
+        Group* addGroup(const XAO::Dimension& dim, const std::string& name = std::string("")) throw (XAO_Exception);
         /**
          * Removes a group.
          * \param group the group to remove.
@@ -162,25 +156,19 @@ namespace XAO
          * \return the field.
          */
         Field* getField(const int& index) throw (XAO_Exception);
+
         /**
          * Adds a field.
          * \param type the type of the field.
          * \param dim the dimension of the field.
          * \param nbComponents the number of components in the field.
-         * \return the created field.
-         */
-        Field* addField(const XAO::Type& type, const XAO::Dimension& dim, const int& nbComponents)
-        throw (XAO_Exception);
-        /**
-         * Adds a field.
-         * \param type the type of the field.
          * \param name the name of the field.
-         * \param dim the dimension of the field.
-         * \param nbComponents the number of components in the field.
          * \return the created field.
          */
-        Field* addField(const XAO::Type& type, const std::string& name, const XAO::Dimension& dim, const int& nbComponents)
+        Field* addField(const XAO::Type& type, const XAO::Dimension& dim, const int& nbComponents,
+                const std::string& name = std::string(""))
         throw (XAO_Exception);
+
         /**
          * Removes a field.
          * \param field the field to remove.
index cd68ec5c988d9379f82399778de8e8a301af2b4a..414f118cebfb06f13fdbc50a61b839857a8f72a1 100644 (file)
@@ -200,7 +200,7 @@ void XaoExporter::exportGeometry(Geometry* xaoGeometry, xmlDocPtr doc, xmlNodePt
 
     xmlNodePtr shape = xmlNewChild(geometry, 0, C_TAG_SHAPE, 0);
     xmlNewProp(shape, C_ATTR_SHAPE_FORMAT, BAD_CAST XaoUtils::shapeFormatToString(xaoGeometry->getFormat()).c_str());
-    std::string txtShape = xaoGeometry->getShape();
+    std::string txtShape = xaoGeometry->getShapeString();
     xmlNodePtr cdata = xmlNewCDataBlock(doc, BAD_CAST txtShape.c_str(), txtShape.size());
     xmlAddChild(shape, cdata);
 
@@ -386,7 +386,7 @@ void XaoExporter::parseShapeNode(xmlDocPtr doc, xmlNodePtr shapeNode, Geometry*
         xmlChar* data = xmlNodeGetContent(shapeNode->children);
         if (data == NULL)
             throw XAO_Exception("Missing BREP");
-        geometry->setShape((char*)data);
+        geometry->setShapeString((char*)data);
         xmlFree(data);
     }
     else
index 5718db52b558b0eb443c5a6f0f175973fdf1c042..cc82e0d2d95625037388c2087d57aad68e787a43 100644 (file)
@@ -174,6 +174,7 @@ namespace XAO
         /** Destructor. */
         ~MsgBuilder() {};
 
+#ifndef SWIG
         /** Stream operator. */
         template <typename T>
         MsgBuilder& operator <<(const T& t)
@@ -186,6 +187,7 @@ namespace XAO
          * Conversion operator to char*.
          */
         operator const char*() const   { return m_stream.str().c_str(); }
+#endif
 
     private :
         std::stringstream m_stream;
index 97761379a175d152468b2ce6ec135cb821e7504c..096676aad85b6a93690ca2f422554f64d78583c8 100644 (file)
@@ -23,7 +23,7 @@ void BrepGeometryTest::cleanUp()
 void readBrep(Geometry* geom, const std::string& fileName)
 {
     char* txt = TestUtils::readTextFile(TestUtils::getTestFilePath(fileName));
-    geom->setShape(txt);
+    geom->setShapeString(txt);
 }
 
 void BrepGeometryTest::testGetIDs()
index 9f27039c7e3cd83022ca6e8a86898d37d4b0522b..aa68e353beddcff5c0a9e9440785e259cb3b88c8 100644 (file)
@@ -117,7 +117,7 @@ void GeometryTest::testSetElement()
     CPPUNIT_ASSERT_THROW(geom->setVertexName(0, "aa"), XAO_Exception);
 
     char* txt = TestUtils::readTextFile(TestUtils::getTestFilePath("Box_1.brep"));
-    geom->setShape(txt);
+    geom->setShapeString(txt);
 
     CPPUNIT_ASSERT_EQUAL(false, geom->hasVertexName(0));
     geom->setVertexName(0, "va");
index b84f04eacbb5a316ce924a620f891dda1cdd8e79..3a7945af562a52d4113d4087228badcfbea8bdcf 100644 (file)
@@ -90,7 +90,7 @@ void ImportExportTest::testExportGeometry()
     group->add(1);
 
     // fields
-    IntegerField* field = (IntegerField*)xao.addField(XAO::INTEGER, "color", XAO::FACE, 2);
+    IntegerField* field = (IntegerField*)xao.addField(XAO::INTEGER, XAO::FACE, 2, "color");
     for (int stepIndex = 0; stepIndex < 10; ++stepIndex)
     {
         IntegerStep* istep = field->addStep(stepIndex, 100*stepIndex);
index 40cf5a09076b00b74758134c8d9baab503fb8949..6d1ed0a83d816e1d431f40fc602d826e3951fa2d 100644 (file)
@@ -33,15 +33,19 @@ void XaoTest::testGroups()
     CPPUNIT_ASSERT_EQUAL(XAO::FACE, gr->getDimension());
     CPPUNIT_ASSERT_EQUAL(1, obj.countGroups());
     Group* gr2 = obj.addGroup(XAO::FACE);
+    gr2->setName("AA");
 
     Group* agr = obj.getGroup(0);
     CPPUNIT_ASSERT(gr == agr);
     CPPUNIT_ASSERT_THROW(obj.getGroup(10), XAO_Exception);
 
     CPPUNIT_ASSERT_EQUAL(true, obj.removeGroup(gr2));
-    CPPUNIT_ASSERT(gr2 != NULL);
     CPPUNIT_ASSERT_EQUAL(1, obj.countGroups());
-    CPPUNIT_ASSERT_EQUAL(false, obj.removeGroup(gr2)); // remove again
+
+    // remove other group
+    Group* gr3 = new Group(XAO::FACE, 3);
+    CPPUNIT_ASSERT_EQUAL(false, obj.removeGroup(gr3));
+    delete gr3;
 }
 
 void XaoTest::testFields()
@@ -64,7 +68,10 @@ void XaoTest::testFields()
     CPPUNIT_ASSERT_THROW(obj.getField(10), XAO_Exception);
 
     CPPUNIT_ASSERT_EQUAL(true, obj.removeField(fb));
-    CPPUNIT_ASSERT(fb != NULL);
     CPPUNIT_ASSERT_EQUAL(3, obj.countFields());
-    CPPUNIT_ASSERT_EQUAL(false, obj.removeField(fb)); // remove again
+
+
+    Field* ff = Field::createField(XAO::INTEGER, XAO::FACE, 3, 3);
+    CPPUNIT_ASSERT_EQUAL(false, obj.removeField(ff));
+    delete ff;
 }