1 // Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 // SMESH SMESHDS : management of mesh data and SMESH document
24 // File : SMESH_Command.cxx
25 // Author : Yves FRICAUD, OCC
28 #include "SMESHDS_Command.hxx"
30 #include "utilities.h"
34 //=======================================================================
35 //function : Constructor
37 //=======================================================================
38 SMESHDS_Command::SMESHDS_Command(const SMESHDS_CommandType aType):myType(aType),
43 //=======================================================================
44 //function : Destructor
46 //=======================================================================
47 SMESHDS_Command::~SMESHDS_Command()
51 //=======================================================================
54 //=======================================================================
55 void SMESHDS_Command::AddNode(smIdType NewNodeID, double x, double y, double z)
57 if ( myType != SMESHDS_AddNode)
59 MESSAGE("SMESHDS_Command::AddNode : Bad Type");
62 myIntegers.push_back(NewNodeID);
69 //=======================================================================
72 //=======================================================================
73 void SMESHDS_Command::MoveNode(smIdType NodeID, double x, double y, double z)
75 if ( myType != SMESHDS_MoveNode)
77 MESSAGE("SMESHDS_Command::MoveNode : Bad Type");
80 myIntegers.push_back(NodeID);
87 //=======================================================================
90 //=======================================================================
91 void SMESHDS_Command::Add0DElement(smIdType New0DElementID, smIdType idnode)
93 if ( myType != SMESHDS_Add0DElement)
95 MESSAGE("SMESHDS_Command::Add0DElement : Bad Type");
98 myIntegers.push_back(New0DElementID);
99 myIntegers.push_back(idnode);
103 //=======================================================================
106 //=======================================================================
107 void SMESHDS_Command::AddEdge(smIdType NewEdgeID, smIdType idnode1, smIdType idnode2)
109 if ( myType != SMESHDS_AddEdge)
111 MESSAGE("SMESHDS_Command::AddEdge : Bad Type");
114 myIntegers.push_back(NewEdgeID);
115 myIntegers.push_back(idnode1);
116 myIntegers.push_back(idnode2);
120 //=======================================================================
123 //=======================================================================
124 void SMESHDS_Command::AddFace(smIdType NewFaceID,
125 smIdType idnode1, smIdType idnode2, smIdType idnode3)
127 if ( myType != SMESHDS_AddTriangle)
129 MESSAGE("SMESHDS_Command::AddFace : Bad Type");
132 myIntegers.push_back(NewFaceID);
133 myIntegers.push_back(idnode1);
134 myIntegers.push_back(idnode2);
135 myIntegers.push_back(idnode3);
139 //=======================================================================
142 //=======================================================================
143 void SMESHDS_Command::AddFace(smIdType NewFaceID,
144 smIdType idnode1, smIdType idnode2, smIdType idnode3, smIdType idnode4)
146 if ( myType != SMESHDS_AddQuadrangle)
148 MESSAGE("SMESHDS_Command::AddFace : Bad Type");
151 myIntegers.push_back(NewFaceID);
152 myIntegers.push_back(idnode1);
153 myIntegers.push_back(idnode2);
154 myIntegers.push_back(idnode3);
155 myIntegers.push_back(idnode4);
159 //=======================================================================
162 //=======================================================================
163 void SMESHDS_Command::AddVolume(smIdType NewVolID,
164 smIdType idnode1, smIdType idnode2, smIdType idnode3, smIdType idnode4)
166 if ( myType != SMESHDS_AddTetrahedron)
168 MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
171 myIntegers.push_back(NewVolID);
172 myIntegers.push_back(idnode1);
173 myIntegers.push_back(idnode2);
174 myIntegers.push_back(idnode3);
175 myIntegers.push_back(idnode4);
179 //=======================================================================
182 //=======================================================================
183 void SMESHDS_Command::AddVolume(smIdType NewVolID,
184 smIdType idnode1, smIdType idnode2, smIdType idnode3, smIdType idnode4, smIdType idnode5)
186 if ( myType != SMESHDS_AddPyramid)
188 MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
191 myIntegers.push_back(NewVolID);
192 myIntegers.push_back(idnode1);
193 myIntegers.push_back(idnode2);
194 myIntegers.push_back(idnode3);
195 myIntegers.push_back(idnode4);
196 myIntegers.push_back(idnode5);
200 //=======================================================================
203 //=======================================================================
204 void SMESHDS_Command::AddVolume(smIdType NewVolID,
206 smIdType idnode2, smIdType idnode3, smIdType idnode4, smIdType idnode5, smIdType idnode6)
208 if ( myType != SMESHDS_AddPrism)
210 MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
213 myIntegers.push_back(NewVolID);
214 myIntegers.push_back(idnode1);
215 myIntegers.push_back(idnode2);
216 myIntegers.push_back(idnode3);
217 myIntegers.push_back(idnode4);
218 myIntegers.push_back(idnode5);
219 myIntegers.push_back(idnode6);
223 //=======================================================================
226 //=======================================================================
227 void SMESHDS_Command::AddVolume(smIdType NewVolID,
231 smIdType idnode4, smIdType idnode5, smIdType idnode6, smIdType idnode7, smIdType idnode8)
233 if ( myType != SMESHDS_AddHexahedron)
235 MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
238 myIntegers.push_back(NewVolID);
239 myIntegers.push_back(idnode1);
240 myIntegers.push_back(idnode2);
241 myIntegers.push_back(idnode3);
242 myIntegers.push_back(idnode4);
243 myIntegers.push_back(idnode5);
244 myIntegers.push_back(idnode6);
245 myIntegers.push_back(idnode7);
246 myIntegers.push_back(idnode8);
250 void SMESHDS_Command::AddVolume(smIdType NewVolID,
251 smIdType idnode1,smIdType idnode2,smIdType idnode3,smIdType idnode4,
252 smIdType idnode5, smIdType idnode6, smIdType idnode7, smIdType idnode8,
253 smIdType idnode9, smIdType idnode10, smIdType idnode11, smIdType idnode12)
255 if (myType != SMESHDS_AddHexagonalPrism)
257 MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
260 myIntegers.push_back(NewVolID);
261 myIntegers.push_back(idnode1);
262 myIntegers.push_back(idnode2);
263 myIntegers.push_back(idnode3);
264 myIntegers.push_back(idnode4);
265 myIntegers.push_back(idnode5);
266 myIntegers.push_back(idnode6);
267 myIntegers.push_back(idnode7);
268 myIntegers.push_back(idnode8);
269 myIntegers.push_back(idnode9);
270 myIntegers.push_back(idnode10);
271 myIntegers.push_back(idnode11);
272 myIntegers.push_back(idnode12);
276 //=======================================================================
277 //function : AddPolygonalFace
279 //=======================================================================
280 void SMESHDS_Command::AddPolygonalFace (const smIdType ElementID,
281 const std::vector<smIdType>& nodes_ids)
283 if ( myType != SMESHDS_AddPolygon) {
284 MESSAGE("SMESHDS_Command::AddPolygonalFace : Bad Type");
287 myIntegers.push_back(ElementID);
289 smIdType i, nbNodes = nodes_ids.size();
290 myIntegers.push_back(nbNodes);
291 for (i = 0; i < nbNodes; i++) {
292 myIntegers.push_back(nodes_ids[i]);
298 //=======================================================================
299 //function : AddQuadPolygonalFace
301 //=======================================================================
302 void SMESHDS_Command::AddQuadPolygonalFace (const smIdType ElementID,
303 const std::vector<smIdType>& nodes_ids)
305 if ( myType != SMESHDS_AddQuadPolygon) {
306 MESSAGE("SMESHDS_Command::AddQuadraticPolygonalFace : Bad Type");
309 myIntegers.push_back(ElementID);
311 smIdType i, nbNodes = nodes_ids.size();
312 myIntegers.push_back(nbNodes);
313 for (i = 0; i < nbNodes; i++) {
314 myIntegers.push_back(nodes_ids[i]);
320 //=======================================================================
321 //function : AddPolyhedralVolume
323 //=======================================================================
324 void SMESHDS_Command::AddPolyhedralVolume (const smIdType ElementID,
325 const std::vector<smIdType>& nodes_ids,
326 const std::vector<int>& quantities)
328 if ( myType != SMESHDS_AddPolyhedron) {
329 MESSAGE("SMESHDS_Command::AddPolyhedralVolume : Bad Type");
332 myIntegers.push_back(ElementID);
334 smIdType i, nbNodes = nodes_ids.size();
335 myIntegers.push_back(nbNodes);
336 for (i = 0; i < nbNodes; i++) {
337 myIntegers.push_back(nodes_ids[i]);
340 smIdType nbFaces = quantities.size();
341 myIntegers.push_back(nbFaces);
342 for (i = 0; i < nbFaces; i++) {
343 myIntegers.push_back(quantities[i]);
349 //=======================================================================
352 //=======================================================================
353 void SMESHDS_Command::RemoveNode(smIdType NodeID)
355 if ( myType != SMESHDS_RemoveNode)
357 MESSAGE("SMESHDS_Command::RemoveNode : Bad Type");
360 myIntegers.push_back(NodeID);
364 //=======================================================================
367 //=======================================================================
368 void SMESHDS_Command::RemoveElement(smIdType ElementID)
370 if ( myType != SMESHDS_RemoveElement)
372 MESSAGE("SMESHDS_Command::RemoveElement : Bad Type");
375 myIntegers.push_back(ElementID);
379 //=======================================================================
380 //function : ChangeElementNodes
382 //=======================================================================
384 void SMESHDS_Command::ChangeElementNodes(smIdType ElementID, smIdType nodes[], smIdType nbnodes)
386 if ( myType != SMESHDS_ChangeElementNodes)
388 MESSAGE("SMESHDS_Command::ChangeElementNodes : Bad Type");
391 myIntegers.push_back(ElementID);
392 myIntegers.push_back(nbnodes);
393 for ( smIdType i = 0; i < nbnodes; i++ )
394 myIntegers.push_back( nodes[ i ] );
399 //=======================================================================
400 //function : ChangePolyhedronNodes
402 //=======================================================================
403 void SMESHDS_Command::ChangePolyhedronNodes (const smIdType ElementID,
404 const std::vector<smIdType>& nodes_ids,
405 const std::vector<int>& quantities)
407 if (myType != SMESHDS_ChangePolyhedronNodes)
409 MESSAGE("SMESHDS_Command::ChangePolyhedronNodes : Bad Type");
412 myIntegers.push_back(ElementID);
414 smIdType i, nbNodes = nodes_ids.size();
415 myIntegers.push_back(nbNodes);
416 for (i = 0; i < nbNodes; i++) {
417 myIntegers.push_back(nodes_ids[i]);
420 int nbFaces = quantities.size();
421 myIntegers.push_back(nbFaces);
422 for (i = 0; i < nbFaces; i++) {
423 myIntegers.push_back(quantities[i]);
429 //=======================================================================
430 //function : Renumber
432 //=======================================================================
434 void SMESHDS_Command::Renumber (const bool isNodes, const smIdType startID, const smIdType deltaID)
436 if ( myType != SMESHDS_Renumber)
438 MESSAGE("SMESHDS_Command::Renumber : Bad Type");
441 myIntegers.push_back(isNodes);
442 myIntegers.push_back(startID);
443 myIntegers.push_back(deltaID);
447 //=======================================================================
450 //=======================================================================
451 SMESHDS_CommandType SMESHDS_Command::GetType()
456 //=======================================================================
459 //=======================================================================
460 smIdType SMESHDS_Command::GetNumber()
465 //=======================================================================
468 //=======================================================================
469 const list < smIdType >&SMESHDS_Command::GetIndexes()
474 //=======================================================================
477 //=======================================================================
478 const list < double >&SMESHDS_Command::GetCoords()
484 //********************************************************************
485 //***** Methods for quadratic elements ******
486 //********************************************************************
488 //=======================================================================
491 //=======================================================================
492 void SMESHDS_Command::AddEdge(smIdType NewEdgeID, smIdType n1, smIdType n2, smIdType n12)
494 if ( myType != SMESHDS_AddQuadEdge) {
495 MESSAGE("SMESHDS_Command::AddEdge : Bad Type");
498 myIntegers.push_back(NewEdgeID);
499 myIntegers.push_back(n1);
500 myIntegers.push_back(n2);
501 myIntegers.push_back(n12);
505 //=======================================================================
508 //=======================================================================
509 void SMESHDS_Command::AddFace(smIdType NewFaceID,
510 smIdType n1, smIdType n2, smIdType n3,
511 smIdType n12, smIdType n23, smIdType n31)
513 if ( myType != SMESHDS_AddQuadTriangle) {
514 MESSAGE("SMESHDS_Command::AddFace : Bad Type");
517 myIntegers.push_back(NewFaceID);
518 myIntegers.push_back(n1);
519 myIntegers.push_back(n2);
520 myIntegers.push_back(n3);
521 myIntegers.push_back(n12);
522 myIntegers.push_back(n23);
523 myIntegers.push_back(n31);
527 //=======================================================================
530 //=======================================================================
531 void SMESHDS_Command::AddFace(smIdType NewFaceID,
532 smIdType n1, smIdType n2, smIdType n3,
533 smIdType n12, smIdType n23, smIdType n31, smIdType nCenter)
535 if ( myType != SMESHDS_AddBiQuadTriangle) {
536 MESSAGE("SMESHDS_Command::AddFace : Bad Type");
539 myIntegers.push_back(NewFaceID);
540 myIntegers.push_back(n1);
541 myIntegers.push_back(n2);
542 myIntegers.push_back(n3);
543 myIntegers.push_back(n12);
544 myIntegers.push_back(n23);
545 myIntegers.push_back(n31);
546 myIntegers.push_back(nCenter);
550 //=======================================================================
553 //=======================================================================
554 void SMESHDS_Command::AddFace(smIdType NewFaceID,
555 smIdType n1, smIdType n2, smIdType n3, smIdType n4,
556 smIdType n12, smIdType n23, smIdType n34, smIdType n41)
558 if ( myType != SMESHDS_AddQuadQuadrangle) {
559 MESSAGE("SMESHDS_Command::AddFace : Bad Type");
562 myIntegers.push_back(NewFaceID);
563 myIntegers.push_back(n1);
564 myIntegers.push_back(n2);
565 myIntegers.push_back(n3);
566 myIntegers.push_back(n4);
567 myIntegers.push_back(n12);
568 myIntegers.push_back(n23);
569 myIntegers.push_back(n34);
570 myIntegers.push_back(n41);
574 //=======================================================================
577 //=======================================================================
578 void SMESHDS_Command::AddFace(smIdType NewFaceID,
579 smIdType n1, smIdType n2, smIdType n3, smIdType n4,
580 smIdType n12, smIdType n23, smIdType n34, smIdType n41, smIdType nCenter)
582 if (myType != SMESHDS_AddBiQuadQuadrangle) {
583 MESSAGE("SMESHDS_Command::AddFace : Bad Type");
586 myIntegers.push_back(NewFaceID);
587 myIntegers.push_back(n1);
588 myIntegers.push_back(n2);
589 myIntegers.push_back(n3);
590 myIntegers.push_back(n4);
591 myIntegers.push_back(n12);
592 myIntegers.push_back(n23);
593 myIntegers.push_back(n34);
594 myIntegers.push_back(n41);
595 myIntegers.push_back(nCenter);
599 //=======================================================================
600 //function : AddVolume
602 //=======================================================================
603 void SMESHDS_Command::AddVolume(smIdType NewVolID, smIdType n1, smIdType n2, smIdType n3, smIdType n4,
604 smIdType n12, smIdType n23, smIdType n31,
605 smIdType n14, smIdType n24, smIdType n34)
607 if ( myType != SMESHDS_AddQuadTetrahedron) {
608 MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
611 myIntegers.push_back(NewVolID);
612 myIntegers.push_back(n1);
613 myIntegers.push_back(n2);
614 myIntegers.push_back(n3);
615 myIntegers.push_back(n4);
616 myIntegers.push_back(n12);
617 myIntegers.push_back(n23);
618 myIntegers.push_back(n31);
619 myIntegers.push_back(n14);
620 myIntegers.push_back(n24);
621 myIntegers.push_back(n34);
625 //=======================================================================
626 //function : AddVolume
628 //=======================================================================
629 void SMESHDS_Command::AddVolume(smIdType NewVolID, smIdType n1, smIdType n2,
630 smIdType n3, smIdType n4, smIdType n5,
631 smIdType n12, smIdType n23, smIdType n34, smIdType n41,
632 smIdType n15, smIdType n25, smIdType n35, smIdType n45)
634 if ( myType != SMESHDS_AddQuadPyramid) {
635 MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
638 myIntegers.push_back(NewVolID);
639 myIntegers.push_back(n1);
640 myIntegers.push_back(n2);
641 myIntegers.push_back(n3);
642 myIntegers.push_back(n4);
643 myIntegers.push_back(n5);
644 myIntegers.push_back(n12);
645 myIntegers.push_back(n23);
646 myIntegers.push_back(n34);
647 myIntegers.push_back(n41);
648 myIntegers.push_back(n15);
649 myIntegers.push_back(n25);
650 myIntegers.push_back(n35);
651 myIntegers.push_back(n45);
655 //=======================================================================
656 //function : AddVolume
658 //=======================================================================
659 void SMESHDS_Command::AddVolume(smIdType NewVolID, smIdType n1, smIdType n2,
660 smIdType n3, smIdType n4, smIdType n5,smIdType n6,
661 smIdType n12, smIdType n23, smIdType n31,
662 smIdType n45, smIdType n56, smIdType n64,
663 smIdType n14, smIdType n25, smIdType n36)
665 if ( myType != SMESHDS_AddQuadPentahedron) {
666 MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
669 myIntegers.push_back(NewVolID);
670 myIntegers.push_back(n1);
671 myIntegers.push_back(n2);
672 myIntegers.push_back(n3);
673 myIntegers.push_back(n4);
674 myIntegers.push_back(n5);
675 myIntegers.push_back(n6);
676 myIntegers.push_back(n12);
677 myIntegers.push_back(n23);
678 myIntegers.push_back(n31);
679 myIntegers.push_back(n45);
680 myIntegers.push_back(n56);
681 myIntegers.push_back(n64);
682 myIntegers.push_back(n14);
683 myIntegers.push_back(n25);
684 myIntegers.push_back(n36);
687 //=======================================================================
688 //function : AddVolume
690 //=======================================================================
691 void SMESHDS_Command::AddVolume(smIdType NewVolID, smIdType n1, smIdType n2,
692 smIdType n3, smIdType n4, smIdType n5,smIdType n6,
693 smIdType n12, smIdType n23, smIdType n31,
694 smIdType n45, smIdType n56, smIdType n64,
695 smIdType n14, smIdType n25, smIdType n36,
696 smIdType n1245, smIdType n2356, smIdType n1346)
698 if ( myType != SMESHDS_AddBiQuadPentahedron) {
699 MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
702 myIntegers.push_back(NewVolID);
703 myIntegers.push_back(n1);
704 myIntegers.push_back(n2);
705 myIntegers.push_back(n3);
706 myIntegers.push_back(n4);
707 myIntegers.push_back(n5);
708 myIntegers.push_back(n6);
709 myIntegers.push_back(n12);
710 myIntegers.push_back(n23);
711 myIntegers.push_back(n31);
712 myIntegers.push_back(n45);
713 myIntegers.push_back(n56);
714 myIntegers.push_back(n64);
715 myIntegers.push_back(n14);
716 myIntegers.push_back(n25);
717 myIntegers.push_back(n36);
718 myIntegers.push_back(n1245);
719 myIntegers.push_back(n2356);
720 myIntegers.push_back(n1346);
725 //=======================================================================
726 //function : AddVolume
728 //=======================================================================
729 void SMESHDS_Command::AddVolume(smIdType NewVolID, smIdType n1, smIdType n2, smIdType n3,
730 smIdType n4, smIdType n5, smIdType n6, smIdType n7, smIdType n8,
731 smIdType n12, smIdType n23, smIdType n34, smIdType n41,
732 smIdType n56, smIdType n67, smIdType n78, smIdType n85,
733 smIdType n15, smIdType n26, smIdType n37, smIdType n48)
735 if ( myType != SMESHDS_AddQuadHexahedron) {
736 MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
739 myIntegers.push_back(NewVolID);
740 myIntegers.push_back(n1);
741 myIntegers.push_back(n2);
742 myIntegers.push_back(n3);
743 myIntegers.push_back(n4);
744 myIntegers.push_back(n5);
745 myIntegers.push_back(n6);
746 myIntegers.push_back(n7);
747 myIntegers.push_back(n8);
748 myIntegers.push_back(n12);
749 myIntegers.push_back(n23);
750 myIntegers.push_back(n34);
751 myIntegers.push_back(n41);
752 myIntegers.push_back(n56);
753 myIntegers.push_back(n67);
754 myIntegers.push_back(n78);
755 myIntegers.push_back(n85);
756 myIntegers.push_back(n15);
757 myIntegers.push_back(n26);
758 myIntegers.push_back(n37);
759 myIntegers.push_back(n48);
763 //=======================================================================
764 //function : AddVolume
766 //=======================================================================
767 void SMESHDS_Command::AddVolume(smIdType NewVolID, smIdType n1, smIdType n2, smIdType n3,
768 smIdType n4, smIdType n5, smIdType n6, smIdType n7, smIdType n8,
769 smIdType n12, smIdType n23, smIdType n34, smIdType n41,
770 smIdType n56, smIdType n67, smIdType n78, smIdType n85,
771 smIdType n15, smIdType n26, smIdType n37, smIdType n48,
772 smIdType n1234,smIdType n1256,smIdType n2367,smIdType n3478,
773 smIdType n1458,smIdType n5678,smIdType nCenter)
775 if ( myType != SMESHDS_AddTriQuadHexa) {
776 MESSAGE("SMESHDS_Command::AddVolume : Bad Type");
779 myIntegers.push_back(NewVolID);
780 myIntegers.push_back(n1);
781 myIntegers.push_back(n2);
782 myIntegers.push_back(n3);
783 myIntegers.push_back(n4);
784 myIntegers.push_back(n5);
785 myIntegers.push_back(n6);
786 myIntegers.push_back(n7);
787 myIntegers.push_back(n8);
788 myIntegers.push_back(n12);
789 myIntegers.push_back(n23);
790 myIntegers.push_back(n34);
791 myIntegers.push_back(n41);
792 myIntegers.push_back(n56);
793 myIntegers.push_back(n67);
794 myIntegers.push_back(n78);
795 myIntegers.push_back(n85);
796 myIntegers.push_back(n15);
797 myIntegers.push_back(n26);
798 myIntegers.push_back(n37);
799 myIntegers.push_back(n48);
800 myIntegers.push_back(n1234);
801 myIntegers.push_back(n1256);
802 myIntegers.push_back(n2367);
803 myIntegers.push_back(n3478);
804 myIntegers.push_back(n1458);
805 myIntegers.push_back(n5678);
806 myIntegers.push_back(nCenter);
810 //================================================================================
812 * \brief Record adding a Ball
814 //================================================================================
816 void SMESHDS_Command::AddBall(smIdType NewBallID, smIdType node, double diameter)
818 if ( myType != SMESHDS_AddBall)
820 MESSAGE("SMESHDS_Command::SMESHDS_AddBall : Bad Type");
823 myIntegers.push_back(NewBallID);
824 myIntegers.push_back(node);
825 myReals.push_back(diameter);