mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-15 01:58:36 +05:00
Bug 0020230: Memory performance improvement.
This commit is contained in:
parent
84e1f83f51
commit
30418b8db8
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#ifdef WNT
|
#ifdef WNT
|
||||||
#pragma warning( disable:4786 )
|
#pragma warning( disable:4786 )
|
||||||
#endif
|
#endif
|
||||||
@ -1230,8 +1230,10 @@ GEOM::GEOM_IGroupOperations_ptr GEOM_Gen_i::GetIGroupOperations(CORBA::Long theS
|
|||||||
GEOM::GEOM_Object_ptr GEOM_Gen_i::AddSubShape (GEOM::GEOM_Object_ptr theMainShape,
|
GEOM::GEOM_Object_ptr GEOM_Gen_i::AddSubShape (GEOM::GEOM_Object_ptr theMainShape,
|
||||||
const GEOM::ListOfLong& theIndices)
|
const GEOM::ListOfLong& theIndices)
|
||||||
{
|
{
|
||||||
if(theMainShape == NULL || theIndices.length() < 1) return GEOM::GEOM_Object::_nil();
|
if (CORBA::is_nil(theMainShape) || theIndices.length() < 1)
|
||||||
Handle(GEOM_Object) aMainsShape = _impl->GetObject(theMainShape->GetStudyID(), theMainShape->GetEntry());
|
return GEOM::GEOM_Object::_nil();
|
||||||
|
CORBA::String_var entry = theMainShape->GetEntry();
|
||||||
|
Handle(GEOM_Object) aMainsShape = _impl->GetObject(theMainShape->GetStudyID(), entry);
|
||||||
if (aMainsShape.IsNull()) return GEOM::GEOM_Object::_nil();
|
if (aMainsShape.IsNull()) return GEOM::GEOM_Object::_nil();
|
||||||
|
|
||||||
Handle(TColStd_HArray1OfInteger) anArray = new TColStd_HArray1OfInteger(1, theIndices.length());
|
Handle(TColStd_HArray1OfInteger) anArray = new TColStd_HArray1OfInteger(1, theIndices.length());
|
||||||
@ -1291,7 +1293,7 @@ GEOM::GEOM_Object_ptr GEOM_Gen_i::GetObject (CORBA::Long theStudyID, const char*
|
|||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var obj;
|
GEOM::GEOM_Object_var obj;
|
||||||
Handle(GEOM_Object) handle_object = _impl->GetObject(theStudyID, (char*)theEntry);
|
Handle(GEOM_Object) handle_object = _impl->GetObject(theStudyID, (char*)theEntry);
|
||||||
if (handle_object.IsNull()) return NULL;
|
if (handle_object.IsNull()) return obj._retn();
|
||||||
|
|
||||||
TCollection_AsciiString stringIOR = handle_object->GetIOR();
|
TCollection_AsciiString stringIOR = handle_object->GetIOR();
|
||||||
if (stringIOR.Length() > 1) {
|
if (stringIOR.Length() > 1) {
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#include <Standard_Stream.hxx>
|
#include <Standard_Stream.hxx>
|
||||||
|
|
||||||
#include "GEOM_I3DPrimOperations_i.hh"
|
#include "GEOM_I3DPrimOperations_i.hh"
|
||||||
@ -58,19 +58,19 @@ GEOM_I3DPrimOperations_i::~GEOM_I3DPrimOperations_i()
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeBoxDXDYDZ (CORBA::Double theDX,
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeBoxDXDYDZ (CORBA::Double theDX,
|
||||||
CORBA::Double theDY,
|
CORBA::Double theDY,
|
||||||
CORBA::Double theDZ)
|
CORBA::Double theDZ)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
//Create the Box
|
//Create the Box
|
||||||
Handle(GEOM_Object) anObject = GetOperations()->MakeBoxDXDYDZ(theDX, theDY, theDZ);
|
Handle(GEOM_Object) anObject = GetOperations()->MakeBoxDXDYDZ(theDX, theDY, theDZ);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
return GetObject(anObject);
|
return GetObject(anObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,13 +87,8 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeBoxTwoPnt
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt1 == NULL || thePnt2 == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aPnt1 = GetObjectImpl(thePnt1);
|
||||||
|
Handle(GEOM_Object) aPnt2 = GetObjectImpl(thePnt2);
|
||||||
//Get the reference points
|
|
||||||
Handle(GEOM_Object) aPnt1 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt1->GetStudyID(), thePnt1->GetEntry());
|
|
||||||
Handle(GEOM_Object) aPnt2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt2->GetStudyID(), thePnt2->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt1.IsNull() || aPnt2.IsNull()) return aGEOMObject._retn();
|
if (aPnt1.IsNull() || aPnt2.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -111,7 +106,7 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeBoxTwoPnt
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeCylinderRH (CORBA::Double theR,
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeCylinderRH (CORBA::Double theR,
|
||||||
CORBA::Double theH)
|
CORBA::Double theH)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -133,20 +128,16 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeCylinderRH (CORBA::Double th
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeCylinderPntVecRH
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeCylinderPntVecRH
|
||||||
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
||||||
CORBA::Double theR, CORBA::Double theH)
|
CORBA::Double theR, CORBA::Double theH)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt == NULL || theVec == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
|
||||||
(thePnt->GetStudyID(), thePnt->GetEntry());
|
Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
|
||||||
Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theVec->GetStudyID(), theVec->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -164,8 +155,8 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeCylinderPntVecRH
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeConeR1R2H (CORBA::Double theR1,
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeConeR1R2H (CORBA::Double theR1,
|
||||||
CORBA::Double theR2,
|
CORBA::Double theR2,
|
||||||
CORBA::Double theH)
|
CORBA::Double theH)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -187,20 +178,16 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeConeR1R2H (CORBA::Double the
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeConePntVecR1R2H
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeConePntVecR1R2H
|
||||||
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
||||||
CORBA::Double theR1, CORBA::Double theR2, CORBA::Double theH)
|
CORBA::Double theR1, CORBA::Double theR2, CORBA::Double theH)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt == NULL || theVec == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
|
||||||
(thePnt->GetStudyID(), thePnt->GetEntry());
|
Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
|
||||||
Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theVec->GetStudyID(), theVec->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -246,18 +233,14 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeSpherePntR
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference point
|
//Get the reference point
|
||||||
CORBA::String_var entry=thePnt->GetEntry();
|
Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
|
||||||
Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt->GetStudyID(), entry);
|
|
||||||
|
|
||||||
if (aPnt.IsNull()) return aGEOMObject._retn();
|
if (aPnt.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Sphere
|
//Create the Sphere
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakeSpherePntR(aPnt, theR);
|
GetOperations()->MakeSpherePntR(aPnt, theR);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -293,20 +276,16 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeTorusRR
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeTorusPntVecRR
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeTorusPntVecRR
|
||||||
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
||||||
CORBA::Double theRMajor, CORBA::Double theRMinor)
|
CORBA::Double theRMajor, CORBA::Double theRMinor)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt == NULL || theVec == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
|
||||||
(thePnt->GetStudyID(), thePnt->GetEntry());
|
Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
|
||||||
Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theVec->GetStudyID(), theVec->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -326,20 +305,16 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeTorusPntVecRR
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismVecH
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismVecH
|
||||||
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theVec,
|
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theVec,
|
||||||
CORBA::Double theH)
|
CORBA::Double theH)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theBase == NULL || theVec == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
|
||||||
(theBase->GetStudyID(), theBase->GetEntry());
|
Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
|
||||||
Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theVec->GetStudyID(), theVec->GetEntry());
|
|
||||||
|
|
||||||
if (aBase.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
if (aBase.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -359,20 +334,16 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismVecH
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismVecH2Ways
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismVecH2Ways
|
||||||
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theVec,
|
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theVec,
|
||||||
CORBA::Double theH)
|
CORBA::Double theH)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theBase == NULL || theVec == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
|
||||||
(theBase->GetStudyID(), theBase->GetEntry());
|
Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
|
||||||
Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theVec->GetStudyID(), theVec->GetEntry());
|
|
||||||
|
|
||||||
if (aBase.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
if (aBase.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -392,24 +363,18 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismVecH2Ways
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismTwoPnt
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismTwoPnt
|
||||||
(GEOM::GEOM_Object_ptr theBase,
|
(GEOM::GEOM_Object_ptr theBase,
|
||||||
GEOM::GEOM_Object_ptr thePoint1,
|
GEOM::GEOM_Object_ptr thePoint1,
|
||||||
GEOM::GEOM_Object_ptr thePoint2)
|
GEOM::GEOM_Object_ptr thePoint2)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theBase == NULL || thePoint1 == NULL || thePoint2 == NULL)
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
|
||||||
(theBase->GetStudyID(), theBase->GetEntry());
|
Handle(GEOM_Object) aPoint1 = GetObjectImpl(thePoint1);
|
||||||
Handle(GEOM_Object) aPoint1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPoint2 = GetObjectImpl(thePoint2);
|
||||||
(thePoint1->GetStudyID(), thePoint1->GetEntry());
|
|
||||||
Handle(GEOM_Object) aPoint2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoint2->GetStudyID(), thePoint2->GetEntry());
|
|
||||||
|
|
||||||
if (aBase.IsNull() || aPoint1.IsNull() || aPoint2.IsNull())
|
if (aBase.IsNull() || aPoint1.IsNull() || aPoint2.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
@ -430,24 +395,18 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismTwoPnt
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismTwoPnt2Ways
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismTwoPnt2Ways
|
||||||
(GEOM::GEOM_Object_ptr theBase,
|
(GEOM::GEOM_Object_ptr theBase,
|
||||||
GEOM::GEOM_Object_ptr thePoint1,
|
GEOM::GEOM_Object_ptr thePoint1,
|
||||||
GEOM::GEOM_Object_ptr thePoint2)
|
GEOM::GEOM_Object_ptr thePoint2)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theBase == NULL || thePoint1 == NULL || thePoint2 == NULL)
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
|
||||||
(theBase->GetStudyID(), theBase->GetEntry());
|
Handle(GEOM_Object) aPoint1 = GetObjectImpl(thePoint1);
|
||||||
Handle(GEOM_Object) aPoint1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPoint2 = GetObjectImpl(thePoint2);
|
||||||
(thePoint1->GetStudyID(), thePoint1->GetEntry());
|
|
||||||
Handle(GEOM_Object) aPoint2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoint2->GetStudyID(), thePoint2->GetEntry());
|
|
||||||
|
|
||||||
if (aBase.IsNull() || aPoint1.IsNull() || aPoint2.IsNull())
|
if (aBase.IsNull() || aPoint1.IsNull() || aPoint2.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
@ -474,13 +433,9 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipe
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theBase == NULL || thePath == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
|
||||||
(theBase->GetStudyID(), theBase->GetEntry());
|
Handle(GEOM_Object) aPath = GetObjectImpl(thePath);
|
||||||
Handle(GEOM_Object) aPath = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePath->GetStudyID(), thePath->GetEntry());
|
|
||||||
|
|
||||||
if (aBase.IsNull() || aPath.IsNull()) return aGEOMObject._retn();
|
if (aBase.IsNull() || aPath.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -500,20 +455,16 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipe
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeRevolutionAxisAngle
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeRevolutionAxisAngle
|
||||||
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theAxis,
|
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theAxis,
|
||||||
CORBA::Double theAngle)
|
CORBA::Double theAngle)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theBase == NULL || theAxis == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
|
||||||
(theBase->GetStudyID(), theBase->GetEntry());
|
Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis);
|
||||||
Handle(GEOM_Object) anAxis = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theAxis->GetStudyID(), theAxis->GetEntry());
|
|
||||||
|
|
||||||
if (aBase.IsNull() || anAxis.IsNull()) return aGEOMObject._retn();
|
if (aBase.IsNull() || anAxis.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -533,20 +484,16 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeRevolutionAxisAngle
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeRevolutionAxisAngle2Ways
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeRevolutionAxisAngle2Ways
|
||||||
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theAxis,
|
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theAxis,
|
||||||
CORBA::Double theAngle)
|
CORBA::Double theAngle)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theBase == NULL || theAxis == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
|
||||||
(theBase->GetStudyID(), theBase->GetEntry());
|
Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis);
|
||||||
Handle(GEOM_Object) anAxis = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theAxis->GetStudyID(), theAxis->GetEntry());
|
|
||||||
|
|
||||||
if (aBase.IsNull() || anAxis.IsNull()) return aGEOMObject._retn();
|
if (aBase.IsNull() || anAxis.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -565,28 +512,26 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeRevolutionAxisAngle2Ways
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFilling(GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFilling(GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Long theMinDeg,
|
CORBA::Long theMinDeg,
|
||||||
CORBA::Long theMaxDeg,
|
CORBA::Long theMaxDeg,
|
||||||
CORBA::Double theTol2D,
|
CORBA::Double theTol2D,
|
||||||
CORBA::Double theTol3D,
|
CORBA::Double theTol3D,
|
||||||
CORBA::Long theNbIter,
|
CORBA::Long theNbIter,
|
||||||
CORBA::Boolean theApprox)
|
CORBA::Boolean theApprox)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Solid
|
//Create the Solid
|
||||||
Handle(GEOM_Object) anObject = GetOperations()->MakeFilling(aShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, theApprox);
|
Handle(GEOM_Object) anObject = GetOperations()->MakeFilling
|
||||||
|
(aShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, theApprox);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -599,9 +544,9 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFilling(GEOM::GEOM_Object_pt
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
|
||||||
CORBA::Boolean theModeSolid,
|
CORBA::Boolean theModeSolid,
|
||||||
CORBA::Double thePreci,
|
CORBA::Double thePreci,
|
||||||
CORBA::Boolean theRuled)
|
CORBA::Boolean theRuled)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -613,13 +558,11 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeThruSections(const GEOM::Lis
|
|||||||
//Get the shapes
|
//Get the shapes
|
||||||
aLen = theSeqSections.length();
|
aLen = theSeqSections.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theSeqSections[ind] == NULL) continue;
|
Handle(GEOM_Object) aSh = GetObjectImpl(theSeqSections[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theSeqSections[ind]->GetStudyID(), theSeqSections[ind]->GetEntry());
|
|
||||||
if (!aSh.IsNull())
|
if (!aSh.IsNull())
|
||||||
aSeqSections->Append(aSh);
|
aSeqSections->Append(aSh);
|
||||||
}
|
}
|
||||||
if(!aSeqSections->Length())
|
if (!aSeqSections->Length())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
// Make shell or solid
|
// Make shell or solid
|
||||||
@ -636,55 +579,52 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeThruSections(const GEOM::Lis
|
|||||||
* MakePipeWithDifferentSections
|
* MakePipeWithDifferentSections
|
||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeWithDifferentSections(const GEOM::ListOfGO& theBases,
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeWithDifferentSections
|
||||||
const GEOM::ListOfGO& theLocations,
|
(const GEOM::ListOfGO& theBases,
|
||||||
GEOM::GEOM_Object_ptr thePath,
|
const GEOM::ListOfGO& theLocations,
|
||||||
CORBA::Boolean theWithContact,
|
GEOM::GEOM_Object_ptr thePath,
|
||||||
CORBA::Boolean theWithCorrections)
|
CORBA::Boolean theWithContact,
|
||||||
|
CORBA::Boolean theWithCorrections)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
Handle(TColStd_HSequenceOfTransient) aSeqBases = new TColStd_HSequenceOfTransient;
|
Handle(TColStd_HSequenceOfTransient) aSeqBases = new TColStd_HSequenceOfTransient;
|
||||||
Handle(TColStd_HSequenceOfTransient) aSeqLocations = new TColStd_HSequenceOfTransient;
|
Handle(TColStd_HSequenceOfTransient) aSeqLocations = new TColStd_HSequenceOfTransient;
|
||||||
int ind=0, aNbBases =0,aNbLocs=0;
|
int ind=0, aNbBases =0,aNbLocs=0;
|
||||||
|
|
||||||
//Get the shapes
|
//Get the shapes
|
||||||
aNbBases = theBases.length();
|
aNbBases = theBases.length();
|
||||||
aNbLocs = theLocations.length();
|
aNbLocs = theLocations.length();
|
||||||
|
|
||||||
if( aNbLocs && aNbBases != aNbLocs)
|
if (aNbLocs && aNbBases != aNbLocs)
|
||||||
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
|
Handle(GEOM_Object) aPath = GetObjectImpl(thePath);
|
||||||
|
if (aPath.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
Handle(GEOM_Object) aPath = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePath->GetStudyID(), thePath->GetEntry());
|
|
||||||
if(aPath.IsNull())
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
for (ind = 0; ind < aNbBases; ind++) {
|
for (ind = 0; ind < aNbBases; ind++) {
|
||||||
if (theBases[ind] == NULL) continue;
|
Handle(GEOM_Object) aBase = GetObjectImpl(theBases[ind]);
|
||||||
Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject(theBases[ind]->GetStudyID(),
|
if (aBase.IsNull())
|
||||||
theBases[ind]->GetEntry());
|
|
||||||
if(aBase.IsNull())
|
|
||||||
continue;
|
continue;
|
||||||
if(aNbLocs)
|
if (aNbLocs)
|
||||||
{
|
{
|
||||||
Handle(GEOM_Object) aLoc = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aLoc = GetObjectImpl(theLocations[ind]);
|
||||||
(theLocations[ind]->GetStudyID(), theLocations[ind]->GetEntry());
|
if (aLoc.IsNull())
|
||||||
if(aLoc.IsNull())
|
continue;
|
||||||
continue;
|
|
||||||
aSeqLocations->Append(aLoc);
|
aSeqLocations->Append(aLoc);
|
||||||
}
|
}
|
||||||
aSeqBases->Append(aBase);
|
aSeqBases->Append(aBase);
|
||||||
}
|
}
|
||||||
if(!aSeqBases->Length())
|
if (!aSeqBases->Length())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
// Make pipe
|
// Make pipe
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakePipeWithDifferentSections(aSeqBases,aSeqLocations ,aPath,
|
GetOperations()->MakePipeWithDifferentSections(aSeqBases,aSeqLocations ,aPath,
|
||||||
theWithContact,theWithCorrections);
|
theWithContact,theWithCorrections);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -699,11 +639,11 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeWithDifferentSections(co
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeWithShellSections
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeWithShellSections
|
||||||
(const GEOM::ListOfGO& theBases,
|
(const GEOM::ListOfGO& theBases,
|
||||||
const GEOM::ListOfGO& theSubBases,
|
const GEOM::ListOfGO& theSubBases,
|
||||||
const GEOM::ListOfGO& theLocations,
|
const GEOM::ListOfGO& theLocations,
|
||||||
GEOM::GEOM_Object_ptr thePath,
|
GEOM::GEOM_Object_ptr thePath,
|
||||||
CORBA::Boolean theWithContact,
|
CORBA::Boolean theWithContact,
|
||||||
CORBA::Boolean theWithCorrections)
|
CORBA::Boolean theWithCorrections)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -713,55 +653,49 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeWithShellSections
|
|||||||
Handle(TColStd_HSequenceOfTransient) aSeqSubBases = new TColStd_HSequenceOfTransient;
|
Handle(TColStd_HSequenceOfTransient) aSeqSubBases = new TColStd_HSequenceOfTransient;
|
||||||
Handle(TColStd_HSequenceOfTransient) aSeqLocations = new TColStd_HSequenceOfTransient;
|
Handle(TColStd_HSequenceOfTransient) aSeqLocations = new TColStd_HSequenceOfTransient;
|
||||||
int ind=0, aNbBases=0, aNbSubBases=0, aNbLocs=0;
|
int ind=0, aNbBases=0, aNbSubBases=0, aNbLocs=0;
|
||||||
|
|
||||||
//Get the shapes
|
//Get the shapes
|
||||||
aNbBases = theBases.length();
|
aNbBases = theBases.length();
|
||||||
aNbSubBases = theSubBases.length();
|
aNbSubBases = theSubBases.length();
|
||||||
aNbLocs = theLocations.length();
|
aNbLocs = theLocations.length();
|
||||||
|
|
||||||
if( aNbLocs && aNbBases != aNbLocs)
|
if (aNbLocs && aNbBases != aNbLocs)
|
||||||
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
|
Handle(GEOM_Object) aPath = GetObjectImpl(thePath);
|
||||||
|
if (aPath.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
Handle(GEOM_Object) aPath = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePath->GetStudyID(), thePath->GetEntry());
|
|
||||||
if(aPath.IsNull())
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
for (ind = 0; ind < aNbBases; ind++) {
|
for (ind = 0; ind < aNbBases; ind++) {
|
||||||
if (theBases[ind] == NULL) continue;
|
Handle(GEOM_Object) aBase = GetObjectImpl(theBases[ind]);
|
||||||
Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->
|
if (aBase.IsNull())
|
||||||
GetObject(theBases[ind]->GetStudyID(), theBases[ind]->GetEntry());
|
|
||||||
if(aBase.IsNull())
|
|
||||||
continue;
|
continue;
|
||||||
if(aNbLocs) {
|
if (aNbLocs) {
|
||||||
Handle(GEOM_Object) aLoc = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aLoc = GetObjectImpl(theLocations[ind]);
|
||||||
(theLocations[ind]->GetStudyID(), theLocations[ind]->GetEntry());
|
if (aLoc.IsNull())
|
||||||
if(aLoc.IsNull())
|
continue;
|
||||||
continue;
|
|
||||||
aSeqLocations->Append(aLoc);
|
aSeqLocations->Append(aLoc);
|
||||||
}
|
}
|
||||||
aSeqBases->Append(aBase);
|
aSeqBases->Append(aBase);
|
||||||
|
|
||||||
if(aNbSubBases>=aNbBases) {
|
if (aNbSubBases >= aNbBases) {
|
||||||
Handle(GEOM_Object) aSubBase = GetOperations()->GetEngine()->
|
Handle(GEOM_Object) aSubBase = GetObjectImpl(theSubBases[ind]);
|
||||||
GetObject(theSubBases[ind]->GetStudyID(), theSubBases[ind]->GetEntry());
|
if (aSubBase.IsNull()) {
|
||||||
if(aSubBase.IsNull()) {
|
aSeqSubBases->Clear();
|
||||||
aSeqSubBases->Clear();
|
aNbSubBases = 0;
|
||||||
aNbSubBases = 0;
|
continue;
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
aSeqSubBases->Append(aSubBase);
|
aSeqSubBases->Append(aSubBase);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if(!aSeqBases->Length())
|
if (!aSeqBases->Length())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
// Make pipe
|
// Make pipe
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakePipeWithShellSections(aSeqBases, aSeqSubBases,
|
GetOperations()->MakePipeWithShellSections(aSeqBases, aSeqSubBases,
|
||||||
aSeqLocations, aPath,
|
aSeqLocations, aPath,
|
||||||
theWithContact, theWithCorrections);
|
theWithContact, theWithCorrections);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -776,7 +710,7 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeWithShellSections
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeShellsWithoutPath
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeShellsWithoutPath
|
||||||
(const GEOM::ListOfGO& theBases,
|
(const GEOM::ListOfGO& theBases,
|
||||||
const GEOM::ListOfGO& theLocations)
|
const GEOM::ListOfGO& theLocations)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -785,31 +719,28 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeShellsWithoutPath
|
|||||||
Handle(TColStd_HSequenceOfTransient) aSeqBases = new TColStd_HSequenceOfTransient;
|
Handle(TColStd_HSequenceOfTransient) aSeqBases = new TColStd_HSequenceOfTransient;
|
||||||
Handle(TColStd_HSequenceOfTransient) aSeqLocations = new TColStd_HSequenceOfTransient;
|
Handle(TColStd_HSequenceOfTransient) aSeqLocations = new TColStd_HSequenceOfTransient;
|
||||||
int ind=0, aNbBases=0, aNbLocs=0;
|
int ind=0, aNbBases=0, aNbLocs=0;
|
||||||
|
|
||||||
//Get the shapes
|
//Get the shapes
|
||||||
aNbBases = theBases.length();
|
aNbBases = theBases.length();
|
||||||
aNbLocs = theLocations.length();
|
aNbLocs = theLocations.length();
|
||||||
|
|
||||||
if( aNbLocs && aNbBases != aNbLocs)
|
if (aNbLocs && aNbBases != aNbLocs)
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
for (ind = 0; ind < aNbBases; ind++) {
|
for (ind = 0; ind < aNbBases; ind++) {
|
||||||
if (theBases[ind] == NULL) continue;
|
Handle(GEOM_Object) aBase = GetObjectImpl(theBases[ind]);
|
||||||
Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->
|
if (aBase.IsNull())
|
||||||
GetObject(theBases[ind]->GetStudyID(), theBases[ind]->GetEntry());
|
|
||||||
if(aBase.IsNull())
|
|
||||||
continue;
|
continue;
|
||||||
if(aNbLocs) {
|
if (aNbLocs) {
|
||||||
Handle(GEOM_Object) aLoc = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aLoc = GetObjectImpl(theLocations[ind]);
|
||||||
(theLocations[ind]->GetStudyID(), theLocations[ind]->GetEntry());
|
if (aLoc.IsNull())
|
||||||
if(aLoc.IsNull())
|
continue;
|
||||||
continue;
|
|
||||||
aSeqLocations->Append(aLoc);
|
aSeqLocations->Append(aLoc);
|
||||||
}
|
}
|
||||||
aSeqBases->Append(aBase);
|
aSeqBases->Append(aBase);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!aSeqBases->Length())
|
if (!aSeqBases->Length())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
// Make pipe
|
// Make pipe
|
||||||
@ -829,24 +760,19 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeShellsWithoutPath
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeBiNormalAlongVector
|
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeBiNormalAlongVector
|
||||||
(GEOM::GEOM_Object_ptr theBase,
|
(GEOM::GEOM_Object_ptr theBase,
|
||||||
GEOM::GEOM_Object_ptr thePath,
|
GEOM::GEOM_Object_ptr thePath,
|
||||||
GEOM::GEOM_Object_ptr theVec)
|
GEOM::GEOM_Object_ptr theVec)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theBase == NULL || thePath == NULL || theVec == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
|
||||||
(theBase->GetStudyID(), theBase->GetEntry());
|
Handle(GEOM_Object) aPath = GetObjectImpl(thePath);
|
||||||
Handle(GEOM_Object) aPath = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
|
||||||
(thePath->GetStudyID(), thePath->GetEntry());
|
|
||||||
Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theVec->GetStudyID(), theVec->GetEntry());
|
|
||||||
|
|
||||||
if (aBase.IsNull() || aPath.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
if (aBase.IsNull() || aPath.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#include <Standard_Stream.hxx>
|
#include <Standard_Stream.hxx>
|
||||||
|
|
||||||
#include "GEOM_IBasicOperations_i.hh"
|
#include "GEOM_IBasicOperations_i.hh"
|
||||||
@ -36,8 +36,8 @@
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM_IBasicOperations_i::GEOM_IBasicOperations_i (PortableServer::POA_ptr thePOA,
|
GEOM_IBasicOperations_i::GEOM_IBasicOperations_i (PortableServer::POA_ptr thePOA,
|
||||||
GEOM::GEOM_Gen_ptr theEngine,
|
GEOM::GEOM_Gen_ptr theEngine,
|
||||||
::GEOMImpl_IBasicOperations* theImpl)
|
::GEOMImpl_IBasicOperations* theImpl)
|
||||||
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
||||||
{
|
{
|
||||||
MESSAGE("GEOM_IBasicOperations_i::GEOM_IBasicOperations_i");
|
MESSAGE("GEOM_IBasicOperations_i::GEOM_IBasicOperations_i");
|
||||||
@ -67,8 +67,7 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePointXYZ
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
//Create the point
|
//Create the point
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject = GetOperations()->MakePointXYZ(theX, theY, theZ);
|
Handle(GEOM_Object) anObject = GetOperations()->MakePointXYZ(theX, theY, theZ);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
@ -89,18 +88,13 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePointWithReference
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if(theReference == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference point
|
//Get the reference point
|
||||||
|
Handle(GEOM_Object) aReference = GetObjectImpl(theReference);
|
||||||
Handle(GEOM_Object) aRefernce = GetOperations()->GetEngine()->GetObject
|
if (aReference.IsNull()) return aGEOMObject._retn();
|
||||||
(theReference->GetStudyID(), theReference->GetEntry());
|
|
||||||
if (aRefernce.IsNull()) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Create the point
|
//Create the point
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakePointWithReference(aRefernce, theX, theY, theZ);
|
GetOperations()->MakePointWithReference(aReference, theX, theY, theZ);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -120,18 +114,12 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePointOnLinesIntersection
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theLine1 == NULL || theLine2 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Lines
|
//Get the reference Lines
|
||||||
|
Handle(GEOM_Object) aRef1 = GetObjectImpl(theLine1);
|
||||||
Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aRef2 = GetObjectImpl(theLine2);
|
||||||
(theLine1->GetStudyID(), theLine1->GetEntry());
|
|
||||||
Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theLine2->GetStudyID(), theLine2->GetEntry());
|
|
||||||
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the point
|
//Create the point
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakePointOnLinesIntersection(aRef1, aRef2);
|
GetOperations()->MakePointOnLinesIntersection(aRef1, aRef2);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
@ -140,7 +128,6 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePointOnLinesIntersection
|
|||||||
return GetObject(anObject);
|
return GetObject(anObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* MakePointOnCurve
|
* MakePointOnCurve
|
||||||
@ -154,25 +141,19 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePointOnCurve
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theCurve == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference curve
|
//Get the reference curve
|
||||||
|
Handle(GEOM_Object) aReference = GetObjectImpl(theCurve);
|
||||||
Handle(GEOM_Object) aRefernce = GetOperations()->GetEngine()->GetObject
|
if (aReference.IsNull()) return aGEOMObject._retn();
|
||||||
(theCurve->GetStudyID(), theCurve->GetEntry());
|
|
||||||
if (aRefernce.IsNull()) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Create the point
|
//Create the point
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakePointOnCurve(aRefernce, theParameter);
|
GetOperations()->MakePointOnCurve(aReference, theParameter);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
return GetObject(anObject);
|
return GetObject(anObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* MakePointOnSurface
|
* MakePointOnSurface
|
||||||
@ -180,24 +161,21 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePointOnCurve
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePointOnSurface
|
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePointOnSurface
|
||||||
(GEOM::GEOM_Object_ptr theSurface,
|
(GEOM::GEOM_Object_ptr theSurface,
|
||||||
CORBA::Double theUParameter,
|
CORBA::Double theUParameter,
|
||||||
CORBA::Double theVParameter)
|
CORBA::Double theVParameter)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theSurface == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference surface
|
//Get the reference surface
|
||||||
Handle(GEOM_Object) aRefernce = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aReference = GetObjectImpl(theSurface);
|
||||||
(theSurface->GetStudyID(), theSurface->GetEntry());
|
if (aReference.IsNull()) return aGEOMObject._retn();
|
||||||
if (aRefernce.IsNull()) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Create the point
|
//Create the point
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakePointOnSurface(aRefernce, theUParameter, theVParameter);
|
GetOperations()->MakePointOnSurface(aReference, theUParameter, theVParameter);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -218,25 +196,19 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeTangentOnCurve
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theCurve == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference curve
|
//Get the reference curve
|
||||||
|
Handle(GEOM_Object) aReference = GetObjectImpl(theCurve);
|
||||||
|
if (aReference.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
Handle(GEOM_Object) aRefernce = GetOperations()->GetEngine()->GetObject
|
//Create the vector
|
||||||
(theCurve->GetStudyID(), theCurve->GetEntry());
|
|
||||||
if (aRefernce.IsNull()) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Create the point
|
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakeTangentOnCurve(aRefernce, theParameter);
|
GetOperations()->MakeTangentOnCurve(aReference, theParameter);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
return GetObject(anObject);
|
return GetObject(anObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* MakeVectorDXDYDZ
|
* MakeVectorDXDYDZ
|
||||||
@ -272,20 +244,13 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeVectorTwoPnt
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt1 == NULL || thePnt2 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
|
Handle(GEOM_Object) aRef1 = GetObjectImpl(thePnt1);
|
||||||
Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aRef2 = GetObjectImpl(thePnt2);
|
||||||
(thePnt1->GetStudyID(), thePnt1->GetEntry());
|
|
||||||
Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt2->GetStudyID(), thePnt2->GetEntry());
|
|
||||||
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the vector
|
//Create the vector
|
||||||
|
Handle(GEOM_Object) anObject = GetOperations()->MakeVectorTwoPnt(aRef1, aRef2);
|
||||||
Handle(GEOM_Object) anObject =
|
|
||||||
GetOperations()->MakeVectorTwoPnt(aRef1, aRef2);
|
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -306,20 +271,13 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeLine
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt == NULL || theDir == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
|
Handle(GEOM_Object) aRef1 = GetObjectImpl(thePnt);
|
||||||
Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aRef2 = GetObjectImpl(theDir);
|
||||||
(thePnt->GetStudyID(), thePnt->GetEntry());
|
|
||||||
Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theDir->GetStudyID(), theDir->GetEntry());
|
|
||||||
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Line
|
//Create the Line
|
||||||
|
Handle(GEOM_Object) anObject = GetOperations()->MakeLine(aRef1, aRef2);
|
||||||
Handle(GEOM_Object) anObject =
|
|
||||||
GetOperations()->MakeLine(aRef1, aRef2);
|
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -339,20 +297,13 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeLineTwoPnt
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt1 == NULL || thePnt2 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
|
Handle(GEOM_Object) aRef1 = GetObjectImpl(thePnt1);
|
||||||
Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aRef2 = GetObjectImpl(thePnt2);
|
||||||
(thePnt1->GetStudyID(), thePnt1->GetEntry());
|
|
||||||
Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt2->GetStudyID(), thePnt2->GetEntry());
|
|
||||||
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Line
|
//Create the Line
|
||||||
|
Handle(GEOM_Object) anObject = GetOperations()->MakeLineTwoPnt(aRef1, aRef2);
|
||||||
Handle(GEOM_Object) anObject =
|
|
||||||
GetOperations()->MakeLineTwoPnt(aRef1, aRef2);
|
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -372,18 +323,12 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeLineTwoFaces
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theFace1 == NULL || theFace2 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
|
Handle(GEOM_Object) aRef1 = GetObjectImpl(theFace1);
|
||||||
Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aRef2 = GetObjectImpl(theFace2);
|
||||||
(theFace1->GetStudyID(), theFace1->GetEntry());
|
|
||||||
Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theFace2->GetStudyID(), theFace2->GetEntry());
|
|
||||||
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Line
|
//Create the Line
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakeLineTwoFaces(aRef1, aRef2);
|
GetOperations()->MakeLineTwoFaces(aRef1, aRef2);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
@ -392,6 +337,7 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeLineTwoFaces
|
|||||||
return GetObject(anObject);
|
return GetObject(anObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* MakePlanePntVec
|
* MakePlanePntVec
|
||||||
@ -399,25 +345,19 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeLineTwoFaces
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePlanePntVec
|
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePlanePntVec
|
||||||
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
||||||
CORBA::Double theTrimSize)
|
CORBA::Double theTrimSize)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt == NULL || theVec == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the references
|
//Get the references
|
||||||
|
Handle(GEOM_Object) aRef1 = GetObjectImpl(thePnt);
|
||||||
Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aRef2 = GetObjectImpl(theVec);
|
||||||
(thePnt->GetStudyID(), thePnt->GetEntry());
|
|
||||||
Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theVec->GetStudyID(), theVec->GetEntry());
|
|
||||||
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the plane
|
//Create the plane
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakePlanePntVec(aRef1, aRef2, theTrimSize);
|
GetOperations()->MakePlanePntVec(aRef1, aRef2, theTrimSize);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
@ -433,29 +373,21 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePlanePntVec
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePlaneThreePnt
|
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePlaneThreePnt
|
||||||
(GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2,
|
(GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2,
|
||||||
GEOM::GEOM_Object_ptr thePnt3, CORBA::Double theTrimSize)
|
GEOM::GEOM_Object_ptr thePnt3, CORBA::Double theTrimSize)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt1 == NULL || thePnt2 == NULL || thePnt3 == NULL)
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
|
Handle(GEOM_Object) aRef1 = GetObjectImpl(thePnt1);
|
||||||
Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aRef2 = GetObjectImpl(thePnt2);
|
||||||
(thePnt1->GetStudyID(), thePnt1->GetEntry());
|
Handle(GEOM_Object) aRef3 = GetObjectImpl(thePnt3);
|
||||||
Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt2->GetStudyID(), thePnt2->GetEntry());
|
|
||||||
Handle(GEOM_Object) aRef3 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt3->GetStudyID(), thePnt3->GetEntry());
|
|
||||||
if (aRef1.IsNull() || aRef2.IsNull() || aRef3.IsNull())
|
if (aRef1.IsNull() || aRef2.IsNull() || aRef3.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the plane
|
//Create the plane
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakePlaneThreePnt(aRef1, aRef2, aRef3, theTrimSize);
|
GetOperations()->MakePlaneThreePnt(aRef1, aRef2, aRef3, theTrimSize);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
@ -477,16 +409,11 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePlaneFace
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theFace == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference face
|
//Get the reference face
|
||||||
|
Handle(GEOM_Object) aRef = GetObjectImpl(theFace);
|
||||||
Handle(GEOM_Object) aRef = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theFace->GetStudyID(), theFace->GetEntry());
|
|
||||||
if (aRef.IsNull()) return aGEOMObject._retn();
|
if (aRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the plane
|
//Create the plane
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakePlaneFace(aRef, theTrimSize);
|
GetOperations()->MakePlaneFace(aRef, theTrimSize);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
@ -513,8 +440,8 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeMarker
|
|||||||
|
|
||||||
//Create the point
|
//Create the point
|
||||||
Handle(GEOM_Object) anObject = GetOperations()->MakeMarker(theOX , theOY , theOZ,
|
Handle(GEOM_Object) anObject = GetOperations()->MakeMarker(theOX , theOY , theOZ,
|
||||||
theXDX, theXDY, theXDZ,
|
theXDX, theXDY, theXDZ,
|
||||||
theYDX, theYDY, theYDZ);
|
theYDX, theYDY, theYDZ);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -528,26 +455,21 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeMarker
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeTangentPlaneOnFace
|
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeTangentPlaneOnFace
|
||||||
(GEOM::GEOM_Object_ptr theFace,
|
(GEOM::GEOM_Object_ptr theFace,
|
||||||
CORBA::Double theParameterU,
|
CORBA::Double theParameterU,
|
||||||
CORBA::Double theParameterV,
|
CORBA::Double theParameterV,
|
||||||
CORBA::Double theTrimSize)
|
CORBA::Double theTrimSize)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theFace == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference face
|
//Get the reference face
|
||||||
|
Handle(GEOM_Object) aRef = GetObjectImpl(theFace);
|
||||||
Handle(GEOM_Object) aRef = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theFace->GetStudyID(), theFace->GetEntry());
|
|
||||||
if (aRef.IsNull()) return aGEOMObject._retn();
|
if (aRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the plane
|
//Create the plane
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakeTangentPlaneOnFace(aRef, theParameterU,theParameterV,theTrimSize);
|
GetOperations()->MakeTangentPlaneOnFace(aRef, theParameterU,theParameterV,theTrimSize);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
@ -555,4 +477,3 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeTangentPlaneOnFace
|
|||||||
|
|
||||||
return GetObject(anObject);
|
return GetObject(anObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#include <Standard_Stream.hxx>
|
#include <Standard_Stream.hxx>
|
||||||
|
|
||||||
#include "GEOM_IBlocksOperations_i.hh"
|
#include "GEOM_IBlocksOperations_i.hh"
|
||||||
@ -41,8 +41,8 @@ using namespace std;
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM_IBlocksOperations_i::GEOM_IBlocksOperations_i (PortableServer::POA_ptr thePOA,
|
GEOM_IBlocksOperations_i::GEOM_IBlocksOperations_i (PortableServer::POA_ptr thePOA,
|
||||||
GEOM::GEOM_Gen_ptr theEngine,
|
GEOM::GEOM_Gen_ptr theEngine,
|
||||||
::GEOMImpl_IBlocksOperations* theImpl)
|
::GEOMImpl_IBlocksOperations* theImpl)
|
||||||
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
||||||
{
|
{
|
||||||
MESSAGE("GEOM_IBlocksOperations_i::GEOM_IBlocksOperations_i");
|
MESSAGE("GEOM_IBlocksOperations_i::GEOM_IBlocksOperations_i");
|
||||||
@ -66,25 +66,18 @@ GEOM_IBlocksOperations_i::~GEOM_IBlocksOperations_i()
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuad
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuad
|
||||||
(GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theEdge2,
|
(GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theEdge2,
|
||||||
GEOM::GEOM_Object_ptr theEdge3, GEOM::GEOM_Object_ptr theEdge4)
|
GEOM::GEOM_Object_ptr theEdge3, GEOM::GEOM_Object_ptr theEdge4)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theEdge1 == NULL || theEdge2 == NULL ||
|
|
||||||
theEdge3 == NULL || theEdge4 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference edges
|
//Get the reference edges
|
||||||
Handle(GEOM_Object) anEdge1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) anEdge1 = GetObjectImpl(theEdge1);
|
||||||
(theEdge1->GetStudyID(), theEdge1->GetEntry());
|
Handle(GEOM_Object) anEdge2 = GetObjectImpl(theEdge2);
|
||||||
Handle(GEOM_Object) anEdge2 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) anEdge3 = GetObjectImpl(theEdge3);
|
||||||
(theEdge2->GetStudyID(), theEdge2->GetEntry());
|
Handle(GEOM_Object) anEdge4 = GetObjectImpl(theEdge4);
|
||||||
Handle(GEOM_Object) anEdge3 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theEdge3->GetStudyID(), theEdge3->GetEntry());
|
|
||||||
Handle(GEOM_Object) anEdge4 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theEdge4->GetStudyID(), theEdge4->GetEntry());
|
|
||||||
|
|
||||||
if (anEdge1.IsNull() || anEdge2.IsNull() ||
|
if (anEdge1.IsNull() || anEdge2.IsNull() ||
|
||||||
anEdge3.IsNull() || anEdge4.IsNull()) return aGEOMObject._retn();
|
anEdge3.IsNull() || anEdge4.IsNull()) return aGEOMObject._retn();
|
||||||
@ -111,13 +104,9 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuad2Edges
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theEdge1 == NULL || theEdge2 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference edges
|
//Get the reference edges
|
||||||
Handle(GEOM_Object) anEdge1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) anEdge1 = GetObjectImpl(theEdge1);
|
||||||
(theEdge1->GetStudyID(), theEdge1->GetEntry());
|
Handle(GEOM_Object) anEdge2 = GetObjectImpl(theEdge2);
|
||||||
Handle(GEOM_Object) anEdge2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theEdge2->GetStudyID(), theEdge2->GetEntry());
|
|
||||||
|
|
||||||
if (anEdge1.IsNull() || anEdge2.IsNull()) return aGEOMObject._retn();
|
if (anEdge1.IsNull() || anEdge2.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -137,25 +126,18 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuad2Edges
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuad4Vertices
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuad4Vertices
|
||||||
(GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2,
|
(GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2,
|
||||||
GEOM::GEOM_Object_ptr thePnt3, GEOM::GEOM_Object_ptr thePnt4)
|
GEOM::GEOM_Object_ptr thePnt3, GEOM::GEOM_Object_ptr thePnt4)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt1 == NULL || thePnt2 == NULL ||
|
|
||||||
thePnt3 == NULL || thePnt4 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
Handle(GEOM_Object) aPnt1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt1 = GetObjectImpl(thePnt1);
|
||||||
(thePnt1->GetStudyID(), thePnt1->GetEntry());
|
Handle(GEOM_Object) aPnt2 = GetObjectImpl(thePnt2);
|
||||||
Handle(GEOM_Object) aPnt2 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt3 = GetObjectImpl(thePnt3);
|
||||||
(thePnt2->GetStudyID(), thePnt2->GetEntry());
|
Handle(GEOM_Object) aPnt4 = GetObjectImpl(thePnt4);
|
||||||
Handle(GEOM_Object) aPnt3 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt3->GetStudyID(), thePnt3->GetEntry());
|
|
||||||
Handle(GEOM_Object) aPnt4 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt4->GetStudyID(), thePnt4->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt1.IsNull() || aPnt2.IsNull() ||
|
if (aPnt1.IsNull() || aPnt2.IsNull() ||
|
||||||
aPnt3.IsNull() || aPnt4.IsNull()) return aGEOMObject._retn();
|
aPnt3.IsNull() || aPnt4.IsNull()) return aGEOMObject._retn();
|
||||||
@ -176,31 +158,21 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuad4Vertices
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeHexa
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeHexa
|
||||||
(GEOM::GEOM_Object_ptr theFace1, GEOM::GEOM_Object_ptr theFace2,
|
(GEOM::GEOM_Object_ptr theFace1, GEOM::GEOM_Object_ptr theFace2,
|
||||||
GEOM::GEOM_Object_ptr theFace3, GEOM::GEOM_Object_ptr theFace4,
|
GEOM::GEOM_Object_ptr theFace3, GEOM::GEOM_Object_ptr theFace4,
|
||||||
GEOM::GEOM_Object_ptr theFace5, GEOM::GEOM_Object_ptr theFace6)
|
GEOM::GEOM_Object_ptr theFace5, GEOM::GEOM_Object_ptr theFace6)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theFace1 == NULL || theFace2 == NULL ||
|
|
||||||
theFace3 == NULL || theFace4 == NULL ||
|
|
||||||
theFace5 == NULL || theFace6 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Faces
|
//Get the reference Faces
|
||||||
Handle(GEOM_Object) anFace1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) anFace1 = GetObjectImpl(theFace1);
|
||||||
(theFace1->GetStudyID(), theFace1->GetEntry());
|
Handle(GEOM_Object) anFace2 = GetObjectImpl(theFace2);
|
||||||
Handle(GEOM_Object) anFace2 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) anFace3 = GetObjectImpl(theFace3);
|
||||||
(theFace2->GetStudyID(), theFace2->GetEntry());
|
Handle(GEOM_Object) anFace4 = GetObjectImpl(theFace4);
|
||||||
Handle(GEOM_Object) anFace3 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) anFace5 = GetObjectImpl(theFace5);
|
||||||
(theFace3->GetStudyID(), theFace3->GetEntry());
|
Handle(GEOM_Object) anFace6 = GetObjectImpl(theFace6);
|
||||||
Handle(GEOM_Object) anFace4 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theFace4->GetStudyID(), theFace4->GetEntry());
|
|
||||||
Handle(GEOM_Object) anFace5 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theFace5->GetStudyID(), theFace5->GetEntry());
|
|
||||||
Handle(GEOM_Object) anFace6 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theFace6->GetStudyID(), theFace6->GetEntry());
|
|
||||||
|
|
||||||
if (anFace1.IsNull() || anFace2.IsNull() ||
|
if (anFace1.IsNull() || anFace2.IsNull() ||
|
||||||
anFace3.IsNull() || anFace4.IsNull() ||
|
anFace3.IsNull() || anFace4.IsNull() ||
|
||||||
@ -228,13 +200,9 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeHexa2Faces
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theFace1 == NULL || theFace2 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Faces
|
//Get the reference Faces
|
||||||
Handle(GEOM_Object) anFace1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) anFace1 = GetObjectImpl(theFace1);
|
||||||
(theFace1->GetStudyID(), theFace1->GetEntry());
|
Handle(GEOM_Object) anFace2 = GetObjectImpl(theFace2);
|
||||||
Handle(GEOM_Object) anFace2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theFace2->GetStudyID(), theFace2->GetEntry());
|
|
||||||
|
|
||||||
if (anFace1.IsNull() || anFace2.IsNull()) return aGEOMObject._retn();
|
if (anFace1.IsNull() || anFace2.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -260,12 +228,8 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeBlockCompound
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theCompound == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Compound
|
//Get the reference Compound
|
||||||
Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aCompound = GetObjectImpl(theCompound);
|
||||||
(theCompound->GetStudyID(), theCompound->GetEntry());
|
|
||||||
|
|
||||||
if (aCompound.IsNull()) return aGEOMObject._retn();
|
if (aCompound.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Blocks Compound
|
//Create the Blocks Compound
|
||||||
@ -283,22 +247,18 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeBlockCompound
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Double theX,
|
const CORBA::Double theX,
|
||||||
const CORBA::Double theY,
|
const CORBA::Double theY,
|
||||||
const CORBA::Double theZ,
|
const CORBA::Double theZ,
|
||||||
const CORBA::Double theEpsilon)
|
const CORBA::Double theEpsilon)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Objects
|
//Get the reference Objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Point
|
//Create the Point
|
||||||
@ -316,24 +276,18 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetPoint (GEOM::GEOM_Object_ptr
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
|
||||||
GEOM::GEOM_Object_ptr thePoint1,
|
GEOM::GEOM_Object_ptr thePoint1,
|
||||||
GEOM::GEOM_Object_ptr thePoint2)
|
GEOM::GEOM_Object_ptr thePoint2)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL ||
|
|
||||||
thePoint1 == NULL || thePoint2 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Objects
|
//Get the reference Objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aPoint1 = GetObjectImpl(thePoint1);
|
||||||
Handle(GEOM_Object) aPoint1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPoint2 = GetObjectImpl(thePoint2);
|
||||||
(thePoint1->GetStudyID(), thePoint1->GetEntry());
|
|
||||||
Handle(GEOM_Object) aPoint2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoint2->GetStudyID(), thePoint2->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() ||
|
if (aShape.IsNull() ||
|
||||||
aPoint1.IsNull() || aPoint2.IsNull()) return aGEOMObject._retn();
|
aPoint1.IsNull() || aPoint2.IsNull()) return aGEOMObject._retn();
|
||||||
@ -353,20 +307,16 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetEdge (GEOM::GEOM_Object_ptr t
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
|
||||||
GEOM::GEOM_Object_ptr thePoint)
|
GEOM::GEOM_Object_ptr thePoint)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || thePoint == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Objects
|
//Get the reference Objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
|
||||||
Handle(GEOM_Object) aPoint = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoint->GetStudyID(), thePoint->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || aPoint.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull() || aPoint.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -386,31 +336,22 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetEdgeNearPoint (GEOM::GEOM_Obj
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceByPoints
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceByPoints
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
GEOM::GEOM_Object_ptr thePoint1,
|
GEOM::GEOM_Object_ptr thePoint1,
|
||||||
GEOM::GEOM_Object_ptr thePoint2,
|
GEOM::GEOM_Object_ptr thePoint2,
|
||||||
GEOM::GEOM_Object_ptr thePoint3,
|
GEOM::GEOM_Object_ptr thePoint3,
|
||||||
GEOM::GEOM_Object_ptr thePoint4)
|
GEOM::GEOM_Object_ptr thePoint4)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL ||
|
|
||||||
thePoint1 == NULL || thePoint2 == NULL ||
|
|
||||||
thePoint3 == NULL || thePoint4 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Objects
|
//Get the reference Objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aPoint1 = GetObjectImpl(thePoint1);
|
||||||
Handle(GEOM_Object) aPoint1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPoint2 = GetObjectImpl(thePoint2);
|
||||||
(thePoint1->GetStudyID(), thePoint1->GetEntry());
|
Handle(GEOM_Object) aPoint3 = GetObjectImpl(thePoint3);
|
||||||
Handle(GEOM_Object) aPoint2 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPoint4 = GetObjectImpl(thePoint4);
|
||||||
(thePoint2->GetStudyID(), thePoint2->GetEntry());
|
|
||||||
Handle(GEOM_Object) aPoint3 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoint3->GetStudyID(), thePoint3->GetEntry());
|
|
||||||
Handle(GEOM_Object) aPoint4 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoint4->GetStudyID(), thePoint4->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() ||
|
if (aShape.IsNull() ||
|
||||||
aPoint1.IsNull() || aPoint2.IsNull() ||
|
aPoint1.IsNull() || aPoint2.IsNull() ||
|
||||||
@ -432,24 +373,18 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceByPoints
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceByEdges
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceByEdges
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
GEOM::GEOM_Object_ptr theEdge1,
|
GEOM::GEOM_Object_ptr theEdge1,
|
||||||
GEOM::GEOM_Object_ptr theEdge2)
|
GEOM::GEOM_Object_ptr theEdge2)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL ||
|
|
||||||
theEdge1 == NULL || theEdge2 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Objects
|
//Get the reference Objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) anEdge1 = GetObjectImpl(theEdge1);
|
||||||
Handle(GEOM_Object) anEdge1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) anEdge2 = GetObjectImpl(theEdge2);
|
||||||
(theEdge1->GetStudyID(), theEdge1->GetEntry());
|
|
||||||
Handle(GEOM_Object) anEdge2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theEdge2->GetStudyID(), theEdge2->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() ||
|
if (aShape.IsNull() ||
|
||||||
anEdge1.IsNull() || anEdge2.IsNull()) return aGEOMObject._retn();
|
anEdge1.IsNull() || anEdge2.IsNull()) return aGEOMObject._retn();
|
||||||
@ -469,20 +404,16 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceByEdges
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetOppositeFace (GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetOppositeFace (GEOM::GEOM_Object_ptr theShape,
|
||||||
GEOM::GEOM_Object_ptr theFace)
|
GEOM::GEOM_Object_ptr theFace)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || theFace == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Objects
|
//Get the reference Objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aFace = GetObjectImpl(theFace);
|
||||||
Handle(GEOM_Object) aFace = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theFace->GetStudyID(), theFace->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || aFace.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull() || aFace.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -501,20 +432,16 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetOppositeFace (GEOM::GEOM_Obje
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
|
||||||
GEOM::GEOM_Object_ptr thePoint)
|
GEOM::GEOM_Object_ptr thePoint)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || thePoint == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Objects
|
//Get the reference Objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
|
||||||
Handle(GEOM_Object) aPoint = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoint->GetStudyID(), thePoint->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || aPoint.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull() || aPoint.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -533,20 +460,16 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceNearPoint (GEOM::GEOM_Obj
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theShape,
|
||||||
GEOM::GEOM_Object_ptr theVector)
|
GEOM::GEOM_Object_ptr theVector)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || theVector == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Objects
|
//Get the reference Objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aVector = GetObjectImpl(theVector);
|
||||||
Handle(GEOM_Object) aVector = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theVector->GetStudyID(), theVector->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || aVector.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull() || aVector.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -566,20 +489,16 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetFaceByNormale (GEOM::GEOM_Obj
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfGO* GEOM_IBlocksOperations_i::ExplodeCompoundOfBlocks
|
GEOM::ListOfGO* GEOM_IBlocksOperations_i::ExplodeCompoundOfBlocks
|
||||||
(GEOM::GEOM_Object_ptr theCompound,
|
(GEOM::GEOM_Object_ptr theCompound,
|
||||||
const CORBA::Long theMinNbFaces,
|
const CORBA::Long theMinNbFaces,
|
||||||
const CORBA::Long theMaxNbFaces)
|
const CORBA::Long theMaxNbFaces)
|
||||||
{
|
{
|
||||||
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theCompound == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference Compound
|
//Get the reference Compound
|
||||||
Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aCompound = GetObjectImpl(theCompound);
|
||||||
(theCompound->GetStudyID(), theCompound->GetEntry());
|
|
||||||
|
|
||||||
if (aCompound.IsNull()) return aSeq._retn();
|
if (aCompound.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
//Explode
|
//Explode
|
||||||
@ -603,9 +522,9 @@ GEOM::ListOfGO* GEOM_IBlocksOperations_i::ExplodeCompoundOfBlocks
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
CORBA::Boolean GEOM_IBlocksOperations_i::IsCompoundOfBlocks
|
CORBA::Boolean GEOM_IBlocksOperations_i::IsCompoundOfBlocks
|
||||||
(GEOM::GEOM_Object_ptr theCompound,
|
(GEOM::GEOM_Object_ptr theCompound,
|
||||||
const CORBA::Long theMinNbFaces,
|
const CORBA::Long theMinNbFaces,
|
||||||
const CORBA::Long theMaxNbFaces,
|
const CORBA::Long theMaxNbFaces,
|
||||||
CORBA::Long& theNbBlocks)
|
CORBA::Long& theNbBlocks)
|
||||||
{
|
{
|
||||||
theNbBlocks = 0;
|
theNbBlocks = 0;
|
||||||
CORBA::Boolean isComp = false;
|
CORBA::Boolean isComp = false;
|
||||||
@ -613,20 +532,16 @@ CORBA::Boolean GEOM_IBlocksOperations_i::IsCompoundOfBlocks
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theCompound == NULL) return isComp;
|
|
||||||
|
|
||||||
//Get the reference Compound
|
//Get the reference Compound
|
||||||
Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aCompound = GetObjectImpl(theCompound);
|
||||||
(theCompound->GetStudyID(), theCompound->GetEntry());
|
|
||||||
|
|
||||||
if (aCompound.IsNull()) return isComp;
|
if (aCompound.IsNull()) return isComp;
|
||||||
|
|
||||||
//Check
|
//Check
|
||||||
Standard_Integer nbBlocks = 0;
|
Standard_Integer nbBlocks = 0;
|
||||||
isComp = GetOperations()->IsCompoundOfBlocks(aCompound,
|
isComp = GetOperations()->IsCompoundOfBlocks(aCompound,
|
||||||
theMinNbFaces,
|
theMinNbFaces,
|
||||||
theMaxNbFaces,
|
theMaxNbFaces,
|
||||||
nbBlocks);
|
nbBlocks);
|
||||||
if (!GetOperations()->IsDone())
|
if (!GetOperations()->IsDone())
|
||||||
return isComp;
|
return isComp;
|
||||||
|
|
||||||
@ -641,19 +556,15 @@ CORBA::Boolean GEOM_IBlocksOperations_i::IsCompoundOfBlocks
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
CORBA::Boolean GEOM_IBlocksOperations_i::CheckCompoundOfBlocks
|
CORBA::Boolean GEOM_IBlocksOperations_i::CheckCompoundOfBlocks
|
||||||
(GEOM::GEOM_Object_ptr theCompound,
|
(GEOM::GEOM_Object_ptr theCompound,
|
||||||
GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
|
GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
|
||||||
{
|
{
|
||||||
CORBA::Boolean isComp = false;
|
CORBA::Boolean isComp = false;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theCompound == NULL) return isComp;
|
|
||||||
|
|
||||||
//Get the reference Compound
|
//Get the reference Compound
|
||||||
Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aCompound = GetObjectImpl(theCompound);
|
||||||
(theCompound->GetStudyID(), theCompound->GetEntry());
|
|
||||||
|
|
||||||
if (aCompound.IsNull()) return isComp;
|
if (aCompound.IsNull()) return isComp;
|
||||||
|
|
||||||
//Check
|
//Check
|
||||||
@ -724,12 +635,10 @@ CORBA::Boolean GEOM_IBlocksOperations_i::CheckCompoundOfBlocks
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
char* GEOM_IBlocksOperations_i::PrintBCErrors
|
char* GEOM_IBlocksOperations_i::PrintBCErrors
|
||||||
(GEOM::GEOM_Object_ptr theCompound,
|
(GEOM::GEOM_Object_ptr theCompound,
|
||||||
const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
|
const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
|
||||||
{
|
{
|
||||||
//Get the reference Compound
|
//Get the reference Compound
|
||||||
if (theCompound == NULL) return NULL;
|
Handle(GEOM_Object) aCompound = GetObjectImpl(theCompound);
|
||||||
Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theCompound->GetStudyID(), theCompound->GetEntry());
|
|
||||||
if (aCompound.IsNull()) return NULL;
|
if (aCompound.IsNull()) return NULL;
|
||||||
|
|
||||||
// Convert the errors sequence
|
// Convert the errors sequence
|
||||||
@ -772,7 +681,7 @@ char* GEOM_IBlocksOperations_i::PrintBCErrors
|
|||||||
}
|
}
|
||||||
|
|
||||||
TCollection_AsciiString aDescr = GetOperations()->PrintBCErrors(aCompound, anErrors);
|
TCollection_AsciiString aDescr = GetOperations()->PrintBCErrors(aCompound, anErrors);
|
||||||
return CORBA::string_dup(aDescr.ToCString());
|
return CORBA::string_dup(aDescr.ToCString());
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
@ -787,12 +696,8 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::RemoveExtraEdges (GEOM::GEOM_Obj
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Objects
|
//Get the reference Objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the result
|
//Get the result
|
||||||
@ -816,12 +721,8 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::CheckAndImprove (GEOM::GEOM_Obje
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theCompound == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Objects
|
//Get the reference Objects
|
||||||
Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aCompound = GetObjectImpl(theCompound);
|
||||||
(theCompound->GetStudyID(), theCompound->GetEntry());
|
|
||||||
|
|
||||||
if (aCompound.IsNull()) return aGEOMObject._retn();
|
if (aCompound.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the result
|
//Get the result
|
||||||
@ -839,20 +740,16 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::CheckAndImprove (GEOM::GEOM_Obje
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
|
||||||
GEOM::GEOM_Object_ptr thePoint)
|
GEOM::GEOM_Object_ptr thePoint)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theCompound == NULL || thePoint == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Objects
|
//Get the reference Objects
|
||||||
Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aCompound = GetObjectImpl(theCompound);
|
||||||
(theCompound->GetStudyID(), theCompound->GetEntry());
|
Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
|
||||||
Handle(GEOM_Object) aPoint = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoint->GetStudyID(), thePoint->GetEntry());
|
|
||||||
|
|
||||||
if (aCompound.IsNull() || aPoint.IsNull()) return aGEOMObject._retn();
|
if (aCompound.IsNull() || aPoint.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -871,19 +768,15 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetBlockNearPoint (GEOM::GEOM_Ob
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
|
||||||
const GEOM::ListOfGO& theParts)
|
const GEOM::ListOfGO& theParts)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theCompound == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference Compound
|
//Get the reference Compound
|
||||||
Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aCompound = GetObjectImpl(theCompound);
|
||||||
(theCompound->GetStudyID(), theCompound->GetEntry());
|
|
||||||
|
|
||||||
if (aCompound.IsNull()) return aGEOMObject._retn();
|
if (aCompound.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the parts
|
//Get the parts
|
||||||
@ -892,9 +785,7 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetBlockByParts (GEOM::GEOM_Obje
|
|||||||
|
|
||||||
aLen = theParts.length();
|
aLen = theParts.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theParts[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theParts[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theParts[ind]->GetStudyID(), theParts[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aParts->Append(aSh);
|
aParts->Append(aSh);
|
||||||
}
|
}
|
||||||
@ -914,19 +805,15 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetBlockByParts (GEOM::GEOM_Obje
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfGO* GEOM_IBlocksOperations_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
|
GEOM::ListOfGO* GEOM_IBlocksOperations_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
|
||||||
const GEOM::ListOfGO& theParts)
|
const GEOM::ListOfGO& theParts)
|
||||||
{
|
{
|
||||||
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theCompound == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference Compound
|
//Get the reference Compound
|
||||||
Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aCompound = GetObjectImpl(theCompound);
|
||||||
(theCompound->GetStudyID(), theCompound->GetEntry());
|
|
||||||
|
|
||||||
if (aCompound.IsNull()) return aSeq._retn();
|
if (aCompound.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
//Get the parts
|
//Get the parts
|
||||||
@ -935,9 +822,7 @@ GEOM::ListOfGO* GEOM_IBlocksOperations_i::GetBlocksByParts (GEOM::GEOM_Object_pt
|
|||||||
|
|
||||||
aLen = theParts.length();
|
aLen = theParts.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theParts[ind] == NULL) return aSeq._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theParts[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theParts[ind]->GetStudyID(), theParts[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aSeq._retn();
|
if (aSh.IsNull()) return aSeq._retn();
|
||||||
aParts->Append(aSh);
|
aParts->Append(aSh);
|
||||||
}
|
}
|
||||||
@ -963,29 +848,25 @@ GEOM::ListOfGO* GEOM_IBlocksOperations_i::GetBlocksByParts (GEOM::GEOM_Object_pt
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeMultiTransformation1D
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeMultiTransformation1D
|
||||||
(GEOM::GEOM_Object_ptr theBlock,
|
(GEOM::GEOM_Object_ptr theBlock,
|
||||||
const CORBA::Long theDirFace1,
|
const CORBA::Long theDirFace1,
|
||||||
const CORBA::Long theDirFace2,
|
const CORBA::Long theDirFace2,
|
||||||
const CORBA::Long theNbTimes)
|
const CORBA::Long theNbTimes)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theBlock == NULL) return aGEOMObject._retn();
|
//Get the object itself and the vector of translation
|
||||||
|
Handle(GEOM_Object) aBasicObject = GetObjectImpl(theBlock);
|
||||||
|
if (aBasicObject.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the object itself and the vector of translation
|
//Perform the transformation
|
||||||
Handle(GEOM_Object) aBasicObject = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) anObject = GetOperations()->MakeMultiTransformation1D
|
||||||
(theBlock->GetStudyID(), theBlock->GetEntry());
|
(aBasicObject, theDirFace1, theDirFace2, theNbTimes);
|
||||||
|
if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
if (aBasicObject.IsNull()) return aGEOMObject._retn();
|
return GetObject(anObject);
|
||||||
|
|
||||||
//Perform the transformation
|
|
||||||
Handle(GEOM_Object) anObject = GetOperations()->MakeMultiTransformation1D
|
|
||||||
(aBasicObject, theDirFace1, theDirFace2, theNbTimes);
|
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
return GetObject(anObject);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
@ -995,24 +876,20 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeMultiTransformation1D
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeMultiTransformation2D
|
GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeMultiTransformation2D
|
||||||
(GEOM::GEOM_Object_ptr theBlock,
|
(GEOM::GEOM_Object_ptr theBlock,
|
||||||
const CORBA::Long theDirFace1U,
|
const CORBA::Long theDirFace1U,
|
||||||
const CORBA::Long theDirFace2U,
|
const CORBA::Long theDirFace2U,
|
||||||
const CORBA::Long theNbTimesU,
|
const CORBA::Long theNbTimesU,
|
||||||
const CORBA::Long theDirFace1V,
|
const CORBA::Long theDirFace1V,
|
||||||
const CORBA::Long theDirFace2V,
|
const CORBA::Long theDirFace2V,
|
||||||
const CORBA::Long theNbTimesV)
|
const CORBA::Long theNbTimesV)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theBlock == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the object itself
|
//Get the object itself
|
||||||
Handle(GEOM_Object) aBasicObject = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aBasicObject = GetObjectImpl(theBlock);
|
||||||
(theBlock->GetStudyID(), theBlock->GetEntry());
|
|
||||||
|
|
||||||
if (aBasicObject.IsNull()) return aGEOMObject._retn();
|
if (aBasicObject.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Perform the transformation
|
//Perform the transformation
|
||||||
@ -1037,12 +914,8 @@ GEOM::ListOfGO* GEOM_IBlocksOperations_i::Propagate (GEOM::GEOM_Object_ptr theSh
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference Shape
|
//Get the reference Shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return aSeq._retn();
|
if (aShape.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
//Get the Propagation chains
|
//Get the Propagation chains
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#include <Standard_Stream.hxx>
|
#include <Standard_Stream.hxx>
|
||||||
|
|
||||||
#include "GEOM_IBooleanOperations_i.hh"
|
#include "GEOM_IBooleanOperations_i.hh"
|
||||||
@ -37,8 +37,8 @@
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM_IBooleanOperations_i::GEOM_IBooleanOperations_i (PortableServer::POA_ptr thePOA,
|
GEOM_IBooleanOperations_i::GEOM_IBooleanOperations_i (PortableServer::POA_ptr thePOA,
|
||||||
GEOM::GEOM_Gen_ptr theEngine,
|
GEOM::GEOM_Gen_ptr theEngine,
|
||||||
::GEOMImpl_IBooleanOperations* theImpl)
|
::GEOMImpl_IBooleanOperations* theImpl)
|
||||||
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
||||||
{
|
{
|
||||||
MESSAGE("GEOM_IBooleanOperations_i::GEOM_IBooleanOperations_i");
|
MESSAGE("GEOM_IBooleanOperations_i::GEOM_IBooleanOperations_i");
|
||||||
@ -62,23 +62,17 @@ GEOM_IBooleanOperations_i::~GEOM_IBooleanOperations_i()
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakeBoolean
|
GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakeBoolean
|
||||||
(GEOM::GEOM_Object_ptr theShape1,
|
(GEOM::GEOM_Object_ptr theShape1,
|
||||||
GEOM::GEOM_Object_ptr theShape2,
|
GEOM::GEOM_Object_ptr theShape2,
|
||||||
CORBA::Long theOp)
|
CORBA::Long theOp)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape1 == NULL || theShape2 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shapes
|
//Get the reference shapes
|
||||||
CORBA::String_var entry=theShape1->GetEntry();
|
Handle(GEOM_Object) aSh1 = GetObjectImpl(theShape1);
|
||||||
Handle(GEOM_Object) aSh1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aSh2 = GetObjectImpl(theShape2);
|
||||||
(theShape1->GetStudyID(), entry);
|
|
||||||
entry=theShape2->GetEntry();
|
|
||||||
Handle(GEOM_Object) aSh2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape2->GetStudyID(), entry);
|
|
||||||
|
|
||||||
if (aSh1.IsNull() || aSh2.IsNull()) return aGEOMObject._retn();
|
if (aSh1.IsNull() || aSh2.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -97,13 +91,13 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakeBoolean
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartition
|
GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartition
|
||||||
(const GEOM::ListOfGO& theShapes,
|
(const GEOM::ListOfGO& theShapes,
|
||||||
const GEOM::ListOfGO& theTools,
|
const GEOM::ListOfGO& theTools,
|
||||||
const GEOM::ListOfGO& theKeepIns,
|
const GEOM::ListOfGO& theKeepIns,
|
||||||
const GEOM::ListOfGO& theRemoveIns,
|
const GEOM::ListOfGO& theRemoveIns,
|
||||||
CORBA::Short theLimit,
|
CORBA::Short theLimit,
|
||||||
CORBA::Boolean theRemoveWebs,
|
CORBA::Boolean theRemoveWebs,
|
||||||
const GEOM::ListOfLong& theMaterials,
|
const GEOM::ListOfLong& theMaterials,
|
||||||
CORBA::Short theKeepNonlimitShapes)
|
CORBA::Short theKeepNonlimitShapes)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -120,9 +114,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartition
|
|||||||
//Get the shapes
|
//Get the shapes
|
||||||
aLen = theShapes.length();
|
aLen = theShapes.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theShapes[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theShapes[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShapes[ind]->GetStudyID(), theShapes[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aShapes->Append(aSh);
|
aShapes->Append(aSh);
|
||||||
}
|
}
|
||||||
@ -130,9 +122,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartition
|
|||||||
//Get the tools
|
//Get the tools
|
||||||
aLen = theTools.length();
|
aLen = theTools.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theTools[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theTools[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theTools[ind]->GetStudyID(), theTools[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aTools->Append(aSh);
|
aTools->Append(aSh);
|
||||||
}
|
}
|
||||||
@ -140,9 +130,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartition
|
|||||||
//Get the keep inside shapes
|
//Get the keep inside shapes
|
||||||
aLen = theKeepIns.length();
|
aLen = theKeepIns.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theKeepIns[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theKeepIns[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theKeepIns[ind]->GetStudyID(), theKeepIns[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aKeepIns->Append(aSh);
|
aKeepIns->Append(aSh);
|
||||||
}
|
}
|
||||||
@ -150,9 +138,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartition
|
|||||||
//Get the remove inside shapes
|
//Get the remove inside shapes
|
||||||
aLen = theRemoveIns.length();
|
aLen = theRemoveIns.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theRemoveIns[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theRemoveIns[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theRemoveIns[ind]->GetStudyID(), theRemoveIns[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aRemIns->Append(aSh);
|
aRemIns->Append(aSh);
|
||||||
}
|
}
|
||||||
@ -169,9 +155,9 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartition
|
|||||||
// Make Partition
|
// Make Partition
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakePartition(aShapes, aTools, aKeepIns, aRemIns,
|
GetOperations()->MakePartition(aShapes, aTools, aKeepIns, aRemIns,
|
||||||
theLimit, theRemoveWebs, aMaterials,
|
theLimit, theRemoveWebs, aMaterials,
|
||||||
theKeepNonlimitShapes,
|
theKeepNonlimitShapes,
|
||||||
/*PerformSelfIntersections*/Standard_True);
|
/*PerformSelfIntersections*/Standard_True);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -185,13 +171,13 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartition
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartitionNonSelfIntersectedShape
|
GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartitionNonSelfIntersectedShape
|
||||||
(const GEOM::ListOfGO& theShapes,
|
(const GEOM::ListOfGO& theShapes,
|
||||||
const GEOM::ListOfGO& theTools,
|
const GEOM::ListOfGO& theTools,
|
||||||
const GEOM::ListOfGO& theKeepIns,
|
const GEOM::ListOfGO& theKeepIns,
|
||||||
const GEOM::ListOfGO& theRemoveIns,
|
const GEOM::ListOfGO& theRemoveIns,
|
||||||
CORBA::Short theLimit,
|
CORBA::Short theLimit,
|
||||||
CORBA::Boolean theRemoveWebs,
|
CORBA::Boolean theRemoveWebs,
|
||||||
const GEOM::ListOfLong& theMaterials,
|
const GEOM::ListOfLong& theMaterials,
|
||||||
CORBA::Short theKeepNonlimitShapes)
|
CORBA::Short theKeepNonlimitShapes)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -208,9 +194,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartitionNonSelfIntersected
|
|||||||
//Get the shapes
|
//Get the shapes
|
||||||
aLen = theShapes.length();
|
aLen = theShapes.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theShapes[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theShapes[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShapes[ind]->GetStudyID(), theShapes[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aShapes->Append(aSh);
|
aShapes->Append(aSh);
|
||||||
}
|
}
|
||||||
@ -218,9 +202,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartitionNonSelfIntersected
|
|||||||
//Get the tools
|
//Get the tools
|
||||||
aLen = theTools.length();
|
aLen = theTools.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theTools[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theTools[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theTools[ind]->GetStudyID(), theTools[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aTools->Append(aSh);
|
aTools->Append(aSh);
|
||||||
}
|
}
|
||||||
@ -228,9 +210,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartitionNonSelfIntersected
|
|||||||
//Get the keep inside shapes
|
//Get the keep inside shapes
|
||||||
aLen = theKeepIns.length();
|
aLen = theKeepIns.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theKeepIns[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theKeepIns[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theKeepIns[ind]->GetStudyID(), theKeepIns[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aKeepIns->Append(aSh);
|
aKeepIns->Append(aSh);
|
||||||
}
|
}
|
||||||
@ -238,9 +218,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartitionNonSelfIntersected
|
|||||||
//Get the remove inside shapes
|
//Get the remove inside shapes
|
||||||
aLen = theRemoveIns.length();
|
aLen = theRemoveIns.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theRemoveIns[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theRemoveIns[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theRemoveIns[ind]->GetStudyID(), theRemoveIns[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aRemIns->Append(aSh);
|
aRemIns->Append(aSh);
|
||||||
}
|
}
|
||||||
@ -257,9 +235,9 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartitionNonSelfIntersected
|
|||||||
// Make Partition
|
// Make Partition
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
GetOperations()->MakePartition(aShapes, aTools, aKeepIns, aRemIns,
|
GetOperations()->MakePartition(aShapes, aTools, aKeepIns, aRemIns,
|
||||||
theLimit, theRemoveWebs, aMaterials,
|
theLimit, theRemoveWebs, aMaterials,
|
||||||
theKeepNonlimitShapes,
|
theKeepNonlimitShapes,
|
||||||
/*PerformSelfIntersections*/Standard_False);
|
/*PerformSelfIntersections*/Standard_False);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -273,20 +251,16 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartitionNonSelfIntersected
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakeHalfPartition
|
GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakeHalfPartition
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
GEOM::GEOM_Object_ptr thePlane)
|
GEOM::GEOM_Object_ptr thePlane)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || thePlane == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shapes
|
//Get the reference shapes
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aSh = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aPl = GetObjectImpl(thePlane);
|
||||||
Handle(GEOM_Object) aPl = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePlane->GetStudyID(), thePlane->GetEntry());
|
|
||||||
|
|
||||||
if (aSh.IsNull() || aPl.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull() || aPl.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#include <Standard_Stream.hxx>
|
#include <Standard_Stream.hxx>
|
||||||
|
|
||||||
#include "GEOM_ICurvesOperations_i.hh"
|
#include "GEOM_ICurvesOperations_i.hh"
|
||||||
@ -37,8 +37,8 @@ using namespace std;
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM_ICurvesOperations_i::GEOM_ICurvesOperations_i (PortableServer::POA_ptr thePOA,
|
GEOM_ICurvesOperations_i::GEOM_ICurvesOperations_i (PortableServer::POA_ptr thePOA,
|
||||||
GEOM::GEOM_Gen_ptr theEngine,
|
GEOM::GEOM_Gen_ptr theEngine,
|
||||||
::GEOMImpl_ICurvesOperations* theImpl)
|
::GEOMImpl_ICurvesOperations* theImpl)
|
||||||
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
||||||
{
|
{
|
||||||
MESSAGE("GEOM_ICurvesOperations_i::GEOM_ICurvesOperations_i");
|
MESSAGE("GEOM_ICurvesOperations_i::GEOM_ICurvesOperations_i");
|
||||||
@ -62,20 +62,16 @@ GEOM_ICurvesOperations_i::~GEOM_ICurvesOperations_i()
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeCirclePntVecR
|
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeCirclePntVecR
|
||||||
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
||||||
CORBA::Double theR)
|
CORBA::Double theR)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt == NULL || theVec == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
|
||||||
(thePnt->GetStudyID(), thePnt->GetEntry());
|
Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
|
||||||
Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theVec->GetStudyID(), theVec->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -95,22 +91,17 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeCirclePntVecR
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeCircleThreePnt
|
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeCircleThreePnt
|
||||||
(GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2,
|
(GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2,
|
||||||
GEOM::GEOM_Object_ptr thePnt3)
|
GEOM::GEOM_Object_ptr thePnt3)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt1 == NULL || thePnt2 == NULL || thePnt3 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
Handle(GEOM_Object) aPnt1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt1 = GetObjectImpl(thePnt1);
|
||||||
(thePnt1->GetStudyID(), thePnt1->GetEntry());
|
Handle(GEOM_Object) aPnt2 = GetObjectImpl(thePnt2);
|
||||||
Handle(GEOM_Object) aPnt2 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt3 = GetObjectImpl(thePnt3);
|
||||||
(thePnt2->GetStudyID(), thePnt2->GetEntry());
|
|
||||||
Handle(GEOM_Object) aPnt3 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt3->GetStudyID(), thePnt3->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt1.IsNull() || aPnt2.IsNull() || aPnt3.IsNull()) return aGEOMObject._retn();
|
if (aPnt1.IsNull() || aPnt2.IsNull() || aPnt3.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -130,22 +121,17 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeCircleThreePnt
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeCircleCenter2Pnt
|
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeCircleCenter2Pnt
|
||||||
(GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2,
|
(GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2,
|
||||||
GEOM::GEOM_Object_ptr thePnt3)
|
GEOM::GEOM_Object_ptr thePnt3)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt1 == NULL || thePnt2 == NULL || thePnt3 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
Handle(GEOM_Object) aPnt1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt1 = GetObjectImpl(thePnt1);
|
||||||
(thePnt1->GetStudyID(), thePnt1->GetEntry());
|
Handle(GEOM_Object) aPnt2 = GetObjectImpl(thePnt2);
|
||||||
Handle(GEOM_Object) aPnt2 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt3 = GetObjectImpl(thePnt3);
|
||||||
(thePnt2->GetStudyID(), thePnt2->GetEntry());
|
|
||||||
Handle(GEOM_Object) aPnt3 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt3->GetStudyID(), thePnt3->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt1.IsNull() || aPnt2.IsNull() || aPnt3.IsNull()) return aGEOMObject._retn();
|
if (aPnt1.IsNull() || aPnt2.IsNull() || aPnt3.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -164,20 +150,16 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeCircleCenter2Pnt
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeEllipse
|
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeEllipse
|
||||||
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
||||||
CORBA::Double theRMajor, double theRMinor)
|
CORBA::Double theRMajor, double theRMinor)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt == NULL || theVec == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the arguments
|
//Get the arguments
|
||||||
Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
|
||||||
(thePnt->GetStudyID(), thePnt->GetEntry());
|
Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
|
||||||
Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theVec->GetStudyID(), theVec->GetEntry());
|
|
||||||
Handle(GEOM_Object) aVecMaj;
|
Handle(GEOM_Object) aVecMaj;
|
||||||
|
|
||||||
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
|
||||||
@ -198,8 +180,8 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeEllipse
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeEllipseVec
|
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeEllipseVec
|
||||||
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
|
||||||
CORBA::Double theRMajor, double theRMinor,
|
CORBA::Double theRMajor, double theRMinor,
|
||||||
GEOM::GEOM_Object_ptr theVecMaj)
|
GEOM::GEOM_Object_ptr theVecMaj)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -207,14 +189,11 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeEllipseVec
|
|||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
//Get the arguments
|
//Get the arguments
|
||||||
Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
|
||||||
(thePnt->GetStudyID(), thePnt->GetEntry());
|
Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
|
||||||
Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theVec->GetStudyID(), theVec->GetEntry());
|
|
||||||
Handle(GEOM_Object) aVecMaj;
|
Handle(GEOM_Object) aVecMaj;
|
||||||
if (!CORBA::is_nil(theVecMaj)) {
|
if (!CORBA::is_nil(theVecMaj)) {
|
||||||
aVecMaj = GetOperations()->GetEngine()->GetObject
|
aVecMaj = GetObjectImpl(theVecMaj);
|
||||||
(theVecMaj->GetStudyID(), theVecMaj->GetEntry());
|
|
||||||
if (aVecMaj.IsNull()) return aGEOMObject._retn();
|
if (aVecMaj.IsNull()) return aGEOMObject._retn();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,23 +213,18 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeEllipseVec
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeArc
|
GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeArc
|
||||||
(GEOM::GEOM_Object_ptr thePnt1,
|
(GEOM::GEOM_Object_ptr thePnt1,
|
||||||
GEOM::GEOM_Object_ptr thePnt2,
|
GEOM::GEOM_Object_ptr thePnt2,
|
||||||
GEOM::GEOM_Object_ptr thePnt3)
|
GEOM::GEOM_Object_ptr thePnt3)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt1 == NULL || thePnt2 == NULL || thePnt3 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
Handle(GEOM_Object) aPnt1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt1 = GetObjectImpl(thePnt1);
|
||||||
(thePnt1->GetStudyID(), thePnt1->GetEntry());
|
Handle(GEOM_Object) aPnt2 = GetObjectImpl(thePnt2);
|
||||||
Handle(GEOM_Object) aPnt2 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt3 = GetObjectImpl(thePnt3);
|
||||||
(thePnt2->GetStudyID(), thePnt2->GetEntry());
|
|
||||||
Handle(GEOM_Object) aPnt3 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt3->GetStudyID(), thePnt3->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt1.IsNull() || aPnt2.IsNull() || aPnt3.IsNull()) return aGEOMObject._retn();
|
if (aPnt1.IsNull() || aPnt2.IsNull() || aPnt3.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -280,15 +254,10 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeArcCenter
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt1 == NULL || thePnt2 == NULL || thePnt3 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
Handle(GEOM_Object) aPnt1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt1 = GetObjectImpl(thePnt1);
|
||||||
(thePnt1->GetStudyID(), thePnt1->GetEntry());
|
Handle(GEOM_Object) aPnt2 = GetObjectImpl(thePnt2);
|
||||||
Handle(GEOM_Object) aPnt2 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt3 = GetObjectImpl(thePnt3);
|
||||||
(thePnt2->GetStudyID(), thePnt2->GetEntry());
|
|
||||||
Handle(GEOM_Object) aPnt3 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt3->GetStudyID(), thePnt3->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt1.IsNull() || aPnt2.IsNull() || aPnt3.IsNull()) return aGEOMObject._retn();
|
if (aPnt1.IsNull() || aPnt2.IsNull() || aPnt3.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -300,6 +269,7 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeArcCenter
|
|||||||
|
|
||||||
return GetObject(anObject);
|
return GetObject(anObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* MakePolyline
|
* MakePolyline
|
||||||
@ -318,11 +288,7 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakePolyline
|
|||||||
int aLen = thePoints.length();
|
int aLen = thePoints.length();
|
||||||
list<Handle(GEOM_Object)> aPoints;
|
list<Handle(GEOM_Object)> aPoints;
|
||||||
for (; ind < aLen; ind++) {
|
for (; ind < aLen; ind++) {
|
||||||
if (thePoints[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aPnt = GetObjectImpl(thePoints[ind]);
|
||||||
|
|
||||||
Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoints[ind]->GetStudyID(), thePoints[ind]->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt.IsNull()) return aGEOMObject._retn();
|
if (aPnt.IsNull()) return aGEOMObject._retn();
|
||||||
aPoints.push_back(aPnt);
|
aPoints.push_back(aPnt);
|
||||||
}
|
}
|
||||||
@ -354,11 +320,7 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeSplineBezier
|
|||||||
int aLen = thePoints.length();
|
int aLen = thePoints.length();
|
||||||
list<Handle(GEOM_Object)> aPoints;
|
list<Handle(GEOM_Object)> aPoints;
|
||||||
for (; ind < aLen; ind++) {
|
for (; ind < aLen; ind++) {
|
||||||
if (thePoints[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aPnt = GetObjectImpl(thePoints[ind]);
|
||||||
|
|
||||||
Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoints[ind]->GetStudyID(), thePoints[ind]->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt.IsNull()) return aGEOMObject._retn();
|
if (aPnt.IsNull()) return aGEOMObject._retn();
|
||||||
aPoints.push_back(aPnt);
|
aPoints.push_back(aPnt);
|
||||||
}
|
}
|
||||||
@ -390,11 +352,7 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeSplineInterpolation
|
|||||||
int aLen = thePoints.length();
|
int aLen = thePoints.length();
|
||||||
list<Handle(GEOM_Object)> aPoints;
|
list<Handle(GEOM_Object)> aPoints;
|
||||||
for (; ind < aLen; ind++) {
|
for (; ind < aLen; ind++) {
|
||||||
if (thePoints[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aPnt = GetObjectImpl(thePoints[ind]);
|
||||||
|
|
||||||
Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoints[ind]->GetStudyID(), thePoints[ind]->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt.IsNull()) return aGEOMObject._retn();
|
if (aPnt.IsNull()) return aGEOMObject._retn();
|
||||||
aPoints.push_back(aPnt);
|
aPoints.push_back(aPnt);
|
||||||
}
|
}
|
||||||
@ -446,8 +404,7 @@ GEOM::GEOM_Object_ptr GEOM_ICurvesOperations_i::MakeSketcherOnPlane
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
Handle(GEOM_Object) aWorkingPlane = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aWorkingPlane = GetObjectImpl(theWorkingPlane);
|
||||||
(theWorkingPlane->GetStudyID(), theWorkingPlane->GetEntry());
|
|
||||||
|
|
||||||
// Make Sketcher
|
// Make Sketcher
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject =
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#include <Standard_Stream.hxx>
|
#include <Standard_Stream.hxx>
|
||||||
|
|
||||||
#include "GEOM_IGroupOperations_i.hh"
|
#include "GEOM_IGroupOperations_i.hh"
|
||||||
@ -39,8 +39,8 @@
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM_IGroupOperations_i::GEOM_IGroupOperations_i (PortableServer::POA_ptr thePOA,
|
GEOM_IGroupOperations_i::GEOM_IGroupOperations_i (PortableServer::POA_ptr thePOA,
|
||||||
GEOM::GEOM_Gen_ptr theEngine,
|
GEOM::GEOM_Gen_ptr theEngine,
|
||||||
::GEOMImpl_IGroupOperations* theImpl)
|
::GEOMImpl_IGroupOperations* theImpl)
|
||||||
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
||||||
{
|
{
|
||||||
MESSAGE("GEOM_IGroupOperations_i::GEOM_IGroupOperations_i");
|
MESSAGE("GEOM_IGroupOperations_i::GEOM_IGroupOperations_i");
|
||||||
@ -61,19 +61,19 @@ GEOM_IGroupOperations_i::~GEOM_IGroupOperations_i()
|
|||||||
/*!
|
/*!
|
||||||
* CreateGroup
|
* CreateGroup
|
||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IGroupOperations_i::CreateGroup(GEOM::GEOM_Object_ptr theMainShape, CORBA::Long theShapeType)
|
GEOM::GEOM_Object_ptr GEOM_IGroupOperations_i::CreateGroup(GEOM::GEOM_Object_ptr theMainShape,
|
||||||
|
CORBA::Long theShapeType)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theMainShape == NULL || theShapeType < 0) return aGEOMObject._retn();
|
if (theShapeType < 0) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject(theMainShape->GetStudyID(), theMainShape->GetEntry());
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theMainShape);
|
||||||
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Fillet
|
//Create the Fillet
|
||||||
@ -89,40 +89,33 @@ GEOM::GEOM_Object_ptr GEOM_IGroupOperations_i::CreateGroup(GEOM::GEOM_Object_ptr
|
|||||||
* AddObject
|
* AddObject
|
||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IGroupOperations_i::AddObject(GEOM::GEOM_Object_ptr theGroup, CORBA::Long theSubShapeId)
|
void GEOM_IGroupOperations_i::AddObject(GEOM::GEOM_Object_ptr theGroup, CORBA::Long theSubShapeId)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theGroup == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference group
|
//Get the reference group
|
||||||
Handle(GEOM_Object) aGroupRef = GetOperations()->GetEngine()->GetObject(theGroup->GetStudyID(), theGroup->GetEntry());
|
Handle(GEOM_Object) aGroupRef = GetObjectImpl(theGroup);
|
||||||
if (aGroupRef.IsNull()) return;
|
if (aGroupRef.IsNull()) return;
|
||||||
|
|
||||||
GetOperations()->AddObject(aGroupRef, theSubShapeId);
|
GetOperations()->AddObject(aGroupRef, theSubShapeId);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* RemoveObject
|
* RemoveObject
|
||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IGroupOperations_i::RemoveObject(GEOM::GEOM_Object_ptr theGroup, CORBA::Long theSubShapeId)
|
void GEOM_IGroupOperations_i::RemoveObject(GEOM::GEOM_Object_ptr theGroup, CORBA::Long theSubShapeId)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theGroup == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference group
|
//Get the reference group
|
||||||
Handle(GEOM_Object) aGroupRef = GetOperations()->GetEngine()->GetObject(theGroup->GetStudyID(), theGroup->GetEntry());
|
Handle(GEOM_Object) aGroupRef = GetObjectImpl(theGroup);
|
||||||
if (aGroupRef.IsNull()) return;
|
if (aGroupRef.IsNull()) return;
|
||||||
|
|
||||||
GetOperations()->RemoveObject(aGroupRef, theSubShapeId);
|
GetOperations()->RemoveObject(aGroupRef, theSubShapeId);
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
@ -131,16 +124,13 @@ void GEOM_IGroupOperations_i::RemoveObject(GEOM::GEOM_Object_ptr theGroup, CORBA
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IGroupOperations_i::UnionList (GEOM::GEOM_Object_ptr theGroup,
|
void GEOM_IGroupOperations_i::UnionList (GEOM::GEOM_Object_ptr theGroup,
|
||||||
const GEOM::ListOfGO& theSubShapes)
|
const GEOM::ListOfGO& theSubShapes)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theGroup == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference group
|
//Get the reference group
|
||||||
Handle(GEOM_Object) aGroupRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aGroupRef = GetObjectImpl(theGroup);
|
||||||
(theGroup->GetStudyID(), theGroup->GetEntry());
|
|
||||||
if (aGroupRef.IsNull()) return;
|
if (aGroupRef.IsNull()) return;
|
||||||
|
|
||||||
//Get sub-shape to add
|
//Get sub-shape to add
|
||||||
@ -148,16 +138,13 @@ void GEOM_IGroupOperations_i::UnionList (GEOM::GEOM_Object_ptr theGroup,
|
|||||||
|
|
||||||
int ind, aLen = theSubShapes.length();
|
int ind, aLen = theSubShapes.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theSubShapes[ind] == NULL) return;
|
Handle(GEOM_Object) aSh = GetObjectImpl(theSubShapes[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theSubShapes[ind]->GetStudyID(), theSubShapes[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return;
|
if (aSh.IsNull()) return;
|
||||||
aSubShapes->Append(aSh);
|
aSubShapes->Append(aSh);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Perform the operation
|
//Perform the operation
|
||||||
GetOperations()->UnionList(aGroupRef, aSubShapes);
|
GetOperations()->UnionList(aGroupRef, aSubShapes);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
@ -166,16 +153,13 @@ void GEOM_IGroupOperations_i::UnionList (GEOM::GEOM_Object_ptr theGroup,
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IGroupOperations_i::DifferenceList (GEOM::GEOM_Object_ptr theGroup,
|
void GEOM_IGroupOperations_i::DifferenceList (GEOM::GEOM_Object_ptr theGroup,
|
||||||
const GEOM::ListOfGO& theSubShapes)
|
const GEOM::ListOfGO& theSubShapes)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theGroup == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference group
|
//Get the reference group
|
||||||
Handle(GEOM_Object) aGroupRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aGroupRef = GetObjectImpl(theGroup);
|
||||||
(theGroup->GetStudyID(), theGroup->GetEntry());
|
|
||||||
if (aGroupRef.IsNull()) return;
|
if (aGroupRef.IsNull()) return;
|
||||||
|
|
||||||
//Get sub-shape to remove
|
//Get sub-shape to remove
|
||||||
@ -183,16 +167,13 @@ void GEOM_IGroupOperations_i::DifferenceList (GEOM::GEOM_Object_ptr theGroup,
|
|||||||
|
|
||||||
int ind, aLen = theSubShapes.length();
|
int ind, aLen = theSubShapes.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theSubShapes[ind] == NULL) return;
|
Handle(GEOM_Object) aSh = GetObjectImpl(theSubShapes[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theSubShapes[ind]->GetStudyID(), theSubShapes[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return;
|
if (aSh.IsNull()) return;
|
||||||
aSubShapes->Append(aSh);
|
aSubShapes->Append(aSh);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Perform the operation
|
//Perform the operation
|
||||||
GetOperations()->DifferenceList(aGroupRef, aSubShapes);
|
GetOperations()->DifferenceList(aGroupRef, aSubShapes);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
@ -201,16 +182,13 @@ void GEOM_IGroupOperations_i::DifferenceList (GEOM::GEOM_Object_ptr theGroup,
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IGroupOperations_i::UnionIDs (GEOM::GEOM_Object_ptr theGroup,
|
void GEOM_IGroupOperations_i::UnionIDs (GEOM::GEOM_Object_ptr theGroup,
|
||||||
const GEOM::ListOfLong& theSubShapes)
|
const GEOM::ListOfLong& theSubShapes)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theGroup == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference group
|
//Get the reference group
|
||||||
Handle(GEOM_Object) aGroupRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aGroupRef = GetObjectImpl(theGroup);
|
||||||
(theGroup->GetStudyID(), theGroup->GetEntry());
|
|
||||||
if (aGroupRef.IsNull()) return;
|
if (aGroupRef.IsNull()) return;
|
||||||
|
|
||||||
//Get sub-shape to add
|
//Get sub-shape to add
|
||||||
@ -232,16 +210,13 @@ void GEOM_IGroupOperations_i::UnionIDs (GEOM::GEOM_Object_ptr theGroup,
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IGroupOperations_i::DifferenceIDs (GEOM::GEOM_Object_ptr theGroup,
|
void GEOM_IGroupOperations_i::DifferenceIDs (GEOM::GEOM_Object_ptr theGroup,
|
||||||
const GEOM::ListOfLong& theSubShapes)
|
const GEOM::ListOfLong& theSubShapes)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theGroup == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference group
|
//Get the reference group
|
||||||
Handle(GEOM_Object) aGroupRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aGroupRef = GetObjectImpl(theGroup);
|
||||||
(theGroup->GetStudyID(), theGroup->GetEntry());
|
|
||||||
if (aGroupRef.IsNull()) return;
|
if (aGroupRef.IsNull()) return;
|
||||||
|
|
||||||
//Get sub-shape to remove
|
//Get sub-shape to remove
|
||||||
@ -261,17 +236,14 @@ void GEOM_IGroupOperations_i::DifferenceIDs (GEOM::GEOM_Object_ptr theGroup,
|
|||||||
/*!
|
/*!
|
||||||
* GetType
|
* GetType
|
||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
CORBA::Long GEOM_IGroupOperations_i::GetType(GEOM::GEOM_Object_ptr theGroup)
|
CORBA::Long GEOM_IGroupOperations_i::GetType(GEOM::GEOM_Object_ptr theGroup)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theGroup == NULL) return -1;
|
|
||||||
|
|
||||||
//Get the reference group
|
//Get the reference group
|
||||||
Handle(GEOM_Object) aGroupRef = GetOperations()->GetEngine()->GetObject(theGroup->GetStudyID(), theGroup->GetEntry());
|
Handle(GEOM_Object) aGroupRef = GetObjectImpl(theGroup);
|
||||||
|
|
||||||
if (aGroupRef.IsNull()) return -1;
|
if (aGroupRef.IsNull()) return -1;
|
||||||
|
|
||||||
return GetOperations()->GetType(aGroupRef);
|
return GetOperations()->GetType(aGroupRef);
|
||||||
@ -281,7 +253,7 @@ CORBA::Long GEOM_IGroupOperations_i::GetType(GEOM::GEOM_Object_ptr theGroup)
|
|||||||
/*!
|
/*!
|
||||||
* GetMainShape
|
* GetMainShape
|
||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IGroupOperations_i::GetMainShape(GEOM::GEOM_Object_ptr theGroup)
|
GEOM::GEOM_Object_ptr GEOM_IGroupOperations_i::GetMainShape(GEOM::GEOM_Object_ptr theGroup)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
@ -289,10 +261,8 @@ GEOM::GEOM_Object_ptr GEOM_IGroupOperations_i::GetMainShape(GEOM::GEOM_Object_pt
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theGroup == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference group
|
//Get the reference group
|
||||||
Handle(GEOM_Object) aGroupRef = GetOperations()->GetEngine()->GetObject(theGroup->GetStudyID(), theGroup->GetEntry());
|
Handle(GEOM_Object) aGroupRef = GetObjectImpl(theGroup);
|
||||||
if (aGroupRef.IsNull()) return aGEOMObject._retn();
|
if (aGroupRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject = GetOperations()->GetMainShape(aGroupRef);
|
Handle(GEOM_Object) anObject = GetOperations()->GetMainShape(aGroupRef);
|
||||||
@ -305,7 +275,7 @@ GEOM::GEOM_Object_ptr GEOM_IGroupOperations_i::GetMainShape(GEOM::GEOM_Object_pt
|
|||||||
/*!
|
/*!
|
||||||
* GetObjects
|
* GetObjects
|
||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfLong* GEOM_IGroupOperations_i::GetObjects(GEOM::GEOM_Object_ptr theGroup)
|
GEOM::ListOfLong* GEOM_IGroupOperations_i::GetObjects(GEOM::GEOM_Object_ptr theGroup)
|
||||||
{
|
{
|
||||||
GEOM::ListOfLong_var aList;
|
GEOM::ListOfLong_var aList;
|
||||||
@ -313,20 +283,17 @@ GEOM::ListOfLong* GEOM_IGroupOperations_i::GetObjects(GEOM::GEOM_Object_ptr theG
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theGroup == NULL) return aList._retn();
|
|
||||||
|
|
||||||
//Get the reference group
|
//Get the reference group
|
||||||
Handle(GEOM_Object) aGroupRef = GetOperations()->GetEngine()->GetObject(theGroup->GetStudyID(), theGroup->GetEntry());
|
Handle(GEOM_Object) aGroupRef = GetObjectImpl(theGroup);
|
||||||
if (aGroupRef.IsNull()) return aList._retn();
|
if (aGroupRef.IsNull()) return aList._retn();
|
||||||
|
|
||||||
aList = new GEOM::ListOfLong;
|
aList = new GEOM::ListOfLong;
|
||||||
|
|
||||||
Handle(TColStd_HArray1OfInteger) aSeq = GetOperations()->GetObjects(aGroupRef);
|
Handle(TColStd_HArray1OfInteger) aSeq = GetOperations()->GetObjects(aGroupRef);
|
||||||
if (!GetOperations()->IsDone() || aSeq.IsNull()) return aList._retn();
|
if (!GetOperations()->IsDone() || aSeq.IsNull()) return aList._retn();
|
||||||
|
|
||||||
aList->length(aSeq->Length());
|
aList->length(aSeq->Length());
|
||||||
for(int i = 1; i<=aSeq->Length(); i++) aList[i-1] = aSeq->Value(i);
|
for(int i = 1; i<=aSeq->Length(); i++) aList[i-1] = aSeq->Value(i);
|
||||||
|
|
||||||
return aList._retn();
|
return aList._retn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#include <Standard_Stream.hxx>
|
#include <Standard_Stream.hxx>
|
||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
@ -42,8 +42,8 @@ using namespace std;
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
GEOM_IHealingOperations_i::GEOM_IHealingOperations_i (PortableServer::POA_ptr thePOA,
|
GEOM_IHealingOperations_i::GEOM_IHealingOperations_i (PortableServer::POA_ptr thePOA,
|
||||||
GEOM::GEOM_Gen_ptr theEngine,
|
GEOM::GEOM_Gen_ptr theEngine,
|
||||||
::GEOMImpl_IHealingOperations* theImpl)
|
::GEOMImpl_IHealingOperations* theImpl)
|
||||||
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
||||||
{
|
{
|
||||||
MESSAGE("GEOM_IHealingOperations_i::GEOM_IHealingOperations_i");
|
MESSAGE("GEOM_IHealingOperations_i::GEOM_IHealingOperations_i");
|
||||||
@ -106,27 +106,22 @@ Handle(TColStd_HArray1OfExtendedString) GEOM_IHealingOperations_i::Convert
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::ProcessShape (GEOM::GEOM_Object_ptr theObject,
|
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::ProcessShape (GEOM::GEOM_Object_ptr theObject,
|
||||||
const GEOM::string_array& theOperations,
|
const GEOM::string_array& theOperations,
|
||||||
const GEOM::string_array& theParams,
|
const GEOM::string_array& theParams,
|
||||||
const GEOM::string_array& theValues)
|
const GEOM::string_array& theValues)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
// Set a not done flag
|
// Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
// Check parameters
|
|
||||||
if ( CORBA::is_nil(theObject) )
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
// Check if theOperations has more than 0 elements and theParams and theValues have the same length
|
// Check if theOperations has more than 0 elements and theParams and theValues have the same length
|
||||||
// if ( theOperations.length() <= 0 || theParams.length() != theValues.length() )
|
//if (theOperations.length() <= 0 || theParams.length() != theValues.length())
|
||||||
// return aGEOMObject._retn();
|
// return aGEOMObject._retn();
|
||||||
|
|
||||||
// Get the object itself
|
// Get the object itself
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
|
||||||
GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), theObject->GetEntry());
|
if (anObject.IsNull())
|
||||||
if ( anObject.IsNull() )
|
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
// Perform
|
// Perform
|
||||||
@ -171,7 +166,7 @@ void GEOM_IHealingOperations_i::GetShapeProcessParameters(GEOM::string_array_out
|
|||||||
anOpArray[i] = CORBA::string_dup( (*opIt).c_str() );
|
anOpArray[i] = CORBA::string_dup( (*opIt).c_str() );
|
||||||
|
|
||||||
for ( i = 0, parIt = paramsList.begin(), valIt = valuesList.begin();
|
for ( i = 0, parIt = paramsList.begin(), valIt = valuesList.begin();
|
||||||
parIt != paramsList.end(); i++, ++parIt,++valIt ) {
|
parIt != paramsList.end(); i++, ++parIt,++valIt ) {
|
||||||
aParArray[i] = CORBA::string_dup( (*parIt).c_str() );
|
aParArray[i] = CORBA::string_dup( (*parIt).c_str() );
|
||||||
aValArray[i] = CORBA::string_dup( (*valIt).c_str() );
|
aValArray[i] = CORBA::string_dup( (*valIt).c_str() );
|
||||||
}
|
}
|
||||||
@ -188,9 +183,9 @@ void GEOM_IHealingOperations_i::GetShapeProcessParameters(GEOM::string_array_out
|
|||||||
* GetOperatorParameters
|
* GetOperatorParameters
|
||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IHealingOperations_i::GetOperatorParameters (const char* theOperator,
|
void GEOM_IHealingOperations_i::GetOperatorParameters (const char* theOperator,
|
||||||
GEOM::string_array_out theParams,
|
GEOM::string_array_out theParams,
|
||||||
GEOM::string_array_out theValues)
|
GEOM::string_array_out theValues)
|
||||||
{
|
{
|
||||||
GEOM::string_array_var aParArray = new GEOM::string_array();
|
GEOM::string_array_var aParArray = new GEOM::string_array();
|
||||||
GEOM::string_array_var aValArray = new GEOM::string_array();
|
GEOM::string_array_var aValArray = new GEOM::string_array();
|
||||||
@ -209,8 +204,8 @@ void GEOM_IHealingOperations_i::GetOperatorParameters (const char* theOperator,
|
|||||||
int i;
|
int i;
|
||||||
for ( i = 0, parIt = paramsList.begin(), valIt = valuesList.begin();
|
for ( i = 0, parIt = paramsList.begin(), valIt = valuesList.begin();
|
||||||
parIt != paramsList.end(); i++, ++parIt,++valIt ) {
|
parIt != paramsList.end(); i++, ++parIt,++valIt ) {
|
||||||
aParArray[i] = CORBA::string_dup( (*parIt).c_str() );
|
aParArray[i] = CORBA::string_dup( (*parIt).c_str() );
|
||||||
aValArray[i] = CORBA::string_dup( (*valIt).c_str() );
|
aValArray[i] = CORBA::string_dup( (*valIt).c_str() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -226,23 +221,20 @@ void GEOM_IHealingOperations_i::GetOperatorParameters (const char* theOperator,
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::SuppressFaces (GEOM::GEOM_Object_ptr theObject,
|
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::SuppressFaces (GEOM::GEOM_Object_ptr theObject,
|
||||||
const GEOM::short_array& theFaces)
|
const GEOM::short_array& theFaces)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
// Set a not done flag
|
// Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
// Check parameters
|
|
||||||
if ( CORBA::is_nil(theObject) ) // if theFaces is empty - it's OK, it means that ALL faces must be removed
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
// Get the object itself
|
// Get the object itself
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
|
||||||
GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), theObject->GetEntry());
|
|
||||||
if (anObject.IsNull())
|
if (anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
|
// if theFaces is empty - it's OK, it means that ALL faces must be removed
|
||||||
|
|
||||||
// Perform
|
// Perform
|
||||||
Handle(GEOM_Object) aNewObject =
|
Handle(GEOM_Object) aNewObject =
|
||||||
GetOperations()->SuppressFaces( anObject, Convert( theFaces ) );
|
GetOperations()->SuppressFaces( anObject, Convert( theFaces ) );
|
||||||
@ -258,21 +250,16 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::SuppressFaces (GEOM::GEOM_Objec
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::CloseContour (GEOM::GEOM_Object_ptr theObject,
|
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::CloseContour (GEOM::GEOM_Object_ptr theObject,
|
||||||
const GEOM::short_array& theWires,
|
const GEOM::short_array& theWires,
|
||||||
CORBA::Boolean isCommonVertex)
|
CORBA::Boolean isCommonVertex)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
// Set a not done flag
|
// Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
// Check parameters
|
|
||||||
if ( CORBA::is_nil(theObject) )
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
// Get the object itself
|
// Get the object itself
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
|
||||||
GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), theObject->GetEntry());
|
|
||||||
if (anObject.IsNull())
|
if (anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -291,23 +278,20 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::CloseContour (GEOM::GEOM_Object
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::RemoveIntWires (GEOM::GEOM_Object_ptr theObject,
|
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::RemoveIntWires (GEOM::GEOM_Object_ptr theObject,
|
||||||
const GEOM::short_array& theWires)
|
const GEOM::short_array& theWires)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
// Set a not done flag
|
// Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
// Check parameters
|
|
||||||
if ( CORBA::is_nil(theObject) ) // if theWires is empty - it's OK, it means that ALL wires should be removed
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
// Get the object itself
|
// Get the object itself
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
|
||||||
GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), theObject->GetEntry());
|
|
||||||
if (anObject.IsNull())
|
if (anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
|
// if theWires is empty - it's OK, it means that ALL wires should be removed
|
||||||
|
|
||||||
// Perform
|
// Perform
|
||||||
Handle(GEOM_Object) aNewObject =
|
Handle(GEOM_Object) aNewObject =
|
||||||
GetOperations()->RemoveIntWires( anObject, Convert( theWires ) );
|
GetOperations()->RemoveIntWires( anObject, Convert( theWires ) );
|
||||||
@ -323,23 +307,20 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::RemoveIntWires (GEOM::GEOM_Obje
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::FillHoles (GEOM::GEOM_Object_ptr theObject,
|
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::FillHoles (GEOM::GEOM_Object_ptr theObject,
|
||||||
const GEOM::short_array& theWires)
|
const GEOM::short_array& theWires)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
// Set a not done flag
|
// Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
// Check parameters
|
|
||||||
if ( CORBA::is_nil(theObject) ) // if theWires is empty - it's OK, it means that ALL wires should be removed
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
// Get the object itself
|
// Get the object itself
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
|
||||||
GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), theObject->GetEntry());
|
|
||||||
if (anObject.IsNull())
|
if (anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
|
// if theWires is empty - it's OK, it means that ALL wires should be removed
|
||||||
|
|
||||||
// Perform
|
// Perform
|
||||||
Handle(GEOM_Object) aNewObject =
|
Handle(GEOM_Object) aNewObject =
|
||||||
GetOperations()->FillHoles( anObject, Convert( theWires ) );
|
GetOperations()->FillHoles( anObject, Convert( theWires ) );
|
||||||
@ -355,7 +336,7 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::FillHoles (GEOM::GEOM_Object_pt
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::Sew (GEOM::GEOM_Object_ptr theObject,
|
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::Sew (GEOM::GEOM_Object_ptr theObject,
|
||||||
CORBA::Double theTolerance)
|
CORBA::Double theTolerance)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -363,12 +344,11 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::Sew (GEOM::GEOM_Object_ptr theO
|
|||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
if ( CORBA::is_nil(theObject) || theTolerance < 0 )
|
if (theTolerance < 0)
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
// Get the object itself
|
// Get the object itself
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
|
||||||
GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), theObject->GetEntry());
|
|
||||||
if (anObject.IsNull())
|
if (anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -388,8 +368,8 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::Sew (GEOM::GEOM_Object_ptr theO
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::DivideEdge (GEOM::GEOM_Object_ptr theObject,
|
GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::DivideEdge (GEOM::GEOM_Object_ptr theObject,
|
||||||
CORBA::Short theIndex,
|
CORBA::Short theIndex,
|
||||||
CORBA::Double theValue,
|
CORBA::Double theValue,
|
||||||
CORBA::Boolean isByParameter)
|
CORBA::Boolean isByParameter)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -397,12 +377,11 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::DivideEdge (GEOM::GEOM_Object_p
|
|||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
if ( CORBA::is_nil(theObject) || theValue < 0 || theValue > 1 )
|
if (theValue < 0 || theValue > 1)
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
// Get the object itself
|
// Get the object itself
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
|
||||||
GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), theObject->GetEntry());
|
|
||||||
if (anObject.IsNull())
|
if (anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -421,8 +400,8 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::DivideEdge (GEOM::GEOM_Object_p
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
CORBA::Boolean GEOM_IHealingOperations_i::GetFreeBoundary ( GEOM::GEOM_Object_ptr theObject,
|
CORBA::Boolean GEOM_IHealingOperations_i::GetFreeBoundary ( GEOM::GEOM_Object_ptr theObject,
|
||||||
GEOM::ListOfGO_out theClosedWires,
|
GEOM::ListOfGO_out theClosedWires,
|
||||||
GEOM::ListOfGO_out theOpenWires )
|
GEOM::ListOfGO_out theOpenWires )
|
||||||
{
|
{
|
||||||
theClosedWires = new GEOM::ListOfGO;
|
theClosedWires = new GEOM::ListOfGO;
|
||||||
theOpenWires = new GEOM::ListOfGO;
|
theOpenWires = new GEOM::ListOfGO;
|
||||||
@ -430,12 +409,8 @@ CORBA::Boolean GEOM_IHealingOperations_i::GetFreeBoundary ( GEOM::GEOM_Object_pt
|
|||||||
// Set a not done flag
|
// Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if ( CORBA::is_nil(theObject) )
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// Get the object itself
|
// Get the object itself
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
|
||||||
GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), theObject->GetEntry());
|
|
||||||
if (anObject.IsNull())
|
if (anObject.IsNull())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -444,7 +419,7 @@ CORBA::Boolean GEOM_IHealingOperations_i::GetFreeBoundary ( GEOM::GEOM_Object_pt
|
|||||||
bool res = GetOperations()->GetFreeBoundary( anObject, aClosed, anOpen );
|
bool res = GetOperations()->GetFreeBoundary( anObject, aClosed, anOpen );
|
||||||
|
|
||||||
if ( !GetOperations()->IsDone() || !res )
|
if ( !GetOperations()->IsDone() || !res )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
int i, n = aClosed->Length();
|
int i, n = aClosed->Length();
|
||||||
theClosedWires->length( n );
|
theClosedWires->length( n );
|
||||||
@ -479,8 +454,7 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::ChangeOrientation (GEOM::GEOM_O
|
|||||||
aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
|
aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
|
||||||
|
|
||||||
// Get the object itself
|
// Get the object itself
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
|
||||||
GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), theObject->GetEntry());
|
|
||||||
if (anObject.IsNull())
|
if (anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -491,7 +465,7 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::ChangeOrientation (GEOM::GEOM_O
|
|||||||
// return aGEOMObject._retn();
|
// return aGEOMObject._retn();
|
||||||
|
|
||||||
//return GetObject(aNewObject);
|
//return GetObject(aNewObject);
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -507,13 +481,8 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::ChangeOrientationCopy (GEOM::GE
|
|||||||
// Set a not done flag
|
// Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
// Check parameters
|
|
||||||
if ( CORBA::is_nil(theObject) )
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
// Get the object itself
|
// Get the object itself
|
||||||
Handle(GEOM_Object) anObject =
|
Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
|
||||||
GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), theObject->GetEntry());
|
|
||||||
if (anObject.IsNull())
|
if (anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -525,4 +494,3 @@ GEOM::GEOM_Object_ptr GEOM_IHealingOperations_i::ChangeOrientationCopy (GEOM::GE
|
|||||||
|
|
||||||
return GetObject(aNewObject);
|
return GetObject(aNewObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#ifdef WNT
|
#ifdef WNT
|
||||||
#pragma warning( disable:4786 )
|
#pragma warning( disable:4786 )
|
||||||
#endif
|
#endif
|
||||||
@ -42,8 +42,8 @@
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM_IInsertOperations_i::GEOM_IInsertOperations_i (PortableServer::POA_ptr thePOA,
|
GEOM_IInsertOperations_i::GEOM_IInsertOperations_i (PortableServer::POA_ptr thePOA,
|
||||||
GEOM::GEOM_Gen_ptr theEngine,
|
GEOM::GEOM_Gen_ptr theEngine,
|
||||||
::GEOMImpl_IInsertOperations* theImpl)
|
::GEOMImpl_IInsertOperations* theImpl)
|
||||||
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
||||||
{
|
{
|
||||||
MESSAGE("GEOM_IInsertOperations_i::GEOM_IInsertOperations_i");
|
MESSAGE("GEOM_IInsertOperations_i::GEOM_IInsertOperations_i");
|
||||||
@ -72,13 +72,8 @@ GEOM::GEOM_Object_ptr GEOM_IInsertOperations_i::MakeCopy(GEOM::GEOM_Object_ptr t
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theOriginal == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) anOriginal =
|
Handle(GEOM_Object) anOriginal = GetObjectImpl(theOriginal);
|
||||||
GetOperations()->GetEngine()->GetObject(theOriginal->GetStudyID(),
|
|
||||||
theOriginal->GetEntry());
|
|
||||||
|
|
||||||
if (anOriginal.IsNull()) return aGEOMObject._retn();
|
if (anOriginal.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the copy
|
//Create the copy
|
||||||
@ -96,21 +91,16 @@ GEOM::GEOM_Object_ptr GEOM_IInsertOperations_i::MakeCopy(GEOM::GEOM_Object_ptr t
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IInsertOperations_i::Export
|
void GEOM_IInsertOperations_i::Export
|
||||||
(GEOM::GEOM_Object_ptr theOriginal,
|
(GEOM::GEOM_Object_ptr theOriginal,
|
||||||
const char* theFileName,
|
const char* theFileName,
|
||||||
const char* theFormatName)
|
const char* theFormatName)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject = GEOM::GEOM_Object::_duplicate(theOriginal);
|
GEOM::GEOM_Object_var aGEOMObject = GEOM::GEOM_Object::_duplicate(theOriginal);
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theOriginal == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) anOriginal =
|
Handle(GEOM_Object) anOriginal = GetObjectImpl(theOriginal);
|
||||||
GetOperations()->GetEngine()->GetObject(theOriginal->GetStudyID(),
|
|
||||||
theOriginal->GetEntry());
|
|
||||||
|
|
||||||
if (anOriginal.IsNull()) return;
|
if (anOriginal.IsNull()) return;
|
||||||
|
|
||||||
//Export the shape to the file
|
//Export the shape to the file
|
||||||
@ -119,8 +109,6 @@ void GEOM_IInsertOperations_i::Export
|
|||||||
GetOperations()->Export(anOriginal, aFileName, aFormatName);
|
GetOperations()->Export(anOriginal, aFileName, aFormatName);
|
||||||
free(aFileName);
|
free(aFileName);
|
||||||
free(aFormatName);
|
free(aFormatName);
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
@ -130,7 +118,7 @@ void GEOM_IInsertOperations_i::Export
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IInsertOperations_i::Import
|
GEOM::GEOM_Object_ptr GEOM_IInsertOperations_i::Import
|
||||||
(const char* theFileName,
|
(const char* theFileName,
|
||||||
const char* theFormatName)
|
const char* theFormatName)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -174,8 +162,8 @@ void GEOM_IInsertOperations_i::ImportTranslators
|
|||||||
// fill the local CORBA arrays with values from sequences
|
// fill the local CORBA arrays with values from sequences
|
||||||
CORBA::Long i = 1;
|
CORBA::Long i = 1;
|
||||||
for (; i <= formSize; i++) {
|
for (; i <= formSize; i++) {
|
||||||
aFormatsArray[i-1] = CORBA::string_dup(aFormats->Value(i).ToCString());
|
aFormatsArray[i-1] = CORBA::string_dup(aFormats->Value(i).ToCString());
|
||||||
aPatternsArray[i-1] = CORBA::string_dup(aPatterns->Value(i).ToCString());
|
aPatternsArray[i-1] = CORBA::string_dup(aPatterns->Value(i).ToCString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -209,8 +197,8 @@ void GEOM_IInsertOperations_i::ExportTranslators
|
|||||||
// fill the local CORBA arrays with values from sequences
|
// fill the local CORBA arrays with values from sequences
|
||||||
CORBA::Long i = 1;
|
CORBA::Long i = 1;
|
||||||
for (; i <= formSize; i++) {
|
for (; i <= formSize; i++) {
|
||||||
aFormatsArray[i-1] = CORBA::string_dup(aFormats->Value(i).ToCString());
|
aFormatsArray[i-1] = CORBA::string_dup(aFormats->Value(i).ToCString());
|
||||||
aPatternsArray[i-1] = CORBA::string_dup(aPatterns->Value(i).ToCString());
|
aPatternsArray[i-1] = CORBA::string_dup(aPatterns->Value(i).ToCString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#include <Standard_Stream.hxx>
|
#include <Standard_Stream.hxx>
|
||||||
|
|
||||||
#include "GEOM_ILocalOperations_i.hh"
|
#include "GEOM_ILocalOperations_i.hh"
|
||||||
@ -38,8 +38,8 @@ using namespace std;
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM_ILocalOperations_i::GEOM_ILocalOperations_i (PortableServer::POA_ptr thePOA,
|
GEOM_ILocalOperations_i::GEOM_ILocalOperations_i (PortableServer::POA_ptr thePOA,
|
||||||
GEOM::GEOM_Gen_ptr theEngine,
|
GEOM::GEOM_Gen_ptr theEngine,
|
||||||
::GEOMImpl_ILocalOperations* theImpl)
|
::GEOMImpl_ILocalOperations* theImpl)
|
||||||
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
||||||
{
|
{
|
||||||
MESSAGE("GEOM_ILocalOperations_i::GEOM_ILocalOperations_i");
|
MESSAGE("GEOM_ILocalOperations_i::GEOM_ILocalOperations_i");
|
||||||
@ -66,12 +66,8 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletAll
|
|||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Fillet
|
//Create the Fillet
|
||||||
@ -90,15 +86,12 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletAll
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletEdges
|
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletEdges
|
||||||
(GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
|
(GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
|
||||||
const GEOM::ListOfLong& theEdges)
|
const GEOM::ListOfLong& theEdges)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the reference edges
|
//Get the reference edges
|
||||||
@ -129,11 +122,8 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletEdgesR1R2
|
|||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the reference edges
|
//Get the reference edges
|
||||||
@ -160,15 +150,12 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletEdgesR1R2
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletFaces
|
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletFaces
|
||||||
(GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
|
(GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
|
||||||
const GEOM::ListOfLong& theFaces)
|
const GEOM::ListOfLong& theFaces)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the reference faces
|
//Get the reference faces
|
||||||
@ -199,11 +186,8 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletFacesR1R2
|
|||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the reference faces
|
//Get the reference faces
|
||||||
@ -233,12 +217,8 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferAll
|
|||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Chamfer
|
//Create the Chamfer
|
||||||
@ -257,16 +237,13 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferAll
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdge
|
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdge
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double theD1, CORBA::Double theD2,
|
CORBA::Double theD1, CORBA::Double theD2,
|
||||||
CORBA::Long theFace1, CORBA::Long theFace2)
|
CORBA::Long theFace1, CORBA::Long theFace2)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Chamfer
|
//Create the Chamfer
|
||||||
@ -284,16 +261,13 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdge
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdgeAD
|
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdgeAD
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double theD, CORBA::Double theAngle,
|
CORBA::Double theD, CORBA::Double theAngle,
|
||||||
CORBA::Long theFace1, CORBA::Long theFace2)
|
CORBA::Long theFace1, CORBA::Long theFace2)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Chamfer
|
//Create the Chamfer
|
||||||
@ -312,16 +286,13 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdgeAD
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferFaces
|
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferFaces
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double theD1, CORBA::Double theD2,
|
CORBA::Double theD1, CORBA::Double theD2,
|
||||||
const GEOM::ListOfLong& theFaces)
|
const GEOM::ListOfLong& theFaces)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the reference faces
|
//Get the reference faces
|
||||||
@ -347,16 +318,13 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferFaces
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferFacesAD
|
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferFacesAD
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double theD, CORBA::Double theAngle,
|
CORBA::Double theD, CORBA::Double theAngle,
|
||||||
const GEOM::ListOfLong& theFaces)
|
const GEOM::ListOfLong& theFaces)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the reference faces
|
//Get the reference faces
|
||||||
@ -383,16 +351,13 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferFacesAD
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdges
|
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdges
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double theD1, CORBA::Double theD2,
|
CORBA::Double theD1, CORBA::Double theD2,
|
||||||
const GEOM::ListOfLong& theEdges)
|
const GEOM::ListOfLong& theEdges)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the reference edges
|
//Get the reference edges
|
||||||
@ -419,16 +384,13 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdges
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdgesAD
|
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdgesAD
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double theD, CORBA::Double theAngle,
|
CORBA::Double theD, CORBA::Double theAngle,
|
||||||
const GEOM::ListOfLong& theEdges)
|
const GEOM::ListOfLong& theEdges)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Get the reference edges
|
//Get the reference edges
|
||||||
@ -454,17 +416,14 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdgesAD
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double theWeight,
|
CORBA::Double theWeight,
|
||||||
CORBA::Double theWaterDensity,
|
CORBA::Double theWaterDensity,
|
||||||
CORBA::Double theMeshingDeflection)
|
CORBA::Double theMeshingDeflection)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
if (aShapeRef.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Archimede
|
//Create the Archimede
|
||||||
@ -484,13 +443,9 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeArchimede (GEOM::GEOM_Object_
|
|||||||
CORBA::Long GEOM_ILocalOperations_i::GetSubShapeIndex
|
CORBA::Long GEOM_ILocalOperations_i::GetSubShapeIndex
|
||||||
(GEOM::GEOM_Object_ptr theShape, GEOM::GEOM_Object_ptr theSubShape)
|
(GEOM::GEOM_Object_ptr theShape, GEOM::GEOM_Object_ptr theSubShape)
|
||||||
{
|
{
|
||||||
if (theShape == NULL || theSubShape == NULL) return -1;
|
|
||||||
|
|
||||||
//Get the reference shapes
|
//Get the reference shapes
|
||||||
Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aSubShapeRef = GetObjectImpl(theSubShape);
|
||||||
Handle(GEOM_Object) aSubShapeRef = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theSubShape->GetStudyID(), theSubShape->GetEntry());
|
|
||||||
if (aShapeRef.IsNull() || aSubShapeRef.IsNull()) return -1;
|
if (aShapeRef.IsNull() || aSubShapeRef.IsNull()) return -1;
|
||||||
|
|
||||||
//Get the unique ID of <theSubShape> inside <theShape>
|
//Get the unique ID of <theSubShape> inside <theShape>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#include <Standard_Stream.hxx>
|
#include <Standard_Stream.hxx>
|
||||||
|
|
||||||
#include "GEOM_IMeasureOperations_i.hh"
|
#include "GEOM_IMeasureOperations_i.hh"
|
||||||
@ -35,8 +35,8 @@
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM_IMeasureOperations_i::GEOM_IMeasureOperations_i (PortableServer::POA_ptr thePOA,
|
GEOM_IMeasureOperations_i::GEOM_IMeasureOperations_i (PortableServer::POA_ptr thePOA,
|
||||||
GEOM::GEOM_Gen_ptr theEngine,
|
GEOM::GEOM_Gen_ptr theEngine,
|
||||||
::GEOMImpl_IMeasureOperations* theImpl)
|
::GEOMImpl_IMeasureOperations* theImpl)
|
||||||
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
||||||
{
|
{
|
||||||
MESSAGE("GEOM_IMeasureOperations_i::GEOM_IMeasureOperations_i");
|
MESSAGE("GEOM_IMeasureOperations_i::GEOM_IMeasureOperations_i");
|
||||||
@ -59,8 +59,8 @@ GEOM_IMeasureOperations_i::~GEOM_IMeasureOperations_i()
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_IKindOfShape::shape_kind GEOM_IMeasureOperations_i::KindOfShape
|
GEOM::GEOM_IKindOfShape::shape_kind GEOM_IMeasureOperations_i::KindOfShape
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
GEOM::ListOfLong_out theIntegers,
|
GEOM::ListOfLong_out theIntegers,
|
||||||
GEOM::ListOfDouble_out theDoubles)
|
GEOM::ListOfDouble_out theDoubles)
|
||||||
{
|
{
|
||||||
GEOMImpl_IMeasureOperations::ShapeKind aKind = GEOMImpl_IMeasureOperations::SK_NO_SHAPE;
|
GEOMImpl_IMeasureOperations::ShapeKind aKind = GEOMImpl_IMeasureOperations::SK_NO_SHAPE;
|
||||||
|
|
||||||
@ -69,8 +69,7 @@ GEOM::GEOM_IKindOfShape::shape_kind GEOM_IMeasureOperations_i::KindOfShape
|
|||||||
GEOM::ListOfDouble_var aDoublesArray = new GEOM::ListOfDouble();
|
GEOM::ListOfDouble_var aDoublesArray = new GEOM::ListOfDouble();
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (!aShape.IsNull()) {
|
if (!aShape.IsNull()) {
|
||||||
Handle(TColStd_HSequenceOfInteger) anIntegers = new TColStd_HSequenceOfInteger;
|
Handle(TColStd_HSequenceOfInteger) anIntegers = new TColStd_HSequenceOfInteger;
|
||||||
@ -106,9 +105,9 @@ GEOM::GEOM_IKindOfShape::shape_kind GEOM_IMeasureOperations_i::KindOfShape
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IMeasureOperations_i::GetPosition
|
void GEOM_IMeasureOperations_i::GetPosition
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double& Ox, CORBA::Double& Oy, CORBA::Double& Oz,
|
CORBA::Double& Ox, CORBA::Double& Oy, CORBA::Double& Oz,
|
||||||
CORBA::Double& Zx, CORBA::Double& Zy, CORBA::Double& Zz,
|
CORBA::Double& Zx, CORBA::Double& Zy, CORBA::Double& Zz,
|
||||||
CORBA::Double& Xx, CORBA::Double& Xy, CORBA::Double& Xz)
|
CORBA::Double& Xx, CORBA::Double& Xy, CORBA::Double& Xz)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
@ -117,12 +116,8 @@ void GEOM_IMeasureOperations_i::GetPosition
|
|||||||
Ox = Oy = Oz = Zx = Zy = Xy = Xz = 0.;
|
Ox = Oy = Oz = Zx = Zy = Xy = Xz = 0.;
|
||||||
Zz = Xx = 1.;
|
Zz = Xx = 1.;
|
||||||
|
|
||||||
if (theShape == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return;
|
if (aShape.IsNull()) return;
|
||||||
|
|
||||||
// Get shape parameters
|
// Get shape parameters
|
||||||
@ -142,12 +137,8 @@ GEOM::GEOM_Object_ptr GEOM_IMeasureOperations_i::GetCentreOfMass
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (CORBA::is_nil(theShape)) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
// Make Point - centre of mass of theShape
|
// Make Point - centre of mass of theShape
|
||||||
@ -165,27 +156,21 @@ GEOM::GEOM_Object_ptr GEOM_IMeasureOperations_i::GetCentreOfMass
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IMeasureOperations_i::GetNormal
|
GEOM::GEOM_Object_ptr GEOM_IMeasureOperations_i::GetNormal
|
||||||
(GEOM::GEOM_Object_ptr theFace,
|
(GEOM::GEOM_Object_ptr theFace,
|
||||||
GEOM::GEOM_Object_ptr theOptionalPoint)
|
GEOM::GEOM_Object_ptr theOptionalPoint)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (CORBA::is_nil(theFace)) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aFace = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aFace = GetObjectImpl(theFace);
|
||||||
(theFace->GetStudyID(), theFace->GetEntry());
|
|
||||||
|
|
||||||
if (aFace.IsNull()) return aGEOMObject._retn();
|
if (aFace.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
|
// Get the OptionalPoint (can be not defined)
|
||||||
|
Handle(GEOM_Object) anOptionalPoint = GetObjectImpl(theOptionalPoint);
|
||||||
|
|
||||||
// Make Vector - normal to theFace (in point theOptionalPoint if the face is not planar)
|
// Make Vector - normal to theFace (in point theOptionalPoint if the face is not planar)
|
||||||
Handle(GEOM_Object) anOptionalPoint;
|
|
||||||
if (!CORBA::is_nil(theOptionalPoint)) {
|
|
||||||
anOptionalPoint = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theOptionalPoint->GetStudyID(), theOptionalPoint->GetEntry());
|
|
||||||
}
|
|
||||||
Handle(GEOM_Object) anObject = GetOperations()->GetNormal(aFace, anOptionalPoint);
|
Handle(GEOM_Object) anObject = GetOperations()->GetNormal(aFace, anOptionalPoint);
|
||||||
if (!GetOperations()->IsDone() || anObject.IsNull())
|
if (!GetOperations()->IsDone() || anObject.IsNull())
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
@ -199,19 +184,15 @@ GEOM::GEOM_Object_ptr GEOM_IMeasureOperations_i::GetNormal
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IMeasureOperations_i::GetBasicProperties (GEOM::GEOM_Object_ptr theShape,
|
void GEOM_IMeasureOperations_i::GetBasicProperties (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double& theLength,
|
CORBA::Double& theLength,
|
||||||
CORBA::Double& theSurfArea,
|
CORBA::Double& theSurfArea,
|
||||||
CORBA::Double& theVolume)
|
CORBA::Double& theVolume)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return;
|
if (aShape.IsNull()) return;
|
||||||
|
|
||||||
// Get shape parameters
|
// Get shape parameters
|
||||||
@ -233,20 +214,16 @@ void GEOM_IMeasureOperations_i::GetInertia
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return;
|
if (aShape.IsNull()) return;
|
||||||
|
|
||||||
// Get shape parameters
|
// Get shape parameters
|
||||||
GetOperations()->GetInertia(aShape,
|
GetOperations()->GetInertia(aShape,
|
||||||
I11, I12, I13,
|
I11, I12, I13,
|
||||||
I21, I22, I23,
|
I21, I22, I23,
|
||||||
I31, I32, I33,
|
I31, I32, I33,
|
||||||
Ix , Iy , Iz);
|
Ix , Iy , Iz);
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
@ -255,19 +232,15 @@ void GEOM_IMeasureOperations_i::GetInertia
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IMeasureOperations_i::GetBoundingBox (GEOM::GEOM_Object_ptr theShape,
|
void GEOM_IMeasureOperations_i::GetBoundingBox (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double& Xmin, CORBA::Double& Xmax,
|
CORBA::Double& Xmin, CORBA::Double& Xmax,
|
||||||
CORBA::Double& Ymin, CORBA::Double& Ymax,
|
CORBA::Double& Ymin, CORBA::Double& Ymax,
|
||||||
CORBA::Double& Zmin, CORBA::Double& Zmax)
|
CORBA::Double& Zmin, CORBA::Double& Zmax)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return;
|
if (aShape.IsNull()) return;
|
||||||
|
|
||||||
// Get shape parameters
|
// Get shape parameters
|
||||||
@ -281,26 +254,22 @@ void GEOM_IMeasureOperations_i::GetBoundingBox (GEOM::GEOM_Object_ptr theShape,
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IMeasureOperations_i::GetTolerance
|
void GEOM_IMeasureOperations_i::GetTolerance
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double& FaceMin, CORBA::Double& FaceMax,
|
CORBA::Double& FaceMin, CORBA::Double& FaceMax,
|
||||||
CORBA::Double& EdgeMin, CORBA::Double& EdgeMax,
|
CORBA::Double& EdgeMin, CORBA::Double& EdgeMax,
|
||||||
CORBA::Double& VertMin, CORBA::Double& VertMax)
|
CORBA::Double& VertMin, CORBA::Double& VertMax)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return;
|
if (aShape.IsNull()) return;
|
||||||
|
|
||||||
// Get shape parameters
|
// Get shape parameters
|
||||||
GetOperations()->GetTolerance(aShape,
|
GetOperations()->GetTolerance(aShape,
|
||||||
FaceMin, FaceMax,
|
FaceMin, FaceMax,
|
||||||
EdgeMin, EdgeMax,
|
EdgeMin, EdgeMax,
|
||||||
VertMin, VertMax);
|
VertMin, VertMax);
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
@ -309,20 +278,19 @@ void GEOM_IMeasureOperations_i::GetTolerance
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
CORBA::Boolean GEOM_IMeasureOperations_i::CheckShape (GEOM::GEOM_Object_ptr theShape,
|
CORBA::Boolean GEOM_IMeasureOperations_i::CheckShape (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::String_out theDescription)
|
CORBA::String_out theDescription)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL)
|
if (CORBA::is_nil(theShape))
|
||||||
{
|
{
|
||||||
theDescription = CORBA::string_dup("null");
|
theDescription = CORBA::string_dup("null");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull())
|
if (aShape.IsNull())
|
||||||
{
|
{
|
||||||
@ -342,20 +310,19 @@ CORBA::Boolean GEOM_IMeasureOperations_i::CheckShape (GEOM::GEOM_Object_ptr theS
|
|||||||
}
|
}
|
||||||
|
|
||||||
CORBA::Boolean GEOM_IMeasureOperations_i::CheckShapeWithGeometry (GEOM::GEOM_Object_ptr theShape,
|
CORBA::Boolean GEOM_IMeasureOperations_i::CheckShapeWithGeometry (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::String_out theDescription)
|
CORBA::String_out theDescription)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL)
|
if (CORBA::is_nil(theShape))
|
||||||
{
|
{
|
||||||
theDescription = CORBA::string_dup("null");
|
theDescription = CORBA::string_dup("null");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull())
|
if (aShape.IsNull())
|
||||||
{
|
{
|
||||||
@ -384,12 +351,8 @@ char* GEOM_IMeasureOperations_i::WhatIs (GEOM::GEOM_Object_ptr theShape)
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return NULL;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return NULL;
|
if (aShape.IsNull()) return NULL;
|
||||||
|
|
||||||
// Get shape parameters
|
// Get shape parameters
|
||||||
@ -410,14 +373,9 @@ CORBA::Double GEOM_IMeasureOperations_i::GetMinDistance
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape1 == NULL || theShape2 == NULL) return -1.0;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape1 = GetObjectImpl(theShape1);
|
||||||
(theShape1->GetStudyID(), theShape1->GetEntry());
|
Handle(GEOM_Object) aShape2 = GetObjectImpl(theShape2);
|
||||||
Handle(GEOM_Object) aShape2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape2->GetStudyID(), theShape2->GetEntry());
|
|
||||||
|
|
||||||
if (aShape1.IsNull() || aShape2.IsNull()) return -1.0;
|
if (aShape1.IsNull() || aShape2.IsNull()) return -1.0;
|
||||||
|
|
||||||
// Get shape parameters
|
// Get shape parameters
|
||||||
@ -430,20 +388,15 @@ CORBA::Double GEOM_IMeasureOperations_i::GetMinDistance
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
void GEOM_IMeasureOperations_i::PointCoordinates (GEOM::GEOM_Object_ptr theShape,
|
void GEOM_IMeasureOperations_i::PointCoordinates (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double& X, CORBA::Double& Y, CORBA::Double& Z)
|
CORBA::Double& X, CORBA::Double& Y, CORBA::Double& Z)
|
||||||
|
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if ( theShape->_is_nil() )
|
|
||||||
return;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject(
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
theShape->GetStudyID(), theShape->GetEntry() );
|
if (aShape.IsNull())
|
||||||
|
|
||||||
if ( aShape.IsNull() )
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Get shape parameters
|
// Get shape parameters
|
||||||
@ -456,19 +409,14 @@ void GEOM_IMeasureOperations_i::PointCoordinates (GEOM::GEOM_Object_ptr theShape
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
CORBA::Double GEOM_IMeasureOperations_i::GetAngle (GEOM::GEOM_Object_ptr theShape1,
|
CORBA::Double GEOM_IMeasureOperations_i::GetAngle (GEOM::GEOM_Object_ptr theShape1,
|
||||||
GEOM::GEOM_Object_ptr theShape2)
|
GEOM::GEOM_Object_ptr theShape2)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape1 == NULL || theShape2 == NULL) return -1.0;
|
|
||||||
|
|
||||||
//Get the reference shapes
|
//Get the reference shapes
|
||||||
Handle(GEOM_Object) aShape1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape1 = GetObjectImpl(theShape1);
|
||||||
(theShape1->GetStudyID(), theShape1->GetEntry());
|
Handle(GEOM_Object) aShape2 = GetObjectImpl(theShape2);
|
||||||
Handle(GEOM_Object) aShape2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape2->GetStudyID(), theShape2->GetEntry());
|
|
||||||
|
|
||||||
if (aShape1.IsNull() || aShape2.IsNull()) return -1.0;
|
if (aShape1.IsNull() || aShape2.IsNull()) return -1.0;
|
||||||
|
|
||||||
// Get the angle
|
// Get the angle
|
||||||
@ -487,18 +435,13 @@ CORBA::Double GEOM_IMeasureOperations_i::CurveCurvatureByParam
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if(theCurve==NULL) return -1.0;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theCurve);
|
||||||
(theCurve->GetStudyID(), theCurve->GetEntry());
|
|
||||||
|
|
||||||
if(aShape.IsNull()) return -1.0;
|
if(aShape.IsNull()) return -1.0;
|
||||||
|
|
||||||
return GetOperations()->CurveCurvatureByParam(aShape,theParam);
|
return GetOperations()->CurveCurvatureByParam(aShape,theParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* CurveCurvatureByPoint
|
* CurveCurvatureByPoint
|
||||||
@ -510,14 +453,9 @@ CORBA::Double GEOM_IMeasureOperations_i::CurveCurvatureByPoint
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if( theCurve==NULL || thePoint==NULL ) return -1.0;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theCurve);
|
||||||
(theCurve->GetStudyID(), theCurve->GetEntry());
|
Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
|
||||||
Handle(GEOM_Object) aPoint = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoint->GetStudyID(), thePoint->GetEntry());
|
|
||||||
|
|
||||||
if( aShape.IsNull() || aPoint.IsNull() ) return -1.0;
|
if( aShape.IsNull() || aPoint.IsNull() ) return -1.0;
|
||||||
|
|
||||||
return GetOperations()->CurveCurvatureByPoint(aShape,aPoint);
|
return GetOperations()->CurveCurvatureByPoint(aShape,aPoint);
|
||||||
@ -531,24 +469,19 @@ CORBA::Double GEOM_IMeasureOperations_i::CurveCurvatureByPoint
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
CORBA::Double GEOM_IMeasureOperations_i::MaxSurfaceCurvatureByParam
|
CORBA::Double GEOM_IMeasureOperations_i::MaxSurfaceCurvatureByParam
|
||||||
(GEOM::GEOM_Object_ptr theSurf,
|
(GEOM::GEOM_Object_ptr theSurf,
|
||||||
CORBA::Double theUParam,
|
CORBA::Double theUParam,
|
||||||
CORBA::Double theVParam)
|
CORBA::Double theVParam)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if(theSurf==NULL) return -1.0;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
|
||||||
(theSurf->GetStudyID(), theSurf->GetEntry());
|
|
||||||
|
|
||||||
if(aShape.IsNull()) return -1.0;
|
if(aShape.IsNull()) return -1.0;
|
||||||
|
|
||||||
return GetOperations()->MaxSurfaceCurvatureByParam(aShape,theUParam,theVParam);
|
return GetOperations()->MaxSurfaceCurvatureByParam(aShape,theUParam,theVParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* MaxSurfaceCurvatureByPoint
|
* MaxSurfaceCurvatureByPoint
|
||||||
@ -560,20 +493,14 @@ CORBA::Double GEOM_IMeasureOperations_i::MaxSurfaceCurvatureByPoint
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if( theSurf==NULL || thePoint==NULL ) return -1.0;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
|
||||||
(theSurf->GetStudyID(), theSurf->GetEntry());
|
Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
|
||||||
Handle(GEOM_Object) aPoint = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePoint->GetStudyID(), thePoint->GetEntry());
|
|
||||||
|
|
||||||
if( aShape.IsNull() || aPoint.IsNull() ) return -1.0;
|
if( aShape.IsNull() || aPoint.IsNull() ) return -1.0;
|
||||||
|
|
||||||
return GetOperations()->MaxSurfaceCurvatureByPoint(aShape,aPoint);
|
return GetOperations()->MaxSurfaceCurvatureByPoint(aShape,aPoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* MinSurfaceCurvatureByParam
|
* MinSurfaceCurvatureByParam
|
||||||
@ -581,24 +508,19 @@ CORBA::Double GEOM_IMeasureOperations_i::MaxSurfaceCurvatureByPoint
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
CORBA::Double GEOM_IMeasureOperations_i::MinSurfaceCurvatureByParam
|
CORBA::Double GEOM_IMeasureOperations_i::MinSurfaceCurvatureByParam
|
||||||
(GEOM::GEOM_Object_ptr theSurf,
|
(GEOM::GEOM_Object_ptr theSurf,
|
||||||
CORBA::Double theUParam,
|
CORBA::Double theUParam,
|
||||||
CORBA::Double theVParam)
|
CORBA::Double theVParam)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if(theSurf==NULL) return -1.0;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
|
||||||
(theSurf->GetStudyID(), theSurf->GetEntry());
|
if (aShape.IsNull()) return -1.0;
|
||||||
|
|
||||||
if(aShape.IsNull()) return -1.0;
|
|
||||||
|
|
||||||
return GetOperations()->MinSurfaceCurvatureByParam(aShape,theUParam,theVParam);
|
return GetOperations()->MinSurfaceCurvatureByParam(aShape,theUParam,theVParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* MinSurfaceCurvatureByPoint
|
* MinSurfaceCurvatureByPoint
|
||||||
@ -610,15 +532,10 @@ CORBA::Double GEOM_IMeasureOperations_i::MinSurfaceCurvatureByPoint
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if( theSurf==NULL || thePoint==NULL ) return -1.0;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
|
||||||
(theSurf->GetStudyID(), theSurf->GetEntry());
|
Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
|
||||||
Handle(GEOM_Object) aPoint = GetOperations()->GetEngine()->GetObject
|
if (aShape.IsNull() || aPoint.IsNull()) return -1.0;
|
||||||
(thePoint->GetStudyID(), thePoint->GetEntry());
|
|
||||||
|
|
||||||
if( aShape.IsNull() || aPoint.IsNull() ) return -1.0;
|
|
||||||
|
|
||||||
return GetOperations()->MinSurfaceCurvatureByPoint(aShape,aPoint);
|
return GetOperations()->MinSurfaceCurvatureByPoint(aShape,aPoint);
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#include "GEOM_IOperations_i.hh"
|
#include "GEOM_IOperations_i.hh"
|
||||||
|
|
||||||
#include "GEOM_Engine.hxx"
|
#include "GEOM_Engine.hxx"
|
||||||
@ -131,9 +131,26 @@ void GEOM_IOperations_i::AbortOperation()
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IOperations_i::GetObject(Handle(GEOM_Object) theObject)
|
GEOM::GEOM_Object_ptr GEOM_IOperations_i::GetObject(Handle(GEOM_Object) theObject)
|
||||||
{
|
{
|
||||||
if(theObject.IsNull()) return NULL;
|
GEOM::GEOM_Object_var GO;
|
||||||
|
if (theObject.IsNull()) return GO._retn();
|
||||||
TCollection_AsciiString anEntry;
|
TCollection_AsciiString anEntry;
|
||||||
TDF_Tool::Entry(theObject->GetEntry(), anEntry);
|
TDF_Tool::Entry(theObject->GetEntry(), anEntry);
|
||||||
GEOM::GEOM_Object_var GO = _engine->GetObject(theObject->GetDocID(), anEntry.ToCString());
|
GO = _engine->GetObject(theObject->GetDocID(), anEntry.ToCString());
|
||||||
return GO._retn();
|
return GO._retn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
* GetObjectImpl
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
Handle(GEOM_Object) GEOM_IOperations_i::GetObjectImpl(GEOM::GEOM_Object_ptr theObject)
|
||||||
|
{
|
||||||
|
Handle(GEOM_Object) anImpl;
|
||||||
|
if (!CORBA::is_nil(theObject)) {
|
||||||
|
CORBA::String_var anEntry = theObject->GetEntry();
|
||||||
|
anImpl = GetImpl()->GetEngine()->GetObject
|
||||||
|
(theObject->GetStudyID(), anEntry);
|
||||||
|
}
|
||||||
|
return anImpl;
|
||||||
|
}
|
||||||
|
@ -47,6 +47,7 @@ class GEOM_I_EXPORT GEOM_IOperations_i : public virtual POA_GEOM::GEOM_IOperatio
|
|||||||
virtual CORBA::Long GetStudyID();
|
virtual CORBA::Long GetStudyID();
|
||||||
|
|
||||||
virtual GEOM::GEOM_Object_ptr GetObject(Handle(GEOM_Object) theObject);
|
virtual GEOM::GEOM_Object_ptr GetObject(Handle(GEOM_Object) theObject);
|
||||||
|
virtual Handle(GEOM_Object) GetObjectImpl(GEOM::GEOM_Object_ptr theObject);
|
||||||
|
|
||||||
virtual void StartOperation();
|
virtual void StartOperation();
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
|
||||||
#include <Standard_Stream.hxx>
|
#include <Standard_Stream.hxx>
|
||||||
|
|
||||||
#include "GEOM_IShapesOperations_i.hh"
|
#include "GEOM_IShapesOperations_i.hh"
|
||||||
@ -41,8 +41,8 @@ using namespace std;
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM_IShapesOperations_i::GEOM_IShapesOperations_i (PortableServer::POA_ptr thePOA,
|
GEOM_IShapesOperations_i::GEOM_IShapesOperations_i (PortableServer::POA_ptr thePOA,
|
||||||
GEOM::GEOM_Gen_ptr theEngine,
|
GEOM::GEOM_Gen_ptr theEngine,
|
||||||
::GEOMImpl_IShapesOperations* theImpl)
|
::GEOMImpl_IShapesOperations* theImpl)
|
||||||
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
|
||||||
{
|
{
|
||||||
MESSAGE("GEOM_IShapesOperations_i::GEOM_IShapesOperations_i");
|
MESSAGE("GEOM_IShapesOperations_i::GEOM_IShapesOperations_i");
|
||||||
@ -72,13 +72,9 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeEdge
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (thePnt1 == NULL || thePnt2 == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference points
|
//Get the reference points
|
||||||
Handle(GEOM_Object) aPnt1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aPnt1 = GetObjectImpl(thePnt1);
|
||||||
(thePnt1->GetStudyID(), thePnt1->GetEntry());
|
Handle(GEOM_Object) aPnt2 = GetObjectImpl(thePnt2);
|
||||||
Handle(GEOM_Object) aPnt2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt2->GetStudyID(), thePnt2->GetEntry());
|
|
||||||
|
|
||||||
if (aPnt1.IsNull() || aPnt2.IsNull()) return aGEOMObject._retn();
|
if (aPnt1.IsNull() || aPnt2.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
@ -109,9 +105,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeWire
|
|||||||
//Get the shapes
|
//Get the shapes
|
||||||
aLen = theEdgesAndWires.length();
|
aLen = theEdgesAndWires.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theEdgesAndWires[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theEdgesAndWires[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theEdgesAndWires[ind]->GetStudyID(), theEdgesAndWires[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aShapes.push_back(aSh);
|
aShapes.push_back(aSh);
|
||||||
}
|
}
|
||||||
@ -132,19 +126,15 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeWire
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFace
|
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFace
|
||||||
(GEOM::GEOM_Object_ptr theWire,
|
(GEOM::GEOM_Object_ptr theWire,
|
||||||
const CORBA::Boolean isPlanarWanted)
|
const CORBA::Boolean isPlanarWanted)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theWire == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference wire
|
//Get the reference wire
|
||||||
Handle(GEOM_Object) aWire = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aWire = GetObjectImpl(theWire);
|
||||||
(theWire->GetStudyID(), theWire->GetEntry());
|
|
||||||
|
|
||||||
if (aWire.IsNull()) return aGEOMObject._retn();
|
if (aWire.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Face
|
//Create the Face
|
||||||
@ -162,7 +152,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFace
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFaceWires
|
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFaceWires
|
||||||
(const GEOM::ListOfGO& theWires,
|
(const GEOM::ListOfGO& theWires,
|
||||||
const CORBA::Boolean isPlanarWanted)
|
const CORBA::Boolean isPlanarWanted)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
@ -175,9 +165,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFaceWires
|
|||||||
//Get the shapes
|
//Get the shapes
|
||||||
aLen = theWires.length();
|
aLen = theWires.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theWires[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theWires[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theWires[ind]->GetStudyID(), theWires[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aShapes.push_back(aSh);
|
aShapes.push_back(aSh);
|
||||||
}
|
}
|
||||||
@ -210,9 +198,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeShell
|
|||||||
//Get the shapes
|
//Get the shapes
|
||||||
aLen = theFacesAndShells.length();
|
aLen = theFacesAndShells.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theFacesAndShells[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theFacesAndShells[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theFacesAndShells[ind]->GetStudyID(), theFacesAndShells[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aShapes.push_back(aSh);
|
aShapes.push_back(aSh);
|
||||||
}
|
}
|
||||||
@ -239,12 +225,8 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeSolidShell
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShell == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShell = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShell = GetObjectImpl(theShell);
|
||||||
(theShell->GetStudyID(), theShell->GetEntry());
|
|
||||||
|
|
||||||
if (aShell.IsNull()) return aGEOMObject._retn();
|
if (aShell.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Solid
|
//Create the Solid
|
||||||
@ -274,9 +256,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeSolidShells
|
|||||||
//Get the shapes
|
//Get the shapes
|
||||||
aLen = theShells.length();
|
aLen = theShells.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theShells[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theShells[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShells[ind]->GetStudyID(), theShells[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aShapes.push_back(aSh);
|
aShapes.push_back(aSh);
|
||||||
}
|
}
|
||||||
@ -309,9 +289,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeCompound
|
|||||||
//Get the shapes
|
//Get the shapes
|
||||||
aLen = theShapes.length();
|
aLen = theShapes.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theShapes[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theShapes[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShapes[ind]->GetStudyID(), theShapes[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aShapes.push_back(aSh);
|
aShapes.push_back(aSh);
|
||||||
}
|
}
|
||||||
@ -332,20 +310,16 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeCompound
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeGlueFaces
|
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeGlueFaces
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double theTolerance,
|
CORBA::Double theTolerance,
|
||||||
CORBA::Boolean doKeepNonSolids)
|
CORBA::Boolean doKeepNonSolids)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Perform the gluing
|
//Perform the gluing
|
||||||
@ -367,18 +341,15 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeGlueFaces
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetGlueFaces
|
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetGlueFaces
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Double theTolerance)
|
const CORBA::Double theTolerance)
|
||||||
{
|
{
|
||||||
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
if (aShape.IsNull()) return aSeq._retn();
|
if (aShape.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
Handle(TColStd_HSequenceOfTransient) aHSeq =
|
Handle(TColStd_HSequenceOfTransient) aHSeq =
|
||||||
@ -405,21 +376,17 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetGlueFaces
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeGlueFacesByList
|
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeGlueFacesByList
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double theTolerance,
|
CORBA::Double theTolerance,
|
||||||
const GEOM::ListOfGO& theFaces,
|
const GEOM::ListOfGO& theFaces,
|
||||||
CORBA::Boolean doKeepNonSolids)
|
CORBA::Boolean doKeepNonSolids)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
int ind, aLen;
|
int ind, aLen;
|
||||||
@ -427,9 +394,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeGlueFacesByList
|
|||||||
//Get the shapes
|
//Get the shapes
|
||||||
aLen = theFaces.length();
|
aLen = theFaces.length();
|
||||||
for (ind = 0; ind < aLen; ind++) {
|
for (ind = 0; ind < aLen; ind++) {
|
||||||
if (theFaces[ind] == NULL) return aGEOMObject._retn();
|
Handle(GEOM_Object) aSh = GetObjectImpl(theFaces[ind]);
|
||||||
Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theFaces[ind]->GetStudyID(), theFaces[ind]->GetEntry());
|
|
||||||
if (aSh.IsNull()) return aGEOMObject._retn();
|
if (aSh.IsNull()) return aGEOMObject._retn();
|
||||||
aFaces.push_back(aSh);
|
aFaces.push_back(aSh);
|
||||||
}
|
}
|
||||||
@ -452,14 +417,13 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeGlueFacesByList
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfGO* GEOM_IShapesOperations_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
|
GEOM::ListOfGO* GEOM_IShapesOperations_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Long theShapeType,
|
const CORBA::Long theShapeType,
|
||||||
const CORBA::Boolean isSorted)
|
const CORBA::Boolean isSorted)
|
||||||
{
|
{
|
||||||
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
||||||
if (theShape == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
if (aShape.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
Handle(TColStd_HSequenceOfTransient) aHSeq =
|
Handle(TColStd_HSequenceOfTransient) aHSeq =
|
||||||
GetOperations()->MakeExplode(aShape, theShapeType, isSorted);
|
GetOperations()->MakeExplode(aShape, theShapeType, isSorted);
|
||||||
@ -480,14 +444,13 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::MakeExplode (GEOM::GEOM_Object_ptr the
|
|||||||
*/
|
*/
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfLong* GEOM_IShapesOperations_i::SubShapeAllIDs (GEOM::GEOM_Object_ptr theShape,
|
GEOM::ListOfLong* GEOM_IShapesOperations_i::SubShapeAllIDs (GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Long theShapeType,
|
const CORBA::Long theShapeType,
|
||||||
const CORBA::Boolean isSorted)
|
const CORBA::Boolean isSorted)
|
||||||
{
|
{
|
||||||
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
||||||
if (theShape == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
if (aShape.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
Handle(TColStd_HSequenceOfInteger) aHSeq =
|
Handle(TColStd_HSequenceOfInteger) aHSeq =
|
||||||
GetOperations()->SubShapeAllIDs(aShape, theShapeType, isSorted);
|
GetOperations()->SubShapeAllIDs(aShape, theShapeType, isSorted);
|
||||||
@ -508,19 +471,15 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::SubShapeAllIDs (GEOM::GEOM_Object_pt
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetSubShape
|
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetSubShape
|
||||||
(GEOM::GEOM_Object_ptr theMainShape,
|
(GEOM::GEOM_Object_ptr theMainShape,
|
||||||
const CORBA::Long theID)
|
const CORBA::Long theID)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theMainShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theMainShape);
|
||||||
(theMainShape->GetStudyID(), theMainShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
Handle(GEOM_Object) anObject = GetOperations()->GetSubShape(aShape, theID);
|
Handle(GEOM_Object) anObject = GetOperations()->GetSubShape(aShape, theID);
|
||||||
@ -538,13 +497,10 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetSubShape
|
|||||||
CORBA::Long GEOM_IShapesOperations_i::GetSubShapeIndex
|
CORBA::Long GEOM_IShapesOperations_i::GetSubShapeIndex
|
||||||
(GEOM::GEOM_Object_ptr theMainShape, GEOM::GEOM_Object_ptr theSubShape)
|
(GEOM::GEOM_Object_ptr theMainShape, GEOM::GEOM_Object_ptr theSubShape)
|
||||||
{
|
{
|
||||||
if (theMainShape == NULL || theSubShape == NULL) return -1;
|
|
||||||
|
|
||||||
//Get the reference shapes
|
//Get the reference shapes
|
||||||
Handle(GEOM_Object) aMainShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aMainShapeRef = GetObjectImpl(theMainShape);
|
||||||
(theMainShape->GetStudyID(), theMainShape->GetEntry());
|
Handle(GEOM_Object) aSubShapeRef = GetObjectImpl(theSubShape);
|
||||||
Handle(GEOM_Object) aSubShapeRef = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theSubShape->GetStudyID(), theSubShape->GetEntry());
|
|
||||||
if (aMainShapeRef.IsNull() || aSubShapeRef.IsNull()) return -1;
|
if (aMainShapeRef.IsNull() || aSubShapeRef.IsNull()) return -1;
|
||||||
|
|
||||||
//Get the unique ID of <theSubShape> inside <theMainShape>
|
//Get the unique ID of <theSubShape> inside <theMainShape>
|
||||||
@ -563,13 +519,10 @@ CORBA::Long GEOM_IShapesOperations_i::GetSubShapeIndex
|
|||||||
CORBA::Long GEOM_IShapesOperations_i::GetTopologyIndex
|
CORBA::Long GEOM_IShapesOperations_i::GetTopologyIndex
|
||||||
(GEOM::GEOM_Object_ptr theMainShape, GEOM::GEOM_Object_ptr theSubShape)
|
(GEOM::GEOM_Object_ptr theMainShape, GEOM::GEOM_Object_ptr theSubShape)
|
||||||
{
|
{
|
||||||
if (theMainShape == NULL || theSubShape == NULL) return -1;
|
|
||||||
|
|
||||||
//Get the reference shapes
|
//Get the reference shapes
|
||||||
Handle(GEOM_Object) aMainShapeRef = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aMainShapeRef = GetObjectImpl(theMainShape);
|
||||||
(theMainShape->GetStudyID(), theMainShape->GetEntry());
|
Handle(GEOM_Object) aSubShapeRef = GetObjectImpl(theSubShape);
|
||||||
Handle(GEOM_Object) aSubShapeRef = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theSubShape->GetStudyID(), theSubShape->GetEntry());
|
|
||||||
if (aMainShapeRef.IsNull() || aSubShapeRef.IsNull()) return -1;
|
if (aMainShapeRef.IsNull() || aSubShapeRef.IsNull()) return -1;
|
||||||
|
|
||||||
//Get an ID of <theSubShape>, unique among all sub-shapes of <theMainShape> of the same type
|
//Get an ID of <theSubShape>, unique among all sub-shapes of <theMainShape> of the same type
|
||||||
@ -587,12 +540,8 @@ CORBA::Long GEOM_IShapesOperations_i::GetTopologyIndex
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
char* GEOM_IShapesOperations_i::GetShapeTypeString (GEOM::GEOM_Object_ptr theShape)
|
char* GEOM_IShapesOperations_i::GetShapeTypeString (GEOM::GEOM_Object_ptr theShape)
|
||||||
{
|
{
|
||||||
if (theShape == NULL) return NULL;
|
|
||||||
|
|
||||||
//Get the reference shape
|
//Get the reference shape
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return NULL;
|
if (aShape.IsNull()) return NULL;
|
||||||
|
|
||||||
// Get shape parameters
|
// Get shape parameters
|
||||||
@ -607,10 +556,8 @@ char* GEOM_IShapesOperations_i::GetShapeTypeString (GEOM::GEOM_Object_ptr theSha
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
CORBA::Long GEOM_IShapesOperations_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
|
CORBA::Long GEOM_IShapesOperations_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
|
||||||
{
|
{
|
||||||
if (theShape == NULL) return -1;
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
|
if (aShape.IsNull()) return -1;
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
CORBA::Long aNb = GetOperations()->NumberOfFaces(aShape);
|
CORBA::Long aNb = GetOperations()->NumberOfFaces(aShape);
|
||||||
if (!GetOperations()->IsDone()) return -1;
|
if (!GetOperations()->IsDone()) return -1;
|
||||||
@ -625,10 +572,8 @@ CORBA::Long GEOM_IShapesOperations_i::NumberOfFaces (GEOM::GEOM_Object_ptr theSh
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
CORBA::Long GEOM_IShapesOperations_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
|
CORBA::Long GEOM_IShapesOperations_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
|
||||||
{
|
{
|
||||||
if (theShape == NULL) return -1;
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
|
if (aShape.IsNull()) return -1;
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
CORBA::Long aNb = GetOperations()->NumberOfEdges(aShape);
|
CORBA::Long aNb = GetOperations()->NumberOfEdges(aShape);
|
||||||
if (!GetOperations()->IsDone()) return -1;
|
if (!GetOperations()->IsDone()) return -1;
|
||||||
@ -649,12 +594,8 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::ChangeOrientation
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull()) return aGEOMObject._retn();
|
if (aShape.IsNull()) return aGEOMObject._retn();
|
||||||
|
|
||||||
//Create the Solid
|
//Create the Solid
|
||||||
@ -676,10 +617,9 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetFreeFacesIDs (GEOM::GEOM_Object_p
|
|||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
||||||
if (theShape == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
if (aShape.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
Handle(TColStd_HSequenceOfInteger) aHSeq =
|
Handle(TColStd_HSequenceOfInteger) aHSeq =
|
||||||
GetOperations()->GetFreeFacesIDs(aShape);
|
GetOperations()->GetFreeFacesIDs(aShape);
|
||||||
@ -700,23 +640,18 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetFreeFacesIDs (GEOM::GEOM_Object_p
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetSharedShapes
|
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetSharedShapes
|
||||||
(GEOM::GEOM_Object_ptr theShape1,
|
(GEOM::GEOM_Object_ptr theShape1,
|
||||||
GEOM::GEOM_Object_ptr theShape2,
|
GEOM::GEOM_Object_ptr theShape2,
|
||||||
const CORBA::Long theShapeType)
|
const CORBA::Long theShapeType)
|
||||||
{
|
{
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
||||||
if (theShape1 == NULL ||
|
|
||||||
theShape2 == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
Handle(GEOM_Object) aShape1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape1 = GetObjectImpl(theShape1);
|
||||||
(theShape1->GetStudyID(), theShape1->GetEntry());
|
Handle(GEOM_Object) aShape2 = GetObjectImpl(theShape2);
|
||||||
Handle(GEOM_Object) aShape2 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape2->GetStudyID(), theShape2->GetEntry());
|
|
||||||
|
|
||||||
if (aShape1.IsNull() ||
|
if (aShape1.IsNull() || aShape2.IsNull()) return aSeq._retn();
|
||||||
aShape2.IsNull()) return aSeq._retn();
|
|
||||||
|
|
||||||
Handle(TColStd_HSequenceOfTransient) aHSeq =
|
Handle(TColStd_HSequenceOfTransient) aHSeq =
|
||||||
GetOperations()->GetSharedShapes(aShape1, aShape2, theShapeType);
|
GetOperations()->GetSharedShapes(aShape1, aShape2, theShapeType);
|
||||||
@ -765,22 +700,18 @@ static GEOMAlgo_State ShapeState (const GEOM::shape_state theState)
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnPlane
|
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnPlane
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Long theShapeType,
|
const CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theAx1,
|
GEOM::GEOM_Object_ptr theAx1,
|
||||||
const GEOM::shape_state theState)
|
const GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || theAx1 == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) anAx1 = GetObjectImpl(theAx1);
|
||||||
Handle(GEOM_Object) anAx1 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theAx1->GetStudyID(), theAx1->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || anAx1.IsNull()) return aSeq._retn();
|
if (aShape.IsNull() || anAx1.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
@ -805,25 +736,20 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnPlane
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnPlaneWithLocation
|
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnPlaneWithLocation
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Long theShapeType,
|
const CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theAx1,
|
GEOM::GEOM_Object_ptr theAx1,
|
||||||
GEOM::GEOM_Object_ptr thePnt,
|
GEOM::GEOM_Object_ptr thePnt,
|
||||||
const GEOM::shape_state theState)
|
const GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || theAx1 == NULL || thePnt == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) anAx1 = GetObjectImpl(theAx1);
|
||||||
Handle(GEOM_Object) anAx1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) anPnt = GetObjectImpl(thePnt);
|
||||||
(theAx1->GetStudyID(), theAx1->GetEntry());
|
|
||||||
Handle(GEOM_Object) anPnt = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt->GetStudyID(), thePnt->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || anAx1.IsNull() || anPnt.IsNull()) return aSeq._retn();
|
if (aShape.IsNull() || anAx1.IsNull() || anPnt.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
@ -848,23 +774,19 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnPlaneWithLocation
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnCylinder
|
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnCylinder
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Long theShapeType,
|
const CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theAxis,
|
GEOM::GEOM_Object_ptr theAxis,
|
||||||
const CORBA::Double theRadius,
|
const CORBA::Double theRadius,
|
||||||
const GEOM::shape_state theState)
|
const GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || theAxis == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis);
|
||||||
Handle(GEOM_Object) anAxis = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theAxis->GetStudyID(), theAxis->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || anAxis.IsNull()) return aSeq._retn();
|
if (aShape.IsNull() || anAxis.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
@ -889,23 +811,19 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnCylinder
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnSphere
|
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnSphere
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Long theShapeType,
|
const CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theCenter,
|
GEOM::GEOM_Object_ptr theCenter,
|
||||||
const CORBA::Double theRadius,
|
const CORBA::Double theRadius,
|
||||||
const GEOM::shape_state theState)
|
const GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || theCenter == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aCenter = GetObjectImpl(theCenter);
|
||||||
Handle(GEOM_Object) aCenter = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theCenter->GetStudyID(), theCenter->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || aCenter.IsNull()) return aSeq._retn();
|
if (aShape.IsNull() || aCenter.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
@ -942,30 +860,18 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnQuadrangle
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL ||
|
|
||||||
theTopLeftPoint == NULL ||
|
|
||||||
theTopRigthPoint == NULL ||
|
|
||||||
theBottomLeftPoint == NULL ||
|
|
||||||
theBottomRigthPoint == NULL )
|
|
||||||
return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aTopLeftPoint = GetObjectImpl(theTopLeftPoint);
|
||||||
Handle(GEOM_Object) aTopLeftPoint = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aTopRigthPoint = GetObjectImpl(theTopRigthPoint);
|
||||||
(theShape->GetStudyID(), theTopLeftPoint->GetEntry());
|
Handle(GEOM_Object) aBottomLeftPoint = GetObjectImpl(theBottomLeftPoint);
|
||||||
Handle(GEOM_Object) aTopRigthPoint = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aBottomRigthPoint = GetObjectImpl(theBottomRigthPoint);
|
||||||
(theShape->GetStudyID(), theTopRigthPoint->GetEntry());
|
|
||||||
Handle(GEOM_Object) aBottomLeftPoint = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape->GetStudyID(), theBottomLeftPoint->GetEntry());
|
|
||||||
Handle(GEOM_Object) aBottomRigthPoint = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape->GetStudyID(), theBottomRigthPoint->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() ||
|
if (aShape.IsNull() ||
|
||||||
aTopLeftPoint.IsNull() ||
|
aTopLeftPoint.IsNull() ||
|
||||||
aTopRigthPoint.IsNull() ||
|
aTopRigthPoint.IsNull() ||
|
||||||
aBottomLeftPoint.IsNull() ||
|
aBottomLeftPoint.IsNull() ||
|
||||||
aBottomRigthPoint.IsNull() )
|
aBottomRigthPoint.IsNull())
|
||||||
return aSeq._retn();
|
return aSeq._retn();
|
||||||
|
|
||||||
//Get Shapes On Quadrangle
|
//Get Shapes On Quadrangle
|
||||||
@ -991,22 +897,18 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnQuadrangle
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnPlaneIDs
|
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnPlaneIDs
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Long theShapeType,
|
const CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theAx1,
|
GEOM::GEOM_Object_ptr theAx1,
|
||||||
const GEOM::shape_state theState)
|
const GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || theAx1 == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) anAx1 = GetObjectImpl(theAx1);
|
||||||
Handle(GEOM_Object) anAx1 = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theAx1->GetStudyID(), theAx1->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || anAx1.IsNull()) return aSeq._retn();
|
if (aShape.IsNull() || anAx1.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
@ -1031,31 +933,27 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnPlaneIDs
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnPlaneWithLocationIDs
|
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnPlaneWithLocationIDs
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Long theShapeType,
|
const CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theAx1,
|
GEOM::GEOM_Object_ptr theAx1,
|
||||||
GEOM::GEOM_Object_ptr thePnt,
|
GEOM::GEOM_Object_ptr thePnt,
|
||||||
const GEOM::shape_state theState)
|
const GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || theAx1 == NULL || thePnt == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) anAx1 = GetObjectImpl(theAx1);
|
||||||
Handle(GEOM_Object) anAx1 = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) anPnt = GetObjectImpl(thePnt);
|
||||||
(theAx1->GetStudyID(), theAx1->GetEntry());
|
|
||||||
Handle(GEOM_Object) anPnt = GetOperations()->GetEngine()->GetObject
|
|
||||||
(thePnt->GetStudyID(), thePnt->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || anAx1.IsNull() || anPnt.IsNull()) return aSeq._retn();
|
if (aShape.IsNull() || anAx1.IsNull() || anPnt.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
//Get Shapes On Plane
|
//Get Shapes On Plane
|
||||||
Handle(TColStd_HSequenceOfInteger) aHSeq =
|
Handle(TColStd_HSequenceOfInteger) aHSeq =
|
||||||
GetOperations()->GetShapesOnPlaneWithLocationIDs(aShape, theShapeType, anAx1, anPnt, ShapeState(theState));
|
GetOperations()->GetShapesOnPlaneWithLocationIDs(aShape, theShapeType,
|
||||||
|
anAx1, anPnt, ShapeState(theState));
|
||||||
if (!GetOperations()->IsDone() || aHSeq.IsNull())
|
if (!GetOperations()->IsDone() || aHSeq.IsNull())
|
||||||
return aSeq._retn();
|
return aSeq._retn();
|
||||||
|
|
||||||
@ -1074,23 +972,19 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnPlaneWithLocationIDs
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnCylinderIDs
|
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnCylinderIDs
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Long theShapeType,
|
const CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theAxis,
|
GEOM::GEOM_Object_ptr theAxis,
|
||||||
const CORBA::Double theRadius,
|
const CORBA::Double theRadius,
|
||||||
const GEOM::shape_state theState)
|
const GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || theAxis == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis);
|
||||||
Handle(GEOM_Object) anAxis = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theAxis->GetStudyID(), theAxis->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || anAxis.IsNull()) return aSeq._retn();
|
if (aShape.IsNull() || anAxis.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
@ -1115,23 +1009,19 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnCylinderIDs
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnSphereIDs
|
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnSphereIDs
|
||||||
(GEOM::GEOM_Object_ptr theShape,
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
const CORBA::Long theShapeType,
|
const CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theCenter,
|
GEOM::GEOM_Object_ptr theCenter,
|
||||||
const CORBA::Double theRadius,
|
const CORBA::Double theRadius,
|
||||||
const GEOM::shape_state theState)
|
const GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL || theCenter == NULL) return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aCenter = GetObjectImpl(theCenter);
|
||||||
Handle(GEOM_Object) aCenter = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theCenter->GetStudyID(), theCenter->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || aCenter.IsNull()) return aSeq._retn();
|
if (aShape.IsNull() || aCenter.IsNull()) return aSeq._retn();
|
||||||
|
|
||||||
@ -1168,24 +1058,12 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnQuadrangleIDs
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShape == NULL ||
|
|
||||||
theTopLeftPoint == NULL ||
|
|
||||||
theTopRigthPoint == NULL ||
|
|
||||||
theBottomLeftPoint == NULL ||
|
|
||||||
theBottomRigthPoint == NULL )
|
|
||||||
return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aTopLeftPoint = GetObjectImpl(theTopLeftPoint);
|
||||||
Handle(GEOM_Object) aTopLeftPoint = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aTopRigthPoint = GetObjectImpl(theTopRigthPoint);
|
||||||
(theShape->GetStudyID(), theTopLeftPoint->GetEntry());
|
Handle(GEOM_Object) aBottomLeftPoint = GetObjectImpl(theBottomLeftPoint);
|
||||||
Handle(GEOM_Object) aTopRigthPoint = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aBottomRigthPoint = GetObjectImpl(theBottomRigthPoint);
|
||||||
(theShape->GetStudyID(), theTopRigthPoint->GetEntry());
|
|
||||||
Handle(GEOM_Object) aBottomLeftPoint = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape->GetStudyID(), theBottomLeftPoint->GetEntry());
|
|
||||||
Handle(GEOM_Object) aBottomRigthPoint = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape->GetStudyID(), theBottomRigthPoint->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() ||
|
if (aShape.IsNull() ||
|
||||||
aTopLeftPoint.IsNull() ||
|
aTopLeftPoint.IsNull() ||
|
||||||
@ -1226,14 +1104,9 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnBox
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if ( theShape == NULL || theBox == NULL )
|
|
||||||
return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aBox = GetObjectImpl(theBox);
|
||||||
Handle(GEOM_Object) aBox = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape->GetStudyID(), theBox->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || aBox.IsNull() )
|
if (aShape.IsNull() || aBox.IsNull() )
|
||||||
return aSeq._retn();
|
return aSeq._retn();
|
||||||
@ -1259,7 +1132,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnBox
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnBoxIDs
|
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnBoxIDs
|
||||||
(GEOM::GEOM_Object_ptr theBox,
|
(GEOM::GEOM_Object_ptr theBox,
|
||||||
GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Long theShapeType,
|
CORBA::Long theShapeType,
|
||||||
GEOM::shape_state theState)
|
GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
@ -1268,14 +1141,9 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnBoxIDs
|
|||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if ( theShape == NULL || theBox == NULL )
|
|
||||||
return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aBox = GetObjectImpl(theBox);
|
||||||
Handle(GEOM_Object) aBox = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape->GetStudyID(), theBox->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || aBox.IsNull() )
|
if (aShape.IsNull() || aBox.IsNull() )
|
||||||
return aSeq._retn();
|
return aSeq._retn();
|
||||||
@ -1302,23 +1170,18 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnBoxIDs
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnShape
|
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnShape
|
||||||
(GEOM::GEOM_Object_ptr theCheckShape,
|
(GEOM::GEOM_Object_ptr theCheckShape,
|
||||||
GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Short theShapeType,
|
CORBA::Short theShapeType,
|
||||||
GEOM::shape_state theState)
|
GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if ( theShape == NULL || theCheckShape == NULL )
|
|
||||||
return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aCheckShape = GetObjectImpl(theCheckShape);
|
||||||
Handle(GEOM_Object) aCheckShape = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape->GetStudyID(), theCheckShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || aCheckShape.IsNull() )
|
if (aShape.IsNull() || aCheckShape.IsNull() )
|
||||||
return aSeq._retn();
|
return aSeq._retn();
|
||||||
@ -1346,23 +1209,18 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnShape
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetShapesOnShapeAsCompound
|
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetShapesOnShapeAsCompound
|
||||||
(GEOM::GEOM_Object_ptr theCheckShape,
|
(GEOM::GEOM_Object_ptr theCheckShape,
|
||||||
GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Short theShapeType,
|
CORBA::Short theShapeType,
|
||||||
GEOM::shape_state theState)
|
GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if ( theShape == NULL || theCheckShape == NULL )
|
|
||||||
return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aCheckShape = GetObjectImpl(theCheckShape);
|
||||||
Handle(GEOM_Object) aCheckShape = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape->GetStudyID(), theCheckShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || aCheckShape.IsNull() )
|
if (aShape.IsNull() || aCheckShape.IsNull() )
|
||||||
return aGEOMObject._retn();
|
return aGEOMObject._retn();
|
||||||
@ -1385,23 +1243,18 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetShapesOnShapeAsCompound
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnShapeIDs
|
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnShapeIDs
|
||||||
(GEOM::GEOM_Object_ptr theCheckShape,
|
(GEOM::GEOM_Object_ptr theCheckShape,
|
||||||
GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Short theShapeType,
|
CORBA::Short theShapeType,
|
||||||
GEOM::shape_state theState)
|
GEOM::shape_state theState)
|
||||||
{
|
{
|
||||||
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if ( theShape == NULL || theCheckShape == NULL )
|
|
||||||
return aSeq._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
|
||||||
(theShape->GetStudyID(), theShape->GetEntry());
|
Handle(GEOM_Object) aCheckShape = GetObjectImpl(theCheckShape);
|
||||||
Handle(GEOM_Object) aCheckShape = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShape->GetStudyID(), theCheckShape->GetEntry());
|
|
||||||
|
|
||||||
if (aShape.IsNull() || aCheckShape.IsNull() )
|
if (aShape.IsNull() || aCheckShape.IsNull() )
|
||||||
return aSeq._retn();
|
return aSeq._retn();
|
||||||
@ -1428,21 +1281,16 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnShapeIDs
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetInPlace
|
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetInPlace
|
||||||
(GEOM::GEOM_Object_ptr theShapeWhere,
|
(GEOM::GEOM_Object_ptr theShapeWhere,
|
||||||
GEOM::GEOM_Object_ptr theShapeWhat)
|
GEOM::GEOM_Object_ptr theShapeWhat)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShapeWhere == NULL ||
|
|
||||||
theShapeWhat == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShapeWhere = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere);
|
||||||
(theShapeWhere->GetStudyID(), theShapeWhere->GetEntry());
|
Handle(GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat);
|
||||||
Handle(GEOM_Object) aShapeWhat = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShapeWhat->GetStudyID(), theShapeWhat->GetEntry());
|
|
||||||
|
|
||||||
if (aShapeWhere.IsNull() ||
|
if (aShapeWhere.IsNull() ||
|
||||||
aShapeWhat.IsNull()) return aGEOMObject._retn();
|
aShapeWhat.IsNull()) return aGEOMObject._retn();
|
||||||
@ -1463,21 +1311,16 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetInPlace
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetInPlaceByHistory
|
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetInPlaceByHistory
|
||||||
(GEOM::GEOM_Object_ptr theShapeWhere,
|
(GEOM::GEOM_Object_ptr theShapeWhere,
|
||||||
GEOM::GEOM_Object_ptr theShapeWhat)
|
GEOM::GEOM_Object_ptr theShapeWhat)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShapeWhere == NULL ||
|
|
||||||
theShapeWhat == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShapeWhere = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere);
|
||||||
(theShapeWhere->GetStudyID(), theShapeWhere->GetEntry());
|
Handle(GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat);
|
||||||
Handle(GEOM_Object) aShapeWhat = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShapeWhat->GetStudyID(), theShapeWhat->GetEntry());
|
|
||||||
|
|
||||||
if (aShapeWhere.IsNull() ||
|
if (aShapeWhere.IsNull() ||
|
||||||
aShapeWhat.IsNull()) return aGEOMObject._retn();
|
aShapeWhat.IsNull()) return aGEOMObject._retn();
|
||||||
@ -1498,21 +1341,16 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetInPlaceByHistory
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetSame
|
GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetSame
|
||||||
(GEOM::GEOM_Object_ptr theShapeWhere,
|
(GEOM::GEOM_Object_ptr theShapeWhere,
|
||||||
GEOM::GEOM_Object_ptr theShapeWhat)
|
GEOM::GEOM_Object_ptr theShapeWhat)
|
||||||
{
|
{
|
||||||
GEOM::GEOM_Object_var aGEOMObject;
|
GEOM::GEOM_Object_var aGEOMObject;
|
||||||
|
|
||||||
//Set a not done flag
|
//Set a not done flag
|
||||||
GetOperations()->SetNotDone();
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
if (theShapeWhere == NULL ||
|
|
||||||
theShapeWhat == NULL) return aGEOMObject._retn();
|
|
||||||
|
|
||||||
//Get the reference objects
|
//Get the reference objects
|
||||||
Handle(GEOM_Object) aShapeWhere = GetOperations()->GetEngine()->GetObject
|
Handle(GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere);
|
||||||
(theShapeWhere->GetStudyID(), theShapeWhere->GetEntry());
|
Handle(GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat);
|
||||||
Handle(GEOM_Object) aShapeWhat = GetOperations()->GetEngine()->GetObject
|
|
||||||
(theShapeWhat->GetStudyID(), theShapeWhat->GetEntry());
|
|
||||||
|
|
||||||
if (aShapeWhere.IsNull() ||
|
if (aShapeWhere.IsNull() ||
|
||||||
aShapeWhat.IsNull()) return aGEOMObject._retn();
|
aShapeWhat.IsNull()) return aGEOMObject._retn();
|
||||||
@ -1525,4 +1363,3 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetSame
|
|||||||
|
|
||||||
return GetObject(anObject);
|
return GetObject(anObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user