// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
+
#include <Standard_Stream.hxx>
#include "GEOM_I3DPrimOperations_i.hh"
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeBoxDXDYDZ (CORBA::Double theDX,
- CORBA::Double theDY,
- CORBA::Double theDZ)
+ CORBA::Double theDY,
+ CORBA::Double theDZ)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
-
+
//Create the Box
Handle(GEOM_Object) anObject = GetOperations()->MakeBoxDXDYDZ(theDX, theDY, theDZ);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
-
+
return GetObject(anObject);
}
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt1 == NULL || thePnt2 == NULL) return aGEOMObject._retn();
-
- //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());
+ Handle(GEOM_Object) aPnt1 = GetObjectImpl(thePnt1);
+ Handle(GEOM_Object) aPnt2 = GetObjectImpl(thePnt2);
if (aPnt1.IsNull() || aPnt2.IsNull()) return aGEOMObject._retn();
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFaceHW (CORBA::Double theH,
- CORBA::Double theW,
- CORBA::Short theOrientation)
+ CORBA::Double theW,
+ CORBA::Short theOrientation)
{
GEOM::GEOM_Object_var aGEOMObject;
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFaceObjHW
(GEOM::GEOM_Object_ptr theObj,
- CORBA::Double theH,
- CORBA::Double theW)
+ CORBA::Double theH,
+ CORBA::Double theW)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theObj == NULL || theH == 0 || theW == 0)
- return aGEOMObject._retn();
-
- //Get the reference points
- Handle(GEOM_Object) anObj = GetOperations()->GetEngine()->GetObject
- (theObj->GetStudyID(), theObj->GetEntry());
+ //Get the reference object
+ Handle(GEOM_Object) anObj = GetObjectImpl(theObj);
if (anObj.IsNull())
return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeDiskPntVecR
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
- CORBA::Double theR)
+ CORBA::Double theR)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt == NULL || theVec == NULL) return aGEOMObject._retn();
-
//Get the reference points
- Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
- (thePnt->GetStudyID(), thePnt->GetEntry());
- Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
- (theVec->GetStudyID(), theVec->GetEntry());
+ Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
+ Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeDiskThreePnt
(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;
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt1 == NULL || thePnt2 == NULL || thePnt3 == NULL) return aGEOMObject._retn();
-
//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());
- Handle(GEOM_Object) aPnt3 = GetOperations()->GetEngine()->GetObject
- (thePnt3->GetStudyID(), thePnt3->GetEntry());
+ Handle(GEOM_Object) aPnt1 = GetObjectImpl(thePnt1);
+ Handle(GEOM_Object) aPnt2 = GetObjectImpl(thePnt2);
+ Handle(GEOM_Object) aPnt3 = GetObjectImpl(thePnt3);
if (aPnt1.IsNull() || aPnt2.IsNull() || aPnt3.IsNull()) return aGEOMObject._retn();
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeDiskR (CORBA::Double theR,
- CORBA::Short theOrientation)
+ CORBA::Short theOrientation)
{
GEOM::GEOM_Object_var aGEOMObject;
*/
//=============================================================================
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_ptr GEOM_I3DPrimOperations_i::MakeCylinderPntVecRH
(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;
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt == NULL || theVec == NULL) return aGEOMObject._retn();
-
//Get the reference points
- Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
- (thePnt->GetStudyID(), thePnt->GetEntry());
- Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
- (theVec->GetStudyID(), theVec->GetEntry());
+ Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
+ Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeConeR1R2H (CORBA::Double theR1,
- CORBA::Double theR2,
- CORBA::Double theH)
+ CORBA::Double theR2,
+ CORBA::Double theH)
{
GEOM::GEOM_Object_var aGEOMObject;
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeConePntVecR1R2H
(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;
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt == NULL || theVec == NULL) return aGEOMObject._retn();
-
//Get the reference points
- Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
- (thePnt->GetStudyID(), thePnt->GetEntry());
- Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
- (theVec->GetStudyID(), theVec->GetEntry());
+ Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
+ Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt == NULL) return aGEOMObject._retn();
-
//Get the reference point
- CORBA::String_var entry=thePnt->GetEntry();
- Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
- (thePnt->GetStudyID(), entry);
+ Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
if (aPnt.IsNull()) return aGEOMObject._retn();
//Create the Sphere
Handle(GEOM_Object) anObject =
- GetOperations()->MakeSpherePntR(aPnt, theR);
+ GetOperations()->MakeSpherePntR(aPnt, theR);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeTorusPntVecRR
(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;
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt == NULL || theVec == NULL) return aGEOMObject._retn();
-
//Get the reference points
- Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject
- (thePnt->GetStudyID(), thePnt->GetEntry());
- Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
- (theVec->GetStudyID(), theVec->GetEntry());
+ Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt);
+ Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
if (aPnt.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismVecH
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theVec,
- CORBA::Double theH)
+ CORBA::Double theH)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theBase == NULL || theVec == NULL) return aGEOMObject._retn();
-
//Get the reference objects
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
- (theBase->GetStudyID(), theBase->GetEntry());
- Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
- (theVec->GetStudyID(), theVec->GetEntry());
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
+ Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
if (aBase.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismVecH2Ways
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theVec,
- CORBA::Double theH)
+ CORBA::Double theH)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theBase == NULL || theVec == NULL) return aGEOMObject._retn();
-
//Get the reference objects
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
- (theBase->GetStudyID(), theBase->GetEntry());
- Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
- (theVec->GetStudyID(), theVec->GetEntry());
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
+ Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
if (aBase.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismTwoPnt
(GEOM::GEOM_Object_ptr theBase,
- 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 (theBase == NULL || thePoint1 == NULL || thePoint2 == NULL)
- return aGEOMObject._retn();
-
//Get the reference objects
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
- (theBase->GetStudyID(), theBase->GetEntry());
- Handle(GEOM_Object) aPoint1 = GetOperations()->GetEngine()->GetObject
- (thePoint1->GetStudyID(), thePoint1->GetEntry());
- Handle(GEOM_Object) aPoint2 = GetOperations()->GetEngine()->GetObject
- (thePoint2->GetStudyID(), thePoint2->GetEntry());
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
+ Handle(GEOM_Object) aPoint1 = GetObjectImpl(thePoint1);
+ Handle(GEOM_Object) aPoint2 = GetObjectImpl(thePoint2);
if (aBase.IsNull() || aPoint1.IsNull() || aPoint2.IsNull())
return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismTwoPnt2Ways
(GEOM::GEOM_Object_ptr theBase,
- 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 (theBase == NULL || thePoint1 == NULL || thePoint2 == NULL)
- return aGEOMObject._retn();
-
//Get the reference objects
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
- (theBase->GetStudyID(), theBase->GetEntry());
- Handle(GEOM_Object) aPoint1 = GetOperations()->GetEngine()->GetObject
- (thePoint1->GetStudyID(), thePoint1->GetEntry());
- Handle(GEOM_Object) aPoint2 = GetOperations()->GetEngine()->GetObject
- (thePoint2->GetStudyID(), thePoint2->GetEntry());
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
+ Handle(GEOM_Object) aPoint1 = GetObjectImpl(thePoint1);
+ Handle(GEOM_Object) aPoint2 = GetObjectImpl(thePoint2);
if (aBase.IsNull() || aPoint1.IsNull() || aPoint2.IsNull())
return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismDXDYDZ
(GEOM::GEOM_Object_ptr theBase, CORBA::Double theDX,
- CORBA::Double theDY, CORBA::Double theDZ)
+ CORBA::Double theDY, CORBA::Double theDZ)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theBase == NULL) return aGEOMObject._retn();
-
//Get the reference objects
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
- (theBase->GetStudyID(), theBase->GetEntry());
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
if (aBase.IsNull()) return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePrismDXDYDZ2Ways
(GEOM::GEOM_Object_ptr theBase, CORBA::Double theDX,
- CORBA::Double theDY, CORBA::Double theDZ)
+ CORBA::Double theDY, CORBA::Double theDZ)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theBase == NULL) return aGEOMObject._retn();
-
//Get the reference objects
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
- (theBase->GetStudyID(), theBase->GetEntry());
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
if (aBase.IsNull()) return aGEOMObject._retn();
//Set a not done flag
GetOperations()->SetNotDone();
- if (theBase == NULL || thePath == NULL) return aGEOMObject._retn();
-
//Get the reference objects
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
- (theBase->GetStudyID(), theBase->GetEntry());
- Handle(GEOM_Object) aPath = GetOperations()->GetEngine()->GetObject
- (thePath->GetStudyID(), thePath->GetEntry());
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
+ Handle(GEOM_Object) aPath = GetObjectImpl(thePath);
if (aBase.IsNull() || aPath.IsNull()) return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeRevolutionAxisAngle
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theAxis,
- CORBA::Double theAngle)
+ CORBA::Double theAngle)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theBase == NULL || theAxis == NULL) return aGEOMObject._retn();
-
//Get the reference objects
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
- (theBase->GetStudyID(), theBase->GetEntry());
- Handle(GEOM_Object) anAxis = GetOperations()->GetEngine()->GetObject
- (theAxis->GetStudyID(), theAxis->GetEntry());
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
+ Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis);
if (aBase.IsNull() || anAxis.IsNull()) return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeRevolutionAxisAngle2Ways
(GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theAxis,
- CORBA::Double theAngle)
+ CORBA::Double theAngle)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theBase == NULL || theAxis == NULL) return aGEOMObject._retn();
-
//Get the reference objects
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
- (theBase->GetStudyID(), theBase->GetEntry());
- Handle(GEOM_Object) anAxis = GetOperations()->GetEngine()->GetObject
- (theAxis->GetStudyID(), theAxis->GetEntry());
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
+ Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis);
if (aBase.IsNull() || anAxis.IsNull()) return aGEOMObject._retn();
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFilling(GEOM::GEOM_Object_ptr theShape,
- CORBA::Long theMinDeg,
- CORBA::Long theMaxDeg,
- CORBA::Double theTol2D,
- CORBA::Double theTol3D,
- CORBA::Long theNbIter,
- CORBA::Boolean theApprox)
+ CORBA::Long theMinDeg,
+ CORBA::Long theMaxDeg,
+ CORBA::Double theTol2D,
+ CORBA::Double theTol3D,
+ CORBA::Long theNbIter,
+ CORBA::Boolean theApprox)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theShape == NULL) return aGEOMObject._retn();
-
//Get the reference objects
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theShape->GetStudyID(), theShape->GetEntry());
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
if (aShape.IsNull()) return aGEOMObject._retn();
//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())
return aGEOMObject._retn();
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
- CORBA::Boolean theModeSolid,
- CORBA::Double thePreci,
- CORBA::Boolean theRuled)
+ CORBA::Boolean theModeSolid,
+ CORBA::Double thePreci,
+ CORBA::Boolean theRuled)
{
GEOM::GEOM_Object_var aGEOMObject;
//Get the shapes
aLen = theSeqSections.length();
for (ind = 0; ind < aLen; ind++) {
- if (theSeqSections[ind] == NULL) continue;
- Handle(GEOM_Object) aSh = GetOperations()->GetEngine()->GetObject
- (theSeqSections[ind]->GetStudyID(), theSeqSections[ind]->GetEntry());
+ Handle(GEOM_Object) aSh = GetObjectImpl(theSeqSections[ind]);
if (!aSh.IsNull())
aSeqSections->Append(aSh);
}
- if(!aSeqSections->Length())
+ if (!aSeqSections->Length())
return aGEOMObject._retn();
// Make shell or solid
* MakePipeWithDifferentSections
*/
//=============================================================================
-GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeWithDifferentSections(const GEOM::ListOfGO& theBases,
- const GEOM::ListOfGO& theLocations,
- GEOM::GEOM_Object_ptr thePath,
- CORBA::Boolean theWithContact,
- CORBA::Boolean theWithCorrections)
+GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeWithDifferentSections
+ (const GEOM::ListOfGO& theBases,
+ const GEOM::ListOfGO& theLocations,
+ GEOM::GEOM_Object_ptr thePath,
+ CORBA::Boolean theWithContact,
+ CORBA::Boolean theWithCorrections)
{
- GEOM::GEOM_Object_var aGEOMObject;
+ GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
Handle(TColStd_HSequenceOfTransient) aSeqBases = new TColStd_HSequenceOfTransient;
Handle(TColStd_HSequenceOfTransient) aSeqLocations = new TColStd_HSequenceOfTransient;
int ind=0, aNbBases =0,aNbLocs=0;
-
+
//Get the shapes
aNbBases = theBases.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();
-
- Handle(GEOM_Object) aPath = GetOperations()->GetEngine()->GetObject
- (thePath->GetStudyID(), thePath->GetEntry());
- if(aPath.IsNull())
- return aGEOMObject._retn();
for (ind = 0; ind < aNbBases; ind++) {
- if (theBases[ind] == NULL) continue;
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject(theBases[ind]->GetStudyID(),
- theBases[ind]->GetEntry());
- if(aBase.IsNull())
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBases[ind]);
+ if (aBase.IsNull())
continue;
- if(aNbLocs)
+ if (aNbLocs)
{
- Handle(GEOM_Object) aLoc = GetOperations()->GetEngine()->GetObject
- (theLocations[ind]->GetStudyID(), theLocations[ind]->GetEntry());
- if(aLoc.IsNull())
- continue;
+ Handle(GEOM_Object) aLoc = GetObjectImpl(theLocations[ind]);
+ if (aLoc.IsNull())
+ continue;
aSeqLocations->Append(aLoc);
}
aSeqBases->Append(aBase);
}
- if(!aSeqBases->Length())
+ if (!aSeqBases->Length())
return aGEOMObject._retn();
// Make pipe
Handle(GEOM_Object) anObject =
GetOperations()->MakePipeWithDifferentSections(aSeqBases,aSeqLocations ,aPath,
- theWithContact,theWithCorrections);
+ theWithContact,theWithCorrections);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeWithShellSections
(const GEOM::ListOfGO& theBases,
- const GEOM::ListOfGO& theSubBases,
- const GEOM::ListOfGO& theLocations,
- GEOM::GEOM_Object_ptr thePath,
- CORBA::Boolean theWithContact,
- CORBA::Boolean theWithCorrections)
+ const GEOM::ListOfGO& theSubBases,
+ const GEOM::ListOfGO& theLocations,
+ GEOM::GEOM_Object_ptr thePath,
+ CORBA::Boolean theWithContact,
+ CORBA::Boolean theWithCorrections)
{
GEOM::GEOM_Object_var aGEOMObject;
Handle(TColStd_HSequenceOfTransient) aSeqSubBases = new TColStd_HSequenceOfTransient;
Handle(TColStd_HSequenceOfTransient) aSeqLocations = new TColStd_HSequenceOfTransient;
int ind=0, aNbBases=0, aNbSubBases=0, aNbLocs=0;
-
+
//Get the shapes
aNbBases = theBases.length();
aNbSubBases = theSubBases.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();
-
- Handle(GEOM_Object) aPath = GetOperations()->GetEngine()->GetObject
- (thePath->GetStudyID(), thePath->GetEntry());
- if(aPath.IsNull())
- return aGEOMObject._retn();
for (ind = 0; ind < aNbBases; ind++) {
- if (theBases[ind] == NULL) continue;
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->
- GetObject(theBases[ind]->GetStudyID(), theBases[ind]->GetEntry());
- if(aBase.IsNull())
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBases[ind]);
+ if (aBase.IsNull())
continue;
- if(aNbLocs) {
- Handle(GEOM_Object) aLoc = GetOperations()->GetEngine()->GetObject
- (theLocations[ind]->GetStudyID(), theLocations[ind]->GetEntry());
- if(aLoc.IsNull())
- continue;
+ if (aNbLocs) {
+ Handle(GEOM_Object) aLoc = GetObjectImpl(theLocations[ind]);
+ if (aLoc.IsNull())
+ continue;
aSeqLocations->Append(aLoc);
}
aSeqBases->Append(aBase);
- if(aNbSubBases>=aNbBases) {
- Handle(GEOM_Object) aSubBase = GetOperations()->GetEngine()->
- GetObject(theSubBases[ind]->GetStudyID(), theSubBases[ind]->GetEntry());
- if(aSubBase.IsNull()) {
- aSeqSubBases->Clear();
- aNbSubBases = 0;
- continue;
+ if (aNbSubBases >= aNbBases) {
+ Handle(GEOM_Object) aSubBase = GetObjectImpl(theSubBases[ind]);
+ if (aSubBase.IsNull()) {
+ aSeqSubBases->Clear();
+ aNbSubBases = 0;
+ continue;
}
aSeqSubBases->Append(aSubBase);
}
-
}
- if(!aSeqBases->Length())
+ if (!aSeqBases->Length())
return aGEOMObject._retn();
// Make pipe
Handle(GEOM_Object) anObject =
GetOperations()->MakePipeWithShellSections(aSeqBases, aSeqSubBases,
- aSeqLocations, aPath,
- theWithContact, theWithCorrections);
+ aSeqLocations, aPath,
+ theWithContact, theWithCorrections);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeShellsWithoutPath
(const GEOM::ListOfGO& theBases,
- const GEOM::ListOfGO& theLocations)
+ const GEOM::ListOfGO& theLocations)
{
GEOM::GEOM_Object_var aGEOMObject;
Handle(TColStd_HSequenceOfTransient) aSeqBases = new TColStd_HSequenceOfTransient;
Handle(TColStd_HSequenceOfTransient) aSeqLocations = new TColStd_HSequenceOfTransient;
int ind=0, aNbBases=0, aNbLocs=0;
-
+
//Get the shapes
aNbBases = theBases.length();
aNbLocs = theLocations.length();
- if( aNbLocs && aNbBases != aNbLocs)
+ if (aNbLocs && aNbBases != aNbLocs)
return aGEOMObject._retn();
-
+
for (ind = 0; ind < aNbBases; ind++) {
- if (theBases[ind] == NULL) continue;
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->
- GetObject(theBases[ind]->GetStudyID(), theBases[ind]->GetEntry());
- if(aBase.IsNull())
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBases[ind]);
+ if (aBase.IsNull())
continue;
- if(aNbLocs) {
- Handle(GEOM_Object) aLoc = GetOperations()->GetEngine()->GetObject
- (theLocations[ind]->GetStudyID(), theLocations[ind]->GetEntry());
- if(aLoc.IsNull())
- continue;
+ if (aNbLocs) {
+ Handle(GEOM_Object) aLoc = GetObjectImpl(theLocations[ind]);
+ if (aLoc.IsNull())
+ continue;
aSeqLocations->Append(aLoc);
}
aSeqBases->Append(aBase);
}
- if(!aSeqBases->Length())
+ if (!aSeqBases->Length())
return aGEOMObject._retn();
// Make pipe
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakePipeBiNormalAlongVector
- (GEOM::GEOM_Object_ptr theBase,
- GEOM::GEOM_Object_ptr thePath,
- GEOM::GEOM_Object_ptr theVec)
+ (GEOM::GEOM_Object_ptr theBase,
+ GEOM::GEOM_Object_ptr thePath,
+ GEOM::GEOM_Object_ptr theVec)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theBase == NULL || thePath == NULL || theVec == NULL) return aGEOMObject._retn();
-
//Get the reference objects
- Handle(GEOM_Object) aBase = GetOperations()->GetEngine()->GetObject
- (theBase->GetStudyID(), theBase->GetEntry());
- Handle(GEOM_Object) aPath = GetOperations()->GetEngine()->GetObject
- (thePath->GetStudyID(), thePath->GetEntry());
- Handle(GEOM_Object) aVec = GetOperations()->GetEngine()->GetObject
- (theVec->GetStudyID(), theVec->GetEntry());
+ Handle(GEOM_Object) aBase = GetObjectImpl(theBase);
+ Handle(GEOM_Object) aPath = GetObjectImpl(thePath);
+ Handle(GEOM_Object) aVec = GetObjectImpl(theVec);
if (aBase.IsNull() || aPath.IsNull() || aVec.IsNull()) return aGEOMObject._retn();
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
+
#include <Standard_Stream.hxx>
#include "GEOM_IBasicOperations_i.hh"
*/
//=============================================================================
GEOM_IBasicOperations_i::GEOM_IBasicOperations_i (PortableServer::POA_ptr thePOA,
- GEOM::GEOM_Gen_ptr theEngine,
- ::GEOMImpl_IBasicOperations* theImpl)
+ GEOM::GEOM_Gen_ptr theEngine,
+ ::GEOMImpl_IBasicOperations* theImpl)
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
{
MESSAGE("GEOM_IBasicOperations_i::GEOM_IBasicOperations_i");
//Set a not done flag
GetOperations()->SetNotDone();
- //Create the point
-
+ //Create the point
Handle(GEOM_Object) anObject = GetOperations()->MakePointXYZ(theX, theY, theZ);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
//Set a not done flag
GetOperations()->SetNotDone();
- if(theReference == NULL) return aGEOMObject._retn();
-
//Get the reference point
-
- Handle(GEOM_Object) aRefernce = GetOperations()->GetEngine()->GetObject
- (theReference->GetStudyID(), theReference->GetEntry());
- if (aRefernce.IsNull()) return aGEOMObject._retn();
+ Handle(GEOM_Object) aReference = GetObjectImpl(theReference);
+ if (aReference.IsNull()) return aGEOMObject._retn();
//Create the point
-
Handle(GEOM_Object) anObject =
- GetOperations()->MakePointWithReference(aRefernce, theX, theY, theZ);
+ GetOperations()->MakePointWithReference(aReference, theX, theY, theZ);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
//Set a not done flag
GetOperations()->SetNotDone();
- if (theLine1 == NULL || theLine2 == NULL) return aGEOMObject._retn();
-
//Get the reference Lines
-
- Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
- (theLine1->GetStudyID(), theLine1->GetEntry());
- Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
- (theLine2->GetStudyID(), theLine2->GetEntry());
+ Handle(GEOM_Object) aRef1 = GetObjectImpl(theLine1);
+ Handle(GEOM_Object) aRef2 = GetObjectImpl(theLine2);
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
//Create the point
-
Handle(GEOM_Object) anObject =
GetOperations()->MakePointOnLinesIntersection(aRef1, aRef2);
if (!GetOperations()->IsDone() || anObject.IsNull())
return GetObject(anObject);
}
-
//=============================================================================
/*!
* MakePointOnCurve
//Set a not done flag
GetOperations()->SetNotDone();
- if (theCurve == NULL) return aGEOMObject._retn();
-
//Get the reference curve
-
- Handle(GEOM_Object) aRefernce = GetOperations()->GetEngine()->GetObject
- (theCurve->GetStudyID(), theCurve->GetEntry());
- if (aRefernce.IsNull()) return aGEOMObject._retn();
+ Handle(GEOM_Object) aReference = GetObjectImpl(theCurve);
+ if (aReference.IsNull()) return aGEOMObject._retn();
//Create the point
-
Handle(GEOM_Object) anObject =
- GetOperations()->MakePointOnCurve(aRefernce, theParameter);
+ GetOperations()->MakePointOnCurve(aReference, theParameter);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
return GetObject(anObject);
}
-
//=============================================================================
/*!
* MakePointOnSurface
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePointOnSurface
(GEOM::GEOM_Object_ptr theSurface,
- CORBA::Double theUParameter,
- CORBA::Double theVParameter)
+ CORBA::Double theUParameter,
+ CORBA::Double theVParameter)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theSurface == NULL) return aGEOMObject._retn();
-
//Get the reference surface
- Handle(GEOM_Object) aRefernce = GetOperations()->GetEngine()->GetObject
- (theSurface->GetStudyID(), theSurface->GetEntry());
- if (aRefernce.IsNull()) return aGEOMObject._retn();
+ Handle(GEOM_Object) aReference = GetObjectImpl(theSurface);
+ if (aReference.IsNull()) return aGEOMObject._retn();
//Create the point
Handle(GEOM_Object) anObject =
- GetOperations()->MakePointOnSurface(aRefernce, theUParameter, theVParameter);
+ GetOperations()->MakePointOnSurface(aReference, theUParameter, theVParameter);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
//Set a not done flag
GetOperations()->SetNotDone();
- if (theCurve == NULL) return aGEOMObject._retn();
-
//Get the reference curve
+ Handle(GEOM_Object) aReference = GetObjectImpl(theCurve);
+ if (aReference.IsNull()) return aGEOMObject._retn();
- Handle(GEOM_Object) aRefernce = GetOperations()->GetEngine()->GetObject
- (theCurve->GetStudyID(), theCurve->GetEntry());
- if (aRefernce.IsNull()) return aGEOMObject._retn();
-
- //Create the point
-
+ //Create the vector
Handle(GEOM_Object) anObject =
- GetOperations()->MakeTangentOnCurve(aRefernce, theParameter);
+ GetOperations()->MakeTangentOnCurve(aReference, theParameter);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
return GetObject(anObject);
}
-
//=============================================================================
/*!
* MakeVectorDXDYDZ
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt1 == NULL || thePnt2 == NULL) return aGEOMObject._retn();
-
//Get the reference points
-
- Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
- (thePnt1->GetStudyID(), thePnt1->GetEntry());
- Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
- (thePnt2->GetStudyID(), thePnt2->GetEntry());
+ Handle(GEOM_Object) aRef1 = GetObjectImpl(thePnt1);
+ Handle(GEOM_Object) aRef2 = GetObjectImpl(thePnt2);
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
//Create the vector
-
- Handle(GEOM_Object) anObject =
- GetOperations()->MakeVectorTwoPnt(aRef1, aRef2);
+ Handle(GEOM_Object) anObject = GetOperations()->MakeVectorTwoPnt(aRef1, aRef2);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt == NULL || theDir == NULL) return aGEOMObject._retn();
-
//Get the reference objects
-
- Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
- (thePnt->GetStudyID(), thePnt->GetEntry());
- Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
- (theDir->GetStudyID(), theDir->GetEntry());
+ Handle(GEOM_Object) aRef1 = GetObjectImpl(thePnt);
+ Handle(GEOM_Object) aRef2 = GetObjectImpl(theDir);
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
//Create the Line
-
- Handle(GEOM_Object) anObject =
- GetOperations()->MakeLine(aRef1, aRef2);
+ Handle(GEOM_Object) anObject = GetOperations()->MakeLine(aRef1, aRef2);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt1 == NULL || thePnt2 == NULL) return aGEOMObject._retn();
-
//Get the reference points
-
- Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
- (thePnt1->GetStudyID(), thePnt1->GetEntry());
- Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
- (thePnt2->GetStudyID(), thePnt2->GetEntry());
+ Handle(GEOM_Object) aRef1 = GetObjectImpl(thePnt1);
+ Handle(GEOM_Object) aRef2 = GetObjectImpl(thePnt2);
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
//Create the Line
-
- Handle(GEOM_Object) anObject =
- GetOperations()->MakeLineTwoPnt(aRef1, aRef2);
+ Handle(GEOM_Object) anObject = GetOperations()->MakeLineTwoPnt(aRef1, aRef2);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
//Set a not done flag
GetOperations()->SetNotDone();
- if (theFace1 == NULL || theFace2 == NULL) return aGEOMObject._retn();
-
//Get the reference points
-
- Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
- (theFace1->GetStudyID(), theFace1->GetEntry());
- Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
- (theFace2->GetStudyID(), theFace2->GetEntry());
+ Handle(GEOM_Object) aRef1 = GetObjectImpl(theFace1);
+ Handle(GEOM_Object) aRef2 = GetObjectImpl(theFace2);
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
//Create the Line
-
Handle(GEOM_Object) anObject =
GetOperations()->MakeLineTwoFaces(aRef1, aRef2);
if (!GetOperations()->IsDone() || anObject.IsNull())
return GetObject(anObject);
}
+
//=============================================================================
/*!
* MakePlanePntVec
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePlanePntVec
(GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theVec,
- CORBA::Double theTrimSize)
+ CORBA::Double theTrimSize)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt == NULL || theVec == NULL) return aGEOMObject._retn();
-
//Get the references
-
- Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
- (thePnt->GetStudyID(), thePnt->GetEntry());
- Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
- (theVec->GetStudyID(), theVec->GetEntry());
+ Handle(GEOM_Object) aRef1 = GetObjectImpl(thePnt);
+ Handle(GEOM_Object) aRef2 = GetObjectImpl(theVec);
if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
//Create the plane
-
Handle(GEOM_Object) anObject =
GetOperations()->MakePlanePntVec(aRef1, aRef2, theTrimSize);
if (!GetOperations()->IsDone() || anObject.IsNull())
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakePlaneThreePnt
(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;
//Set a not done flag
GetOperations()->SetNotDone();
- if (thePnt1 == NULL || thePnt2 == NULL || thePnt3 == NULL)
- return aGEOMObject._retn();
-
//Get the reference points
-
- Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
- (thePnt1->GetStudyID(), thePnt1->GetEntry());
- Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
- (thePnt2->GetStudyID(), thePnt2->GetEntry());
- Handle(GEOM_Object) aRef3 = GetOperations()->GetEngine()->GetObject
- (thePnt3->GetStudyID(), thePnt3->GetEntry());
+ Handle(GEOM_Object) aRef1 = GetObjectImpl(thePnt1);
+ Handle(GEOM_Object) aRef2 = GetObjectImpl(thePnt2);
+ Handle(GEOM_Object) aRef3 = GetObjectImpl(thePnt3);
if (aRef1.IsNull() || aRef2.IsNull() || aRef3.IsNull())
return aGEOMObject._retn();
//Create the plane
-
Handle(GEOM_Object) anObject =
GetOperations()->MakePlaneThreePnt(aRef1, aRef2, aRef3, theTrimSize);
if (!GetOperations()->IsDone() || anObject.IsNull())
//Set a not done flag
GetOperations()->SetNotDone();
- if (theFace == NULL) return aGEOMObject._retn();
-
//Get the reference face
-
- Handle(GEOM_Object) aRef = GetOperations()->GetEngine()->GetObject
- (theFace->GetStudyID(), theFace->GetEntry());
+ Handle(GEOM_Object) aRef = GetObjectImpl(theFace);
if (aRef.IsNull()) return aGEOMObject._retn();
//Create the plane
-
Handle(GEOM_Object) anObject =
GetOperations()->MakePlaneFace(aRef, theTrimSize);
if (!GetOperations()->IsDone() || anObject.IsNull())
//Create the point
Handle(GEOM_Object) anObject = GetOperations()->MakeMarker(theOX , theOY , theOZ,
- theXDX, theXDY, theXDZ,
- theYDX, theYDY, theYDZ);
+ theXDX, theXDY, theXDZ,
+ theYDX, theYDY, theYDZ);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeTangentPlaneOnFace
- (GEOM::GEOM_Object_ptr theFace,
- CORBA::Double theParameterU,
- CORBA::Double theParameterV,
- CORBA::Double theTrimSize)
+ (GEOM::GEOM_Object_ptr theFace,
+ CORBA::Double theParameterU,
+ CORBA::Double theParameterV,
+ CORBA::Double theTrimSize)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (theFace == NULL) return aGEOMObject._retn();
-
//Get the reference face
-
- Handle(GEOM_Object) aRef = GetOperations()->GetEngine()->GetObject
- (theFace->GetStudyID(), theFace->GetEntry());
+ Handle(GEOM_Object) aRef = GetObjectImpl(theFace);
if (aRef.IsNull()) return aGEOMObject._retn();
//Create the plane
-
Handle(GEOM_Object) anObject =
GetOperations()->MakeTangentPlaneOnFace(aRef, theParameterU,theParameterV,theTrimSize);
if (!GetOperations()->IsDone() || anObject.IsNull())
return GetObject(anObject);
}
-
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
+
#include <Standard_Stream.hxx>
#include "GEOM_IMeasureOperations_i.hh"
*/
//=============================================================================
GEOM_IMeasureOperations_i::GEOM_IMeasureOperations_i (PortableServer::POA_ptr thePOA,
- GEOM::GEOM_Gen_ptr theEngine,
- ::GEOMImpl_IMeasureOperations* theImpl)
+ GEOM::GEOM_Gen_ptr theEngine,
+ ::GEOMImpl_IMeasureOperations* theImpl)
:GEOM_IOperations_i(thePOA, theEngine, theImpl)
{
MESSAGE("GEOM_IMeasureOperations_i::GEOM_IMeasureOperations_i");
//=============================================================================
GEOM::GEOM_IKindOfShape::shape_kind GEOM_IMeasureOperations_i::KindOfShape
(GEOM::GEOM_Object_ptr theShape,
- GEOM::ListOfLong_out theIntegers,
- GEOM::ListOfDouble_out theDoubles)
+ GEOM::ListOfLong_out theIntegers,
+ GEOM::ListOfDouble_out theDoubles)
{
GEOMImpl_IMeasureOperations::ShapeKind aKind = GEOMImpl_IMeasureOperations::SK_NO_SHAPE;
GEOM::ListOfDouble_var aDoublesArray = new GEOM::ListOfDouble();
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theShape->GetStudyID(), theShape->GetEntry());
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
if (!aShape.IsNull()) {
Handle(TColStd_HSequenceOfInteger) anIntegers = new TColStd_HSequenceOfInteger;
//=============================================================================
void GEOM_IMeasureOperations_i::GetPosition
(GEOM::GEOM_Object_ptr theShape,
- CORBA::Double& Ox, CORBA::Double& Oy, CORBA::Double& Oz,
- CORBA::Double& Zx, CORBA::Double& Zy, CORBA::Double& Zz,
- CORBA::Double& Xx, CORBA::Double& Xy, CORBA::Double& Xz)
+ CORBA::Double& Ox, CORBA::Double& Oy, CORBA::Double& Oz,
+ CORBA::Double& Zx, CORBA::Double& Zy, CORBA::Double& Zz,
+ CORBA::Double& Xx, CORBA::Double& Xy, CORBA::Double& Xz)
{
//Set a not done flag
GetOperations()->SetNotDone();
Ox = Oy = Oz = Zx = Zy = Xy = Xz = 0.;
Zz = Xx = 1.;
- if (theShape == NULL) return;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theShape->GetStudyID(), theShape->GetEntry());
-
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
if (aShape.IsNull()) return;
// Get shape parameters
//Set a not done flag
GetOperations()->SetNotDone();
- if (CORBA::is_nil(theShape)) return aGEOMObject._retn();
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theShape->GetStudyID(), theShape->GetEntry());
-
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
if (aShape.IsNull()) return aGEOMObject._retn();
// Make Point - centre of mass of theShape
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_IMeasureOperations_i::GetNormal
(GEOM::GEOM_Object_ptr theFace,
- GEOM::GEOM_Object_ptr theOptionalPoint)
+ GEOM::GEOM_Object_ptr theOptionalPoint)
{
GEOM::GEOM_Object_var aGEOMObject;
//Set a not done flag
GetOperations()->SetNotDone();
- if (CORBA::is_nil(theFace)) return aGEOMObject._retn();
-
//Get the reference shape
- Handle(GEOM_Object) aFace = GetOperations()->GetEngine()->GetObject
- (theFace->GetStudyID(), theFace->GetEntry());
-
+ Handle(GEOM_Object) aFace = GetObjectImpl(theFace);
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)
- 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);
if (!GetOperations()->IsDone() || anObject.IsNull())
return aGEOMObject._retn();
*/
//=============================================================================
void GEOM_IMeasureOperations_i::GetBasicProperties (GEOM::GEOM_Object_ptr theShape,
- CORBA::Double& theLength,
- CORBA::Double& theSurfArea,
- CORBA::Double& theVolume)
+ CORBA::Double& theLength,
+ CORBA::Double& theSurfArea,
+ CORBA::Double& theVolume)
{
//Set a not done flag
GetOperations()->SetNotDone();
- if (theShape == NULL) return;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theShape->GetStudyID(), theShape->GetEntry());
-
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
if (aShape.IsNull()) return;
// Get shape parameters
//Set a not done flag
GetOperations()->SetNotDone();
- if (theShape == NULL) return;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theShape->GetStudyID(), theShape->GetEntry());
-
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
if (aShape.IsNull()) return;
// Get shape parameters
GetOperations()->GetInertia(aShape,
- I11, I12, I13,
- I21, I22, I23,
- I31, I32, I33,
- Ix , Iy , Iz);
+ I11, I12, I13,
+ I21, I22, I23,
+ I31, I32, I33,
+ Ix , Iy , Iz);
}
//=============================================================================
*/
//=============================================================================
void GEOM_IMeasureOperations_i::GetBoundingBox (GEOM::GEOM_Object_ptr theShape,
- CORBA::Double& Xmin, CORBA::Double& Xmax,
- CORBA::Double& Ymin, CORBA::Double& Ymax,
- CORBA::Double& Zmin, CORBA::Double& Zmax)
+ CORBA::Double& Xmin, CORBA::Double& Xmax,
+ CORBA::Double& Ymin, CORBA::Double& Ymax,
+ CORBA::Double& Zmin, CORBA::Double& Zmax)
{
//Set a not done flag
GetOperations()->SetNotDone();
- if (theShape == NULL) return;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theShape->GetStudyID(), theShape->GetEntry());
-
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
if (aShape.IsNull()) return;
// Get shape parameters
//=============================================================================
void GEOM_IMeasureOperations_i::GetTolerance
(GEOM::GEOM_Object_ptr theShape,
- CORBA::Double& FaceMin, CORBA::Double& FaceMax,
- CORBA::Double& EdgeMin, CORBA::Double& EdgeMax,
- CORBA::Double& VertMin, CORBA::Double& VertMax)
+ CORBA::Double& FaceMin, CORBA::Double& FaceMax,
+ CORBA::Double& EdgeMin, CORBA::Double& EdgeMax,
+ CORBA::Double& VertMin, CORBA::Double& VertMax)
{
//Set a not done flag
GetOperations()->SetNotDone();
- if (theShape == NULL) return;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theShape->GetStudyID(), theShape->GetEntry());
-
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
if (aShape.IsNull()) return;
// Get shape parameters
GetOperations()->GetTolerance(aShape,
- FaceMin, FaceMax,
- EdgeMin, EdgeMax,
- VertMin, VertMax);
+ FaceMin, FaceMax,
+ EdgeMin, EdgeMax,
+ VertMin, VertMax);
}
//=============================================================================
*/
//=============================================================================
CORBA::Boolean GEOM_IMeasureOperations_i::CheckShape (GEOM::GEOM_Object_ptr theShape,
- CORBA::String_out theDescription)
+ CORBA::String_out theDescription)
{
//Set a not done flag
GetOperations()->SetNotDone();
- if (theShape == NULL)
+ if (CORBA::is_nil(theShape))
{
theDescription = CORBA::string_dup("null");
return 0;
}
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theShape->GetStudyID(), theShape->GetEntry());
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
if (aShape.IsNull())
{
}
CORBA::Boolean GEOM_IMeasureOperations_i::CheckShapeWithGeometry (GEOM::GEOM_Object_ptr theShape,
- CORBA::String_out theDescription)
+ CORBA::String_out theDescription)
{
//Set a not done flag
GetOperations()->SetNotDone();
- if (theShape == NULL)
+ if (CORBA::is_nil(theShape))
{
theDescription = CORBA::string_dup("null");
return 0;
}
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theShape->GetStudyID(), theShape->GetEntry());
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
if (aShape.IsNull())
{
//Set a not done flag
GetOperations()->SetNotDone();
- if (theShape == NULL) return NULL;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theShape->GetStudyID(), theShape->GetEntry());
-
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
if (aShape.IsNull()) return NULL;
// Get shape parameters
//Set a not done flag
GetOperations()->SetNotDone();
- if (theShape1 == NULL || theShape2 == NULL) return -1.0;
-
//Get the reference shape
- Handle(GEOM_Object) aShape1 = GetOperations()->GetEngine()->GetObject
- (theShape1->GetStudyID(), theShape1->GetEntry());
- Handle(GEOM_Object) aShape2 = GetOperations()->GetEngine()->GetObject
- (theShape2->GetStudyID(), theShape2->GetEntry());
-
+ Handle(GEOM_Object) aShape1 = GetObjectImpl(theShape1);
+ Handle(GEOM_Object) aShape2 = GetObjectImpl(theShape2);
if (aShape1.IsNull() || aShape2.IsNull()) return -1.0;
// Get shape parameters
*/
//=============================================================================
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
GetOperations()->SetNotDone();
- if ( theShape->_is_nil() )
- return;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject(
- theShape->GetStudyID(), theShape->GetEntry() );
-
- if ( aShape.IsNull() )
+ Handle(GEOM_Object) aShape = GetObjectImpl(theShape);
+ if (aShape.IsNull())
return;
// Get shape parameters
*/
//=============================================================================
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
GetOperations()->SetNotDone();
- if (theShape1 == NULL || theShape2 == NULL) return -1.0;
-
//Get the reference shapes
- Handle(GEOM_Object) aShape1 = GetOperations()->GetEngine()->GetObject
- (theShape1->GetStudyID(), theShape1->GetEntry());
- Handle(GEOM_Object) aShape2 = GetOperations()->GetEngine()->GetObject
- (theShape2->GetStudyID(), theShape2->GetEntry());
-
+ Handle(GEOM_Object) aShape1 = GetObjectImpl(theShape1);
+ Handle(GEOM_Object) aShape2 = GetObjectImpl(theShape2);
if (aShape1.IsNull() || aShape2.IsNull()) return -1.0;
// Get the angle
//Set a not done flag
GetOperations()->SetNotDone();
- if(theCurve==NULL) return -1.0;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theCurve->GetStudyID(), theCurve->GetEntry());
-
+ Handle(GEOM_Object) aShape = GetObjectImpl(theCurve);
if(aShape.IsNull()) return -1.0;
return GetOperations()->CurveCurvatureByParam(aShape,theParam);
}
-
//=============================================================================
/*!
* CurveCurvatureByPoint
//Set a not done flag
GetOperations()->SetNotDone();
- if( theCurve==NULL || thePoint==NULL ) return -1.0;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theCurve->GetStudyID(), theCurve->GetEntry());
- Handle(GEOM_Object) aPoint = GetOperations()->GetEngine()->GetObject
- (thePoint->GetStudyID(), thePoint->GetEntry());
-
+ Handle(GEOM_Object) aShape = GetObjectImpl(theCurve);
+ Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
if( aShape.IsNull() || aPoint.IsNull() ) return -1.0;
return GetOperations()->CurveCurvatureByPoint(aShape,aPoint);
//=============================================================================
CORBA::Double GEOM_IMeasureOperations_i::MaxSurfaceCurvatureByParam
(GEOM::GEOM_Object_ptr theSurf,
- CORBA::Double theUParam,
- CORBA::Double theVParam)
+ CORBA::Double theUParam,
+ CORBA::Double theVParam)
{
//Set a not done flag
GetOperations()->SetNotDone();
- if(theSurf==NULL) return -1.0;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theSurf->GetStudyID(), theSurf->GetEntry());
-
+ Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
if(aShape.IsNull()) return -1.0;
return GetOperations()->MaxSurfaceCurvatureByParam(aShape,theUParam,theVParam);
}
-
//=============================================================================
/*!
* MaxSurfaceCurvatureByPoint
//Set a not done flag
GetOperations()->SetNotDone();
- if( theSurf==NULL || thePoint==NULL ) return -1.0;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theSurf->GetStudyID(), theSurf->GetEntry());
- Handle(GEOM_Object) aPoint = GetOperations()->GetEngine()->GetObject
- (thePoint->GetStudyID(), thePoint->GetEntry());
-
+ Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
+ Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
if( aShape.IsNull() || aPoint.IsNull() ) return -1.0;
return GetOperations()->MaxSurfaceCurvatureByPoint(aShape,aPoint);
}
-
//=============================================================================
/*!
* MinSurfaceCurvatureByParam
//=============================================================================
CORBA::Double GEOM_IMeasureOperations_i::MinSurfaceCurvatureByParam
(GEOM::GEOM_Object_ptr theSurf,
- CORBA::Double theUParam,
- CORBA::Double theVParam)
+ CORBA::Double theUParam,
+ CORBA::Double theVParam)
{
//Set a not done flag
GetOperations()->SetNotDone();
- if(theSurf==NULL) return -1.0;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theSurf->GetStudyID(), theSurf->GetEntry());
-
- if(aShape.IsNull()) return -1.0;
+ Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
+ if (aShape.IsNull()) return -1.0;
return GetOperations()->MinSurfaceCurvatureByParam(aShape,theUParam,theVParam);
}
-
//=============================================================================
/*!
* MinSurfaceCurvatureByPoint
//Set a not done flag
GetOperations()->SetNotDone();
- if( theSurf==NULL || thePoint==NULL ) return -1.0;
-
//Get the reference shape
- Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
- (theSurf->GetStudyID(), theSurf->GetEntry());
- Handle(GEOM_Object) aPoint = GetOperations()->GetEngine()->GetObject
- (thePoint->GetStudyID(), thePoint->GetEntry());
-
- if( aShape.IsNull() || aPoint.IsNull() ) return -1.0;
+ Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
+ Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
+ if (aShape.IsNull() || aPoint.IsNull()) return -1.0;
return GetOperations()->MinSurfaceCurvatureByPoint(aShape,aPoint);
}
GEOM::GEOM_Object_var GO = _engine->GetObject(theObject->GetDocID(), anEntry.ToCString());
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;
+}
virtual CORBA::Long GetStudyID();
virtual GEOM::GEOM_Object_ptr GetObject(Handle(GEOM_Object) theObject);
+ virtual Handle(GEOM_Object) GetObjectImpl(GEOM::GEOM_Object_ptr theObject);
virtual void StartOperation();