-// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
#include <Standard_Stream.hxx>
#include "GEOM_ITransformOperations_i.hh"
//=============================================================================
GEOM_ITransformOperations_i::GEOM_ITransformOperations_i (PortableServer::POA_ptr thePOA,
- GEOM::GEOM_Gen_ptr theEngine,
- ::GEOMImpl_ITransformOperations* theImpl)
+ GEOM::GEOM_Gen_ptr theEngine,
+ ::GEOMImpl_ITransformOperations* theImpl)
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
{
MESSAGE("GEOM_ITransformOperations_i::GEOM_ITransformOperations_i");
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::TranslateTwoPoints
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr thePoint1,
- GEOM::GEOM_Object_ptr thePoint2)
+ GEOM::GEOM_Object_ptr thePoint1,
+ GEOM::GEOM_Object_ptr thePoint2)
{
//Set a not done flag
GetOperations()->SetNotDone();
GEOM::GEOM_Object_var aGEOMObject;
- if (thePoint1 == NULL || thePoint2 == NULL || theObject == NULL) return aGEOMObject._retn();
+ if (CORBA::is_nil(theObject)) return aGEOMObject._retn();
//check if the object is a subshape
- if(!theObject->IsMainShape()) {
+ if (!theObject->IsMainShape()) {
GetOperations()->SetErrorCode(SUBSHAPE_ERROR);
return aGEOMObject._retn();
}
aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Get the first point of translation
- CORBA::String_var aP1Entry = thePoint1->GetEntry();
- Handle(GEOM_Object) aPoint1 =
- GetOperations()->GetEngine()->GetObject(thePoint1->GetStudyID(), aP1Entry);
+ Handle(GEOM_Object) aPoint1 = GetObjectImpl(thePoint1);
if (aPoint1.IsNull()) return aGEOMObject._retn();
//Get the second point of translation
- CORBA::String_var aP2Entry = thePoint2->GetEntry();
- Handle(GEOM_Object) aPoint2 =
- GetOperations()->GetEngine()->GetObject(thePoint2->GetStudyID(), aP2Entry);
+ Handle(GEOM_Object) aPoint2 = GetObjectImpl(thePoint2);
if (aPoint2.IsNull()) return aGEOMObject._retn();
//Perform the translation
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::TranslateTwoPointsCopy
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr thePoint1,
- GEOM::GEOM_Object_ptr thePoint2)
+ GEOM::GEOM_Object_ptr thePoint1,
+ GEOM::GEOM_Object_ptr thePoint2)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePoint1 == NULL || thePoint2 == NULL || theObject == NULL) return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the first point of translation
- CORBA::String_var aP1Entry = thePoint1->GetEntry();
- Handle(GEOM_Object) aPoint1 =
- GetOperations()->GetEngine()->GetObject(thePoint1->GetStudyID(), aP1Entry);
+ Handle(GEOM_Object) aPoint1 = GetObjectImpl(thePoint1);
if (aPoint1.IsNull()) return aGEOMObject._retn();
//Get the second point of translation
- CORBA::String_var aP2Entry = thePoint2->GetEntry();
- Handle(GEOM_Object) aPoint2 =
- GetOperations()->GetEngine()->GetObject(thePoint2->GetStudyID(), aP2Entry);
+ Handle(GEOM_Object) aPoint2 = GetObjectImpl(thePoint2);
if (aPoint2.IsNull()) return aGEOMObject._retn();
//Create the translated shape
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::TranslateDXDYDZ
- (GEOM::GEOM_Object_ptr theObject,
- CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
+ (GEOM::GEOM_Object_ptr theObject,
+ CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
{
//Set a not done flag
GetOperations()->SetNotDone();
- GEOM::GEOM_Object_var aGEOMObject ;
+ GEOM::GEOM_Object_var aGEOMObject;
- if (theObject == NULL) return aGEOMObject._retn();
+ if (CORBA::is_nil(theObject)) return aGEOMObject._retn();
//check if the object is a subshape
- if(!theObject->IsMainShape()) {
+ if (!theObject->IsMainShape()) {
GetOperations()->SetErrorCode(SUBSHAPE_ERROR);
return aGEOMObject._retn();
}
aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Perform the translation
return aGEOMObject._retn();
}
-
//=============================================================================
/*!
* TranslateDXDYDZCopy
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::TranslateDXDYDZCopy
(GEOM::GEOM_Object_ptr theObject,
- CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
+ CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL) return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Create the translated shape
return GetObject(anObject);
}
-
//=============================================================================
/*!
* TranslateVector
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::TranslateVector
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theVector)
+ GEOM::GEOM_Object_ptr theVector)
{
//Set a not done flag
GetOperations()->SetNotDone();
GEOM::GEOM_Object_var aGEOMObject;
- if (theObject == NULL || theVector == NULL) return aGEOMObject._retn();
+ if (CORBA::is_nil(theObject)) return aGEOMObject._retn();
//check if the object is a subshape
- if(!theObject->IsMainShape()) {
+ if (!theObject->IsMainShape()) {
GetOperations()->SetErrorCode(SUBSHAPE_ERROR);
return aGEOMObject._retn();
}
aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Get the vector of translation
- CORBA::String_var aVEntry = theVector->GetEntry();
- Handle(GEOM_Object) aVector =
- GetOperations()->GetEngine()->GetObject(theVector->GetStudyID(), aVEntry);
+ Handle(GEOM_Object) aVector = GetObjectImpl(theVector);
if (aVector.IsNull()) return aGEOMObject._retn();
//Perform the translation
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::TranslateVectorCopy
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theVector)
+ GEOM::GEOM_Object_ptr theVector)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL || theVector == NULL) return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the vector of translation
- CORBA::String_var aVEntry = theVector->GetEntry();
- Handle(GEOM_Object) aVector =
- GetOperations()->GetEngine()->GetObject(theVector->GetStudyID(), aVEntry);
+ Handle(GEOM_Object) aVector = GetObjectImpl(theVector);
if (aVector.IsNull()) return aGEOMObject._retn();
//Perform the translation
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::TranslateVectorDistance
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theVector,
- CORBA::Double theDistance,
- CORBA::Boolean theCopy)
+ GEOM::GEOM_Object_ptr theVector,
+ CORBA::Double theDistance,
+ CORBA::Boolean theCopy)
{
GEOM::GEOM_Object_var aGEOMObject;
GetOperations()->SetNotDone(); //Set a not done flag
- if (theObject == NULL || theVector == NULL) return aGEOMObject._retn();
+ if (CORBA::is_nil(theObject)) return aGEOMObject._retn();
//check if the object is a subshape
if (!theCopy && !theObject->IsMainShape()) {
aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the vector of translation
- CORBA::String_var aVecEntry = theVector->GetEntry();
- Handle(GEOM_Object) aVector =
- GetOperations()->GetEngine()->GetObject(theVector->GetStudyID(), aVecEntry);
+ Handle(GEOM_Object) aVector = GetObjectImpl(theVector);
if (aVector.IsNull()) return aGEOMObject._retn();
//Perform the translation
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::Rotate (GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theAxis,
- CORBA::Double theAngle)
+ GEOM::GEOM_Object_ptr theAxis,
+ CORBA::Double theAngle)
{
//Set a not done flag
GetOperations()->SetNotDone();
GEOM::GEOM_Object_var aGEOMObject;
- if (theObject == NULL || theAxis == NULL) return aGEOMObject._retn();
+ if (CORBA::is_nil(theObject)) return aGEOMObject._retn();
//check if the object is a subshape
- if(!theObject->IsMainShape()) {
+ if (!theObject->IsMainShape()) {
GetOperations()->SetErrorCode(SUBSHAPE_ERROR);
return aGEOMObject._retn();
}
aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Get the axis of revolution
- CORBA::String_var anAEntry = theAxis->GetEntry();
- Handle(GEOM_Object) anAxis =
- GetOperations()->GetEngine()->GetObject(theAxis->GetStudyID(), anAEntry);
+ Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis);
if (anAxis.IsNull()) return aGEOMObject._retn();
//Perform the rotation
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theAxis,
- CORBA::Double theAngle)
+ GEOM::GEOM_Object_ptr theAxis,
+ CORBA::Double theAngle)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL || theAxis == NULL) return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the axis of rotation
- CORBA::String_var anAEntry = theAxis->GetEntry();
- Handle(GEOM_Object) anAxis =
- GetOperations()->GetEngine()->GetObject(theAxis->GetStudyID(), anAEntry);
+ Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis);
if (anAxis.IsNull()) return aGEOMObject._retn();
//Perform the rotation
return GetObject(anObject);
}
-
//=============================================================================
/*!
* MirrorPlane
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MirrorPlane
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr thePlane)
+ GEOM::GEOM_Object_ptr thePlane)
{
GEOM::GEOM_Object_var aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL || thePlane == NULL) return aGEOMObject._retn();
+ if (CORBA::is_nil(theObject)) return aGEOMObject._retn();
//check if the object is a subshape
if (!theObject->IsMainShape()) {
}
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Get the plane
- CORBA::String_var aPlnEntry = thePlane->GetEntry();
- Handle(GEOM_Object) aPlane =
- GetOperations()->GetEngine()->GetObject(thePlane->GetStudyID(), aPlnEntry);
+ Handle(GEOM_Object) aPlane = GetObjectImpl(thePlane);
if (aPlane.IsNull()) return aGEOMObject._retn();
//Perform the mirror
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MirrorPlaneCopy
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr thePlane)
+ GEOM::GEOM_Object_ptr thePlane)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL || thePlane == NULL) return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the vector of translation
- CORBA::String_var aPlnEntry = thePlane->GetEntry();
- Handle(GEOM_Object) aPlane =
- GetOperations()->GetEngine()->GetObject(thePlane->GetStudyID(), aPlnEntry);
+ Handle(GEOM_Object) aPlane = GetObjectImpl(thePlane);
if (aPlane.IsNull()) return aGEOMObject._retn();
//Perform the mirror
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MirrorAxis
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theAxis)
+ GEOM::GEOM_Object_ptr theAxis)
{
GEOM::GEOM_Object_var aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL || theAxis == NULL) return aGEOMObject._retn();
+ if (CORBA::is_nil(theObject)) return aGEOMObject._retn();
//check if the object is a subshape
- if(!theObject->IsMainShape()) {
+ if (!theObject->IsMainShape()) {
GetOperations()->SetErrorCode(SUBSHAPE_ERROR);
return aGEOMObject._retn();
}
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Get the axis
- CORBA::String_var anAEntry = theAxis->GetEntry();
- Handle(GEOM_Object) aAxis =
- GetOperations()->GetEngine()->GetObject(theAxis->GetStudyID(), anAEntry);
+ Handle(GEOM_Object) aAxis = GetObjectImpl(theAxis);
if (aAxis.IsNull()) return aGEOMObject._retn();
//Perform the mirror
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MirrorAxisCopy
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theAxis)
+ GEOM::GEOM_Object_ptr theAxis)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL || theAxis == NULL) return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the vector of translation
- CORBA::String_var anAEntry = theAxis->GetEntry();
- Handle(GEOM_Object) aAxis =
- GetOperations()->GetEngine()->GetObject(theAxis->GetStudyID(), anAEntry);
+ Handle(GEOM_Object) aAxis = GetObjectImpl(theAxis);
if (aAxis.IsNull()) return aGEOMObject._retn();
//Perform the mirror
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MirrorPoint
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr thePoint)
+ GEOM::GEOM_Object_ptr thePoint)
{
GEOM::GEOM_Object_var aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL || thePoint == NULL) return aGEOMObject._retn();
+ if (CORBA::is_nil(theObject)) return aGEOMObject._retn();
//check if the object is a subshape
if (!theObject->IsMainShape()) {
}
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Get the point
- CORBA::String_var aPntEntry = thePoint->GetEntry();
- Handle(GEOM_Object) aPoint =
- GetOperations()->GetEngine()->GetObject(thePoint->GetStudyID(), aPntEntry);
+ Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
if (aPoint.IsNull()) return aGEOMObject._retn();
//Perform the mirror
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MirrorPointCopy
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr thePoint)
+ GEOM::GEOM_Object_ptr thePoint)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL || thePoint == NULL) return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the vector of translation
- CORBA::String_var aPntEntry = thePoint->GetEntry();
- Handle(GEOM_Object) aPoint =
- GetOperations()->GetEngine()->GetObject(thePoint->GetStudyID(), aPntEntry);
+ Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
if (aPoint.IsNull()) return aGEOMObject._retn();
//Perform the mirror
return GetObject(anObject);
}
-
//=============================================================================
/*!
* OffsetShape
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::OffsetShape
(GEOM::GEOM_Object_ptr theObject,
- CORBA::Double theOffset)
+ CORBA::Double theOffset)
{
GEOM::GEOM_Object_var aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL) return aGEOMObject._retn();
+ if (CORBA::is_nil(theObject)) return aGEOMObject._retn();
//check if the object is a subshape
if (!theObject->IsMainShape()) {
}
//Get the basic object
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Create the offset shape
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::OffsetShapeCopy
(GEOM::GEOM_Object_ptr theObject,
- CORBA::Double theOffset)
+ CORBA::Double theOffset)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL) return aGEOMObject._retn();
-
//Get the basic object
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Create the offset shape
return GetObject(anObject);
}
-
//=============================================================================
/*!
* ScaleShape
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::ScaleShape
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr thePoint,
- CORBA::Double theFactor)
+ GEOM::GEOM_Object_ptr thePoint,
+ CORBA::Double theFactor)
{
GEOM::GEOM_Object_var aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
}
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Get the point
Handle(GEOM_Object) aPoint;
if (!thePoint->_is_nil()) {
- CORBA::String_var aPntEntry = thePoint->GetEntry();
- aPoint = GetOperations()->GetEngine()->GetObject(thePoint->GetStudyID(), aPntEntry);
+ aPoint = GetObjectImpl(thePoint);
if (aPoint.IsNull()) return aGEOMObject._retn();
}
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::ScaleShapeCopy
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr thePoint,
- CORBA::Double theFactor)
+ GEOM::GEOM_Object_ptr thePoint,
+ CORBA::Double theFactor)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject->_is_nil()) return aGEOMObject._retn();
-
//Get the basic object
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the point
Handle(GEOM_Object) aPoint;
if (!thePoint->_is_nil()) {
- CORBA::String_var aPntEntry = thePoint->GetEntry();
- aPoint = GetOperations()->GetEngine()->GetObject(thePoint->GetStudyID(), aPntEntry);
+ aPoint = GetObjectImpl(thePoint);
if (aPoint.IsNull()) return aGEOMObject._retn();
}
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::ScaleShapeAlongAxes
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr thePoint,
- CORBA::Double theFactorX,
- CORBA::Double theFactorY,
- CORBA::Double theFactorZ)
+ GEOM::GEOM_Object_ptr thePoint,
+ CORBA::Double theFactorX,
+ CORBA::Double theFactorY,
+ CORBA::Double theFactorZ)
{
GEOM::GEOM_Object_var aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
}
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Get the point
Handle(GEOM_Object) aPoint;
if (!thePoint->_is_nil()) {
- CORBA::String_var aPntEntry = thePoint->GetEntry();
- aPoint = GetOperations()->GetEngine()->GetObject(thePoint->GetStudyID(), aPntEntry);
+ aPoint = GetObjectImpl(thePoint);
if (aPoint.IsNull()) return aGEOMObject._retn();
}
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::ScaleShapeAlongAxesCopy
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr thePoint,
- CORBA::Double theFactorX,
- CORBA::Double theFactorY,
- CORBA::Double theFactorZ)
+ GEOM::GEOM_Object_ptr thePoint,
+ CORBA::Double theFactorX,
+ CORBA::Double theFactorY,
+ CORBA::Double theFactorZ)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject->_is_nil()) return aGEOMObject._retn();
-
//Get the basic object
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the point
Handle(GEOM_Object) aPoint;
if (!thePoint->_is_nil()) {
- CORBA::String_var aPntEntry = thePoint->GetEntry();
- aPoint = GetOperations()->GetEngine()->GetObject(thePoint->GetStudyID(), aPntEntry);
+ aPoint = GetObjectImpl(thePoint);
if (aPoint.IsNull()) return aGEOMObject._retn();
}
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::PositionShape
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theStartLCS,
- GEOM::GEOM_Object_ptr theEndLCS)
+ GEOM::GEOM_Object_ptr theStartLCS,
+ GEOM::GEOM_Object_ptr theEndLCS)
{
GEOM::GEOM_Object_var aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL || theEndLCS == NULL)
+ if (CORBA::is_nil(theObject) || CORBA::is_nil(theEndLCS))
return aGEOMObject._retn();
//check if the object is a subshape
}
//Get the basic object
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Get the Start LCS (may be NULL for positioning from global LCS)
- Handle(GEOM_Object) aStartLCS = NULL;
- if (theStartLCS != NULL && !CORBA::is_nil(theStartLCS)) {
- CORBA::String_var aStartLCSEntry = theStartLCS->GetEntry();
- aStartLCS = GetOperations()->GetEngine()->GetObject(theStartLCS->GetStudyID(), aStartLCSEntry);
+ Handle(GEOM_Object) aStartLCS;
+ if (!CORBA::is_nil(theStartLCS)) {
+ aStartLCS = GetObjectImpl(theStartLCS);
if (aStartLCS.IsNull()) return aGEOMObject._retn();
}
//Get the End LCS
- CORBA::String_var anEndLCSEntry = theEndLCS->GetEntry();
- Handle(GEOM_Object) aEndLCS =
- GetOperations()->GetEngine()->GetObject(theEndLCS->GetStudyID(), anEndLCSEntry);
+ Handle(GEOM_Object) aEndLCS = GetObjectImpl(theEndLCS);
if (aEndLCS.IsNull()) return aGEOMObject._retn();
//Perform the Position
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::PositionShapeCopy
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theStartLCS,
- GEOM::GEOM_Object_ptr theEndLCS)
+ GEOM::GEOM_Object_ptr theStartLCS,
+ GEOM::GEOM_Object_ptr theEndLCS)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL || theEndLCS == NULL)
- return aGEOMObject._retn();
-
//Get the basic object
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the Start LCS (may be NULL for positioning from global LCS)
- Handle(GEOM_Object) aStartLCS = NULL;
- if (theStartLCS != NULL && !CORBA::is_nil(theStartLCS)) {
- CORBA::String_var aStartLCSEntry = theStartLCS->GetEntry();
- aStartLCS = GetOperations()->GetEngine()->GetObject(theStartLCS->GetStudyID(), aStartLCSEntry);
+ Handle(GEOM_Object) aStartLCS;
+ if (!CORBA::is_nil(theStartLCS)) {
+ aStartLCS = GetObjectImpl(theStartLCS);
if (aStartLCS.IsNull()) return aGEOMObject._retn();
}
//Get the End LCS
- CORBA::String_var anEndLCSEntry = theEndLCS->GetEntry();
- Handle(GEOM_Object) aEndLCS =
- GetOperations()->GetEngine()->GetObject(theEndLCS->GetStudyID(), anEndLCSEntry);
+ Handle(GEOM_Object) aEndLCS = GetObjectImpl(theEndLCS);
if (aEndLCS.IsNull()) return aGEOMObject._retn();
//Perform the position
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::PositionAlongPath
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr thePath,
- CORBA::Double theDistance,
- CORBA::Boolean theCopy,
- CORBA::Boolean theReverse)
+ GEOM::GEOM_Object_ptr thePath,
+ CORBA::Double theDistance,
+ CORBA::Boolean theCopy,
+ CORBA::Boolean theReverse)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObject == NULL || thePath == NULL)
- return aGEOMObject._retn();
-
//Get the basic object
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the path object
- CORBA::String_var aPathEntry = thePath->GetEntry();
- Handle(GEOM_Object) aPathObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), aPathEntry);
+ Handle(GEOM_Object) aPathObject = GetObjectImpl(thePath);
if (aPathObject.IsNull()) return aGEOMObject._retn();
//Perform the position
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MultiTranslate1D
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theVector,
- CORBA::Double theStep, CORBA::Long theNbTimes)
+ GEOM::GEOM_Object_ptr theVector,
+ CORBA::Double theStep, CORBA::Long theNbTimes)
{
//Set a not done flag
GetOperations()->SetNotDone();
GEOM::GEOM_Object_var aGEOMObject;
- if (theObject == NULL || theVector == NULL) return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the vector of translation
- CORBA::String_var aVecEntry = theVector->GetEntry();
- Handle(GEOM_Object) aVector =
- GetOperations()->GetEngine()->GetObject(theVector->GetStudyID(), aVecEntry);
+ Handle(GEOM_Object) aVector = GetObjectImpl(theVector);
if (aVector.IsNull()) return aGEOMObject._retn();
//Perform the translation
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theVector1,
- CORBA::Double theStep1,
- CORBA::Long theNbTimes1,
- GEOM::GEOM_Object_ptr theVector2,
- CORBA::Double theStep2,
- CORBA::Long theNbTimes2)
+ GEOM::GEOM_Object_ptr theVector1,
+ CORBA::Double theStep1,
+ CORBA::Long theNbTimes1,
+ GEOM::GEOM_Object_ptr theVector2,
+ CORBA::Double theStep2,
+ CORBA::Long theNbTimes2)
{
//Set a not done flag
GetOperations()->SetNotDone();
GEOM::GEOM_Object_var aGEOMObject;
- if (theObject == NULL || theVector1 == NULL || theVector2 == NULL) return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the vector1 of translation
- CORBA::String_var aVec1Entry = theVector1->GetEntry();
- Handle(GEOM_Object) aVector1 =
- GetOperations()->GetEngine()->GetObject(theVector1->GetStudyID(), aVec1Entry);
+ Handle(GEOM_Object) aVector1 = GetObjectImpl(theVector1);
if (aVector1.IsNull()) return aGEOMObject._retn();
//Get the vector2 of translation
- CORBA::String_var aVec2Entry = theVector2->GetEntry();
- Handle(GEOM_Object) aVector2 =
- GetOperations()->GetEngine()->GetObject(theVector2->GetStudyID(), aVec2Entry);
+ Handle(GEOM_Object) aVector2 = GetObjectImpl(theVector2);
if (aVector2.IsNull()) return aGEOMObject._retn();
//Perform the translation
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theVector,
- CORBA::Long theNbTimes)
+ GEOM::GEOM_Object_ptr theVector,
+ CORBA::Long theNbTimes)
{
//Set a not done flag
GetOperations()->SetNotDone();
GEOM::GEOM_Object_var aGEOMObject;
- if (theObject == NULL || theVector == NULL) return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the a directon of rotation
- CORBA::String_var aVecEntry = theVector->GetEntry();
- Handle(GEOM_Object) aVector =
- GetOperations()->GetEngine()->GetObject(theVector->GetStudyID(), aVecEntry);
+ Handle(GEOM_Object) aVector = GetObjectImpl(theVector);
if (aVector.IsNull()) return aGEOMObject._retn();
//Perform the rotation
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theVector,
- CORBA::Double theAngle,
- CORBA::Long theNbTimes1,
- CORBA::Double theStep,
- CORBA::Long theNbTimes2)
+ GEOM::GEOM_Object_ptr theVector,
+ CORBA::Double theAngle,
+ CORBA::Long theNbTimes1,
+ CORBA::Double theStep,
+ CORBA::Long theNbTimes2)
{
//Set a not done flag
GetOperations()->SetNotDone();
GEOM::GEOM_Object_var aGEOMObject;
- if (theObject == NULL || theVector == NULL) return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the a directon of rotation
- CORBA::String_var aVecEntry = theVector->GetEntry();
- Handle(GEOM_Object) aVector =
- GetOperations()->GetEngine()->GetObject(theVector->GetStudyID(), aVecEntry);
+ Handle(GEOM_Object) aVector = GetObjectImpl(theVector);
if (aVector.IsNull()) return aGEOMObject._retn();
//Perform the rotation
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::RotateThreePoints
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theCentPoint,
- GEOM::GEOM_Object_ptr thePoint1,
- GEOM::GEOM_Object_ptr thePoint2)
+ GEOM::GEOM_Object_ptr theCentPoint,
+ GEOM::GEOM_Object_ptr thePoint1,
+ GEOM::GEOM_Object_ptr thePoint2)
{
//Set a not done flag
GetOperations()->SetNotDone();
GEOM::GEOM_Object_var aGEOMObject;
- if (theCentPoint == NULL || thePoint1 == NULL || thePoint2 == NULL || theObject == NULL)
+ if (CORBA::is_nil(theObject))
return aGEOMObject._retn();
//check if the object is a subshape
aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Get the central point of rotation
- CORBA::String_var aCPEntry = theCentPoint->GetEntry();
- Handle(GEOM_Object) aCentPoint =
- GetOperations()->GetEngine()->GetObject(theCentPoint->GetStudyID(), aCPEntry);
+ Handle(GEOM_Object) aCentPoint = GetObjectImpl(theCentPoint);
if (aCentPoint.IsNull()) return aGEOMObject._retn();
//Get the first point
- CORBA::String_var aP1Entry = thePoint1->GetEntry();
- Handle(GEOM_Object) aPoint1 =
- GetOperations()->GetEngine()->GetObject(thePoint1->GetStudyID(), aP1Entry);
+ Handle(GEOM_Object) aPoint1 = GetObjectImpl(thePoint1);
if (aPoint1.IsNull()) return aGEOMObject._retn();
//Get the second point
- CORBA::String_var aP2Entry = thePoint2->GetEntry();
- Handle(GEOM_Object) aPoint2 =
- GetOperations()->GetEngine()->GetObject(thePoint2->GetStudyID(), aP2Entry);
+ Handle(GEOM_Object) aPoint2 = GetObjectImpl(thePoint2);
if (aPoint2.IsNull()) return aGEOMObject._retn();
//Perform the translation
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_ITransformOperations_i::RotateThreePointsCopy
(GEOM::GEOM_Object_ptr theObject,
- GEOM::GEOM_Object_ptr theCentPoint,
- GEOM::GEOM_Object_ptr thePoint1,
- GEOM::GEOM_Object_ptr thePoint2)
+ GEOM::GEOM_Object_ptr theCentPoint,
+ GEOM::GEOM_Object_ptr thePoint1,
+ GEOM::GEOM_Object_ptr thePoint2)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theCentPoint == NULL || thePoint1 == NULL || thePoint2 == NULL || theObject == NULL)
- return aGEOMObject._retn();
-
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) aBasicObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) aBasicObject = GetObjectImpl(theObject);
if (aBasicObject.IsNull()) return aGEOMObject._retn();
//Get the central point of rotation
- CORBA::String_var aCPEntry = theCentPoint->GetEntry();
- Handle(GEOM_Object) aCentPoint =
- GetOperations()->GetEngine()->GetObject(theCentPoint->GetStudyID(), aCPEntry);
+ Handle(GEOM_Object) aCentPoint = GetObjectImpl(theCentPoint);
if (aCentPoint.IsNull()) return aGEOMObject._retn();
//Get the first point
- CORBA::String_var aP1Entry = thePoint1->GetEntry();
- Handle(GEOM_Object) aPoint1 =
- GetOperations()->GetEngine()->GetObject(thePoint1->GetStudyID(), aP1Entry);
+ Handle(GEOM_Object) aPoint1 = GetObjectImpl(thePoint1);
if (aPoint1.IsNull()) return aGEOMObject._retn();
//Get the second point
- CORBA::String_var aP2Entry = thePoint2->GetEntry();
- Handle(GEOM_Object) aPoint2 =
- GetOperations()->GetEngine()->GetObject(thePoint2->GetStudyID(), aP2Entry);
+ Handle(GEOM_Object) aPoint2 = GetObjectImpl(thePoint2);
if (aPoint2.IsNull()) return aGEOMObject._retn();
//Perform the rotation
GetOperations()->SetNotDone();
GEOM::GEOM_Object_var aGEOMObject;
- if (theObject == NULL) return aGEOMObject._retn();
-
- //check if the object is a subshape
- //if (!theObject->IsMainShape()) {
- // GetOperations()->SetErrorCode(SUBSHAPE_ERROR);
- // return aGEOMObject._retn();
- //}
+ if (CORBA::is_nil(theObject)) return aGEOMObject._retn();
aGEOMObject = GEOM::GEOM_Object::_duplicate(theObject);
//Get the object itself
- CORBA::String_var anEntry = theObject->GetEntry();
- Handle(GEOM_Object) anObject =
- GetOperations()->GetEngine()->GetObject(theObject->GetStudyID(), anEntry);
+ Handle(GEOM_Object) anObject = GetObjectImpl(theObject);
if (anObject.IsNull()) return aGEOMObject._retn();
//Perform the recomputation