mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-26 16:30:34 +05:00
PAL10015. Implement GetShapesOnQuadrangle()
This commit is contained in:
parent
144514e2fe
commit
848e92b3ee
@ -699,6 +699,67 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnSphere
|
|||||||
return aSeq._retn();
|
return aSeq._retn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
* GetShapesOnQuadrangle
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnQuadrangle
|
||||||
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
|
CORBA::Long theShapeType,
|
||||||
|
GEOM::GEOM_Object_ptr theTopLeftPoint,
|
||||||
|
GEOM::GEOM_Object_ptr theTopRigthPoint,
|
||||||
|
GEOM::GEOM_Object_ptr theBottomLeftPoint,
|
||||||
|
GEOM::GEOM_Object_ptr theBottomRigthPoint,
|
||||||
|
GEOM::shape_state theState)
|
||||||
|
{
|
||||||
|
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO;
|
||||||
|
|
||||||
|
//Set a not done flag
|
||||||
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
|
if (theShape == NULL ||
|
||||||
|
theTopLeftPoint == NULL ||
|
||||||
|
theTopRigthPoint == NULL ||
|
||||||
|
theBottomLeftPoint == NULL ||
|
||||||
|
theBottomRigthPoint == NULL )
|
||||||
|
return aSeq._retn();
|
||||||
|
|
||||||
|
//Get the reference objects
|
||||||
|
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
||||||
|
(theShape->GetStudyID(), theShape->GetEntry());
|
||||||
|
Handle(GEOM_Object) aTopLeftPoint = GetOperations()->GetEngine()->GetObject
|
||||||
|
(theShape->GetStudyID(), theTopLeftPoint->GetEntry());
|
||||||
|
Handle(GEOM_Object) aTopRigthPoint = GetOperations()->GetEngine()->GetObject
|
||||||
|
(theShape->GetStudyID(), theTopRigthPoint->GetEntry());
|
||||||
|
Handle(GEOM_Object) aBottomLeftPoint = GetOperations()->GetEngine()->GetObject
|
||||||
|
(theShape->GetStudyID(), theBottomLeftPoint->GetEntry());
|
||||||
|
Handle(GEOM_Object) aBottomRigthPoint = GetOperations()->GetEngine()->GetObject
|
||||||
|
(theShape->GetStudyID(), theBottomRigthPoint->GetEntry());
|
||||||
|
|
||||||
|
if (aShape.IsNull() ||
|
||||||
|
aTopLeftPoint.IsNull() ||
|
||||||
|
aTopRigthPoint.IsNull() ||
|
||||||
|
aBottomLeftPoint.IsNull() ||
|
||||||
|
aBottomRigthPoint.IsNull() )
|
||||||
|
return aSeq._retn();
|
||||||
|
|
||||||
|
//Get Shapes On Quadrangle
|
||||||
|
Handle(TColStd_HSequenceOfTransient) aHSeq = GetOperations()->GetShapesOnQuadrangle
|
||||||
|
(aShape, theShapeType,
|
||||||
|
aTopLeftPoint, aTopRigthPoint, aBottomLeftPoint, aBottomRigthPoint,
|
||||||
|
ShapeState(theState));
|
||||||
|
if (!GetOperations()->IsDone() || aHSeq.IsNull())
|
||||||
|
return aSeq._retn();
|
||||||
|
|
||||||
|
Standard_Integer aLength = aHSeq->Length();
|
||||||
|
aSeq->length(aLength);
|
||||||
|
for (Standard_Integer i = 1; i <= aLength; i++)
|
||||||
|
aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i)));
|
||||||
|
|
||||||
|
return aSeq._retn();
|
||||||
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* GetShapesOnPlaneIDs
|
* GetShapesOnPlaneIDs
|
||||||
@ -821,6 +882,67 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnSphereIDs
|
|||||||
return aSeq._retn();
|
return aSeq._retn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
* GetShapesOnQuadrangleIDs
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnQuadrangleIDs
|
||||||
|
(GEOM::GEOM_Object_ptr theShape,
|
||||||
|
CORBA::Long theShapeType,
|
||||||
|
GEOM::GEOM_Object_ptr theTopLeftPoint,
|
||||||
|
GEOM::GEOM_Object_ptr theTopRigthPoint,
|
||||||
|
GEOM::GEOM_Object_ptr theBottomLeftPoint,
|
||||||
|
GEOM::GEOM_Object_ptr theBottomRigthPoint,
|
||||||
|
GEOM::shape_state theState)
|
||||||
|
{
|
||||||
|
GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong;
|
||||||
|
|
||||||
|
//Set a not done flag
|
||||||
|
GetOperations()->SetNotDone();
|
||||||
|
|
||||||
|
if (theShape == NULL ||
|
||||||
|
theTopLeftPoint == NULL ||
|
||||||
|
theTopRigthPoint == NULL ||
|
||||||
|
theBottomLeftPoint == NULL ||
|
||||||
|
theBottomRigthPoint == NULL )
|
||||||
|
return aSeq._retn();
|
||||||
|
|
||||||
|
//Get the reference objects
|
||||||
|
Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
|
||||||
|
(theShape->GetStudyID(), theShape->GetEntry());
|
||||||
|
Handle(GEOM_Object) aTopLeftPoint = GetOperations()->GetEngine()->GetObject
|
||||||
|
(theShape->GetStudyID(), theTopLeftPoint->GetEntry());
|
||||||
|
Handle(GEOM_Object) aTopRigthPoint = GetOperations()->GetEngine()->GetObject
|
||||||
|
(theShape->GetStudyID(), theTopRigthPoint->GetEntry());
|
||||||
|
Handle(GEOM_Object) aBottomLeftPoint = GetOperations()->GetEngine()->GetObject
|
||||||
|
(theShape->GetStudyID(), theBottomLeftPoint->GetEntry());
|
||||||
|
Handle(GEOM_Object) aBottomRigthPoint = GetOperations()->GetEngine()->GetObject
|
||||||
|
(theShape->GetStudyID(), theBottomRigthPoint->GetEntry());
|
||||||
|
|
||||||
|
if (aShape.IsNull() ||
|
||||||
|
aTopLeftPoint.IsNull() ||
|
||||||
|
aTopRigthPoint.IsNull() ||
|
||||||
|
aBottomLeftPoint.IsNull() ||
|
||||||
|
aBottomRigthPoint.IsNull() )
|
||||||
|
return aSeq._retn();
|
||||||
|
|
||||||
|
//Get Shapes On Quadrangle
|
||||||
|
Handle(TColStd_HSequenceOfInteger) aHSeq = GetOperations()->GetShapesOnQuadrangleIDs
|
||||||
|
(aShape, theShapeType,
|
||||||
|
aTopLeftPoint, aTopRigthPoint, aBottomLeftPoint, aBottomRigthPoint,
|
||||||
|
ShapeState(theState));
|
||||||
|
if (!GetOperations()->IsDone() || aHSeq.IsNull())
|
||||||
|
return aSeq._retn();
|
||||||
|
|
||||||
|
Standard_Integer aLength = aHSeq->Length();
|
||||||
|
aSeq->length(aLength);
|
||||||
|
for (Standard_Integer i = 1; i <= aLength; i++)
|
||||||
|
aSeq[i-1] = aHSeq->Value(i);
|
||||||
|
|
||||||
|
return aSeq._retn();
|
||||||
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
/*!
|
/*!
|
||||||
* GetInPlace
|
* GetInPlace
|
||||||
|
@ -41,18 +41,18 @@ class GEOM_IShapesOperations_i :
|
|||||||
GEOM::GEOM_Object_ptr MakeCompound (const GEOM::ListOfGO& theShapes);
|
GEOM::GEOM_Object_ptr MakeCompound (const GEOM::ListOfGO& theShapes);
|
||||||
|
|
||||||
GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
|
GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Double theTolerance);
|
CORBA::Double theTolerance);
|
||||||
|
|
||||||
GEOM::ListOfGO* MakeExplode (GEOM::GEOM_Object_ptr theShape,
|
GEOM::ListOfGO* MakeExplode (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Long theShapeType,
|
CORBA::Long theShapeType,
|
||||||
CORBA::Boolean isSorted);
|
CORBA::Boolean isSorted);
|
||||||
|
|
||||||
GEOM::ListOfLong* SubShapeAllIDs (GEOM::GEOM_Object_ptr theShape,
|
GEOM::ListOfLong* SubShapeAllIDs (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Long theShapeType,
|
CORBA::Long theShapeType,
|
||||||
CORBA::Boolean isSorted);
|
CORBA::Boolean isSorted);
|
||||||
|
|
||||||
GEOM::GEOM_Object_ptr GetSubShape (GEOM::GEOM_Object_ptr theMainShape,
|
GEOM::GEOM_Object_ptr GetSubShape (GEOM::GEOM_Object_ptr theMainShape,
|
||||||
CORBA::Long theID);
|
CORBA::Long theID);
|
||||||
|
|
||||||
CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
|
CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
|
||||||
CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
|
CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
|
||||||
@ -63,41 +63,57 @@ class GEOM_IShapesOperations_i :
|
|||||||
|
|
||||||
GEOM::ListOfGO* GetSharedShapes (GEOM::GEOM_Object_ptr theShape1,
|
GEOM::ListOfGO* GetSharedShapes (GEOM::GEOM_Object_ptr theShape1,
|
||||||
GEOM::GEOM_Object_ptr theShape2,
|
GEOM::GEOM_Object_ptr theShape2,
|
||||||
CORBA::Long theShapeType);
|
CORBA::Long theShapeType);
|
||||||
|
|
||||||
GEOM::ListOfGO* GetShapesOnPlane (GEOM::GEOM_Object_ptr theShape,
|
GEOM::ListOfGO* GetShapesOnPlane (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Long theShapeType,
|
CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theAx1,
|
GEOM::GEOM_Object_ptr theAx1,
|
||||||
GEOM::shape_state theState);
|
GEOM::shape_state theState);
|
||||||
|
|
||||||
GEOM::ListOfGO* GetShapesOnCylinder (GEOM::GEOM_Object_ptr theShape,
|
GEOM::ListOfGO* GetShapesOnCylinder (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Long theShapeType,
|
CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theAxis,
|
GEOM::GEOM_Object_ptr theAxis,
|
||||||
CORBA::Double theRadius,
|
CORBA::Double theRadius,
|
||||||
GEOM::shape_state theState);
|
GEOM::shape_state theState);
|
||||||
|
|
||||||
GEOM::ListOfGO* GetShapesOnSphere (GEOM::GEOM_Object_ptr theShape,
|
GEOM::ListOfGO* GetShapesOnSphere (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Long theShapeType,
|
CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theCenter,
|
GEOM::GEOM_Object_ptr theCenter,
|
||||||
CORBA::Double theRadius,
|
CORBA::Double theRadius,
|
||||||
GEOM::shape_state theState);
|
GEOM::shape_state theState);
|
||||||
|
|
||||||
GEOM::ListOfLong* GetShapesOnPlaneIDs (GEOM::GEOM_Object_ptr theShape,
|
GEOM::ListOfGO* GetShapesOnQuadrangle (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Long theShapeType,
|
CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theAx1,
|
GEOM::GEOM_Object_ptr theTopLeftPoint,
|
||||||
GEOM::shape_state theState);
|
GEOM::GEOM_Object_ptr theTopRigthPoint,
|
||||||
|
GEOM::GEOM_Object_ptr theBottomLeftPoint,
|
||||||
|
GEOM::GEOM_Object_ptr theBottomRigthPoint,
|
||||||
|
GEOM::shape_state theState);
|
||||||
|
|
||||||
GEOM::ListOfLong* GetShapesOnCylinderIDs (GEOM::GEOM_Object_ptr theShape,
|
GEOM::ListOfLong* GetShapesOnPlaneIDs (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Long theShapeType,
|
CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theAxis,
|
GEOM::GEOM_Object_ptr theAx1,
|
||||||
CORBA::Double theRadius,
|
GEOM::shape_state theState);
|
||||||
GEOM::shape_state theState);
|
|
||||||
|
|
||||||
GEOM::ListOfLong* GetShapesOnSphereIDs (GEOM::GEOM_Object_ptr theShape,
|
GEOM::ListOfLong* GetShapesOnCylinderIDs (GEOM::GEOM_Object_ptr theShape,
|
||||||
CORBA::Long theShapeType,
|
CORBA::Long theShapeType,
|
||||||
GEOM::GEOM_Object_ptr theCenter,
|
GEOM::GEOM_Object_ptr theAxis,
|
||||||
CORBA::Double theRadius,
|
CORBA::Double theRadius,
|
||||||
GEOM::shape_state theState);
|
GEOM::shape_state theState);
|
||||||
|
|
||||||
|
GEOM::ListOfLong* GetShapesOnSphereIDs (GEOM::GEOM_Object_ptr theShape,
|
||||||
|
CORBA::Long theShapeType,
|
||||||
|
GEOM::GEOM_Object_ptr theCenter,
|
||||||
|
CORBA::Double theRadius,
|
||||||
|
GEOM::shape_state theState);
|
||||||
|
|
||||||
|
GEOM::ListOfLong* GetShapesOnQuadrangleIDs (GEOM::GEOM_Object_ptr theShape,
|
||||||
|
CORBA::Long theShapeType,
|
||||||
|
GEOM::GEOM_Object_ptr theTopLeftPoint,
|
||||||
|
GEOM::GEOM_Object_ptr theTopRigthPoint,
|
||||||
|
GEOM::GEOM_Object_ptr theBottomLeftPoint,
|
||||||
|
GEOM::GEOM_Object_ptr theBottomRigthPoint,
|
||||||
|
GEOM::shape_state theState);
|
||||||
|
|
||||||
GEOM::GEOM_Object_ptr GetInPlace (GEOM::GEOM_Object_ptr theShapeWhere,
|
GEOM::GEOM_Object_ptr GetInPlace (GEOM::GEOM_Object_ptr theShapeWhere,
|
||||||
GEOM::GEOM_Object_ptr theShapeWhat);
|
GEOM::GEOM_Object_ptr theShapeWhat);
|
||||||
|
Loading…
Reference in New Issue
Block a user