mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-03-14 04:01:34 +05:00
Additional modifications for PAL6944 (for testing GEOM operations
which has ListOfLong, ListOfDouble or ListOfGO as arguments) : creation of additional nodes in Supervision module which allow to: 1.create an empty list of predefined type items, 2.add item to already existing list.
This commit is contained in:
parent
d3dd282390
commit
3a15080295
@ -29,6 +29,9 @@
|
||||
|
||||
module GEOM
|
||||
{
|
||||
interface GEOM_List
|
||||
{ };
|
||||
|
||||
interface GEOM_Superv : Engines::Component,SALOMEDS::Driver
|
||||
{
|
||||
//-----------------------------------------------------------//
|
||||
@ -36,6 +39,27 @@ module GEOM
|
||||
//-----------------------------------------------------------//
|
||||
void SetStudyID (in long theStudyID) ;
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// Create ListOfGO and add items to it //
|
||||
//-----------------------------------------------------------//
|
||||
GEOM_List CreateListOfGO();
|
||||
void AddItemToListOfGO( inout GEOM_List theList,
|
||||
in GEOM_Object theObject);
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// Create ListOfLong and add items to it //
|
||||
//-----------------------------------------------------------//
|
||||
GEOM_List CreateListOfLong();
|
||||
void AddItemToListOfLong( inout GEOM_List theList,
|
||||
in long theObject);
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// Create ListOfDouble and add items to it //
|
||||
//-----------------------------------------------------------//
|
||||
GEOM_List CreateListOfDouble();
|
||||
void AddItemToListOfDouble( inout GEOM_List theList,
|
||||
in double theObject);
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// Primitives Construction : BasicOperations //
|
||||
//-----------------------------------------------------------//
|
||||
@ -61,9 +85,9 @@ module GEOM
|
||||
in double theTrimSize) ;
|
||||
GEOM_Object MakePlanePntVec (in GEOM_Object thePnt,
|
||||
in GEOM_Object theVec,
|
||||
in double theTrimSize) ;
|
||||
in double theTrimSize) ;
|
||||
GEOM_Object MakePlaneFace (in GEOM_Object theFace,
|
||||
in double theTrimSize) ;
|
||||
in double theTrimSize) ;
|
||||
GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ,
|
||||
in double theXDX, in double theXDY, in double theXDZ,
|
||||
in double theYDX, in double theYDY, in double theYDZ) ;
|
||||
@ -84,8 +108,8 @@ module GEOM
|
||||
in GEOM_Object thePnt2) ;
|
||||
GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt,
|
||||
in GEOM_Object theAxis,
|
||||
in double theRadius,
|
||||
in double theHeight) ;
|
||||
in double theRadius,
|
||||
in double theHeight) ;
|
||||
GEOM_Object MakeCylinderRH (in double theR,
|
||||
in double theH) ;
|
||||
GEOM_Object MakeSphere (in double theX,
|
||||
@ -94,18 +118,18 @@ module GEOM
|
||||
in double theRadius) ;
|
||||
GEOM_Object MakeSphereR (in double theR) ;
|
||||
GEOM_Object MakeSpherePntR (in GEOM_Object thePnt,
|
||||
in double theR) ;
|
||||
in double theR) ;
|
||||
GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
|
||||
in GEOM_Object theVec,
|
||||
in double theRMajor,
|
||||
in double theRMinor) ;
|
||||
in double theRMajor,
|
||||
in double theRMinor) ;
|
||||
GEOM_Object MakeTorusRR (in double theRMajor,
|
||||
in double theRMinor) ;
|
||||
GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt,
|
||||
in GEOM_Object theAxis,
|
||||
in double theR1,
|
||||
in double theR2,
|
||||
in double theHeight) ;
|
||||
in double theR1,
|
||||
in double theR2,
|
||||
in double theHeight) ;
|
||||
GEOM_Object MakeConeR1R2H (in double theR1,
|
||||
in double theR2,
|
||||
in double theHeight) ;
|
||||
@ -119,7 +143,7 @@ module GEOM
|
||||
in GEOM_Object thePath) ;
|
||||
GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase,
|
||||
in GEOM_Object theAxis,
|
||||
in double theAngle) ;
|
||||
in double theAngle) ;
|
||||
GEOM_Object MakeFilling (in GEOM_Object theShape,
|
||||
in long theMinDeg, in long theMaxDeg,
|
||||
in double theTol2D, in double theTol3D,
|
||||
@ -130,16 +154,16 @@ module GEOM
|
||||
//-----------------------------------------------------------//
|
||||
GEOM_Object MakeBoolean (in GEOM_Object theShape1,
|
||||
in GEOM_Object theShape2,
|
||||
in long theOperation) ;
|
||||
in long theOperation) ;
|
||||
GEOM_Object MakeFuse (in GEOM_Object theShape1,
|
||||
in GEOM_Object theShape2) ;
|
||||
GEOM_Object MakePartition (in ListOfGO theShapes,
|
||||
in ListOfGO theTools,
|
||||
in ListOfGO theKeepInside,
|
||||
in ListOfGO theRemoveInside,
|
||||
in short theLimit,
|
||||
in boolean theRemoveWebs,
|
||||
in ListOfLong theMaterials) ;
|
||||
GEOM_Object MakePartition (in GEOM_List theShapes,
|
||||
in GEOM_List theTools,
|
||||
in GEOM_List theKeepInside,
|
||||
in GEOM_List theRemoveInside,
|
||||
in short theLimit,
|
||||
in boolean theRemoveWebs,
|
||||
in GEOM_List theMaterials) ;
|
||||
GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
|
||||
in GEOM_Object thePlane) ;
|
||||
|
||||
@ -164,55 +188,65 @@ module GEOM
|
||||
in GEOM_Object thePoint1,
|
||||
in GEOM_Object thePoint2) ;
|
||||
GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
|
||||
in double theDX,
|
||||
in double theDY,
|
||||
in double theDZ) ;
|
||||
in double theDX,
|
||||
in double theDY,
|
||||
in double theDZ) ;
|
||||
GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
|
||||
in double theDX,
|
||||
in double theDY,
|
||||
in double theDZ) ;
|
||||
in double theDX,
|
||||
in double theDY,
|
||||
in double theDZ) ;
|
||||
GEOM_Object TranslateVector (in GEOM_Object theObject,
|
||||
in GEOM_Object theVector) ;
|
||||
GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
|
||||
in GEOM_Object theVector) ;
|
||||
GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
|
||||
in GEOM_Object theVector,
|
||||
in double theStep,
|
||||
in long theNbTimes) ;
|
||||
in double theStep,
|
||||
in long theNbTimes) ;
|
||||
GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
|
||||
in GEOM_Object theVector1,
|
||||
in double theStep1,
|
||||
in long theNbTimes1,
|
||||
in double theStep1,
|
||||
in long theNbTimes1,
|
||||
in GEOM_Object theVector2,
|
||||
in double theStep2,
|
||||
in long theNbTimes2) ;
|
||||
in double theStep2,
|
||||
in long theNbTimes2) ;
|
||||
GEOM_Object Rotate (in GEOM_Object theObject,
|
||||
in GEOM_Object theAxis,
|
||||
in double theAngle) ;
|
||||
in double theAngle) ;
|
||||
GEOM_Object RotateCopy (in GEOM_Object theObject,
|
||||
in GEOM_Object theAxis,
|
||||
in double theAngle) ;
|
||||
in double theAngle) ;
|
||||
GEOM_Object MultiRotate1D (in GEOM_Object theObject,
|
||||
in GEOM_Object theAxis,
|
||||
in long theNbTimes) ;
|
||||
in long theNbTimes) ;
|
||||
GEOM_Object MultiRotate2D (in GEOM_Object theObject,
|
||||
in GEOM_Object theAxis,
|
||||
in double theAngle,
|
||||
in long theNbTimes1,
|
||||
in double theStep,
|
||||
in long theNbTimes2) ;
|
||||
GEOM_Object MirrorPlane (in GEOM_Object theObject, in GEOM_Object thePlane) ;
|
||||
GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject, in GEOM_Object thePlane) ;
|
||||
GEOM_Object MirrorAxis (in GEOM_Object theObject, in GEOM_Object theAxis) ;
|
||||
GEOM_Object MirrorAxisCopy (in GEOM_Object theObject, in GEOM_Object theAxis) ;
|
||||
GEOM_Object MirrorPoint (in GEOM_Object theObject, in GEOM_Object thePoint) ;
|
||||
GEOM_Object MirrorPointCopy (in GEOM_Object theObject, in GEOM_Object thePoint) ;
|
||||
GEOM_Object OffsetShape (in GEOM_Object theObject, in double theOffset) ;
|
||||
GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, in double theOffset) ;
|
||||
GEOM_Object ScaleShape (in GEOM_Object theObject, in GEOM_Object thePoint,
|
||||
in double theFactor) ;
|
||||
GEOM_Object ScaleShapeCopy (in GEOM_Object theObject, in GEOM_Object thePoint,
|
||||
in double theFactor) ;
|
||||
in double theAngle,
|
||||
in long theNbTimes1,
|
||||
in double theStep,
|
||||
in long theNbTimes2) ;
|
||||
GEOM_Object MirrorPlane (in GEOM_Object theObject,
|
||||
in GEOM_Object thePlane) ;
|
||||
GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject,
|
||||
in GEOM_Object thePlane) ;
|
||||
GEOM_Object MirrorAxis (in GEOM_Object theObject,
|
||||
in GEOM_Object theAxis) ;
|
||||
GEOM_Object MirrorAxisCopy (in GEOM_Object theObject,
|
||||
in GEOM_Object theAxis) ;
|
||||
GEOM_Object MirrorPoint (in GEOM_Object theObject,
|
||||
in GEOM_Object thePoint) ;
|
||||
GEOM_Object MirrorPointCopy (in GEOM_Object theObject,
|
||||
in GEOM_Object thePoint) ;
|
||||
GEOM_Object OffsetShape (in GEOM_Object theObject,
|
||||
in double theOffset) ;
|
||||
GEOM_Object OffsetShapeCopy (in GEOM_Object theObject,
|
||||
in double theOffset) ;
|
||||
GEOM_Object ScaleShape (in GEOM_Object theObject,
|
||||
in GEOM_Object thePoint,
|
||||
in double theFactor) ;
|
||||
GEOM_Object ScaleShapeCopy (in GEOM_Object theObject,
|
||||
in GEOM_Object thePoint,
|
||||
in double theFactor) ;
|
||||
GEOM_Object PositionShape (in GEOM_Object theObject,
|
||||
in GEOM_Object theStartLCS,
|
||||
in GEOM_Object theEndLCS) ;
|
||||
@ -223,18 +257,22 @@ module GEOM
|
||||
//-----------------------------------------------------------//
|
||||
// ShapesOperations //
|
||||
//-----------------------------------------------------------//
|
||||
GEOM_Object MakeEdge (in GEOM_Object thePnt1, in GEOM_Object thePnt2) ;
|
||||
GEOM_Object MakeWire (in ListOfGO theEdgesAndWires) ;
|
||||
GEOM_Object MakeFace (in GEOM_Object theWire, in boolean isPlanarWanted) ;
|
||||
GEOM_Object MakeFaceWires (in ListOfGO theWires, in boolean isPlanarWanted) ;
|
||||
GEOM_Object MakeShell (in ListOfGO theFacesAndShells) ;
|
||||
GEOM_Object MakeEdge (in GEOM_Object thePnt1,
|
||||
in GEOM_Object thePnt2) ;
|
||||
GEOM_Object MakeWire (in GEOM_List theEdgesAndWires) ;
|
||||
GEOM_Object MakeFace (in GEOM_Object theWire,
|
||||
in boolean isPlanarWanted) ;
|
||||
GEOM_Object MakeFaceWires (in GEOM_List theWires,
|
||||
in boolean isPlanarWanted) ;
|
||||
GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ;
|
||||
GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
|
||||
GEOM_Object MakeSolidShells (in ListOfGO theShells) ;
|
||||
GEOM_Object MakeCompound (in ListOfGO theShapes) ;
|
||||
GEOM_Object MakeGlueFaces (in GEOM_Object theShape, in double theTolerance) ;
|
||||
ListOfGO MakeExplode (in GEOM_Object theShape,
|
||||
in long theShapeType,
|
||||
in boolean isSorted) ;
|
||||
GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
|
||||
GEOM_Object MakeCompound (in GEOM_List theShapes) ;
|
||||
GEOM_Object MakeGlueFaces (in GEOM_Object theShape,
|
||||
in double theTolerance) ;
|
||||
GEOM_List MakeExplode (in GEOM_Object theShape,
|
||||
in long theShapeType,
|
||||
in boolean isSorted) ;
|
||||
long NumberOfFaces (in GEOM_Object theShape) ;
|
||||
long NumberOfEdges (in GEOM_Object theShape) ;
|
||||
GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
|
||||
@ -292,15 +330,15 @@ module GEOM
|
||||
out GEOM_IBlocksOperations::BCErrors theErrors) ;
|
||||
string PrintBCErrors (in GEOM_Object theCompound,
|
||||
in GEOM_IBlocksOperations::BCErrors theErrors) ;
|
||||
ListOfGO ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
|
||||
in long theMinNbFaces,
|
||||
in long theMaxNbFaces) ;
|
||||
GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
|
||||
in long theMinNbFaces,
|
||||
in long theMaxNbFaces) ;
|
||||
GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
|
||||
in GEOM_Object thePoint) ;
|
||||
GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
|
||||
in ListOfGO theParts) ;
|
||||
ListOfGO GetBlocksByParts (in GEOM_Object theCompound,
|
||||
in ListOfGO theParts) ;
|
||||
in GEOM_List theParts) ;
|
||||
GEOM_List GetBlocksByParts (in GEOM_Object theCompound,
|
||||
in GEOM_List theParts) ;
|
||||
GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
|
||||
in long theDirFace1,
|
||||
in long theDirFace2,
|
||||
@ -318,21 +356,22 @@ module GEOM
|
||||
//-----------------------------------------------------------//
|
||||
GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
|
||||
in GEOM_Object theVec,
|
||||
in double theR) ;
|
||||
in double theR) ;
|
||||
GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
|
||||
in GEOM_Object thePnt2,
|
||||
in GEOM_Object thePnt3) ;
|
||||
GEOM_Object MakeEllipse (in GEOM_Object thePnt,
|
||||
in GEOM_Object theVec,
|
||||
in double theRMajor,
|
||||
in double theRMinor) ;
|
||||
in double theRMajor,
|
||||
in double theRMinor) ;
|
||||
GEOM_Object MakeArc (in GEOM_Object thePnt1,
|
||||
in GEOM_Object thePnt2,
|
||||
in GEOM_Object thePnt3) ;
|
||||
GEOM_Object MakePolyline (in ListOfGO thePoints) ;
|
||||
GEOM_Object MakeSplineBezier (in ListOfGO thePoints) ;
|
||||
GEOM_Object MakeSplineInterpolation (in ListOfGO thePoints) ;
|
||||
GEOM_Object MakeSketcher (in string theCommand, in ListOfDouble theWorkingPlane) ;
|
||||
GEOM_Object MakePolyline (in GEOM_List thePoints) ;
|
||||
GEOM_Object MakeSplineBezier (in GEOM_List thePoints) ;
|
||||
GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints) ;
|
||||
GEOM_Object MakeSketcher (in string theCommand,
|
||||
in GEOM_List theWorkingPlane) ;
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// LocalOperations //
|
||||
@ -341,10 +380,10 @@ module GEOM
|
||||
in double theR) ;
|
||||
GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
|
||||
in double theR,
|
||||
in ListOfLong theEdges) ;
|
||||
in GEOM_List theEdges) ;
|
||||
GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
|
||||
in double theR,
|
||||
in ListOfLong theFaces) ;
|
||||
in GEOM_List theFaces) ;
|
||||
GEOM_Object MakeChamferAll (in GEOM_Object theShape,
|
||||
in double theD) ;
|
||||
GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
|
||||
@ -352,22 +391,26 @@ module GEOM
|
||||
in long theFace1, in long theFace2) ;
|
||||
GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
|
||||
in double theD1, in double theD2,
|
||||
in ListOfLong theFaces) ;
|
||||
in GEOM_List theFaces) ;
|
||||
GEOM_Object MakeArchimede (in GEOM_Object theShape,
|
||||
in double theWeight,
|
||||
in double theWaterDensity,
|
||||
in double theMeshDeflection) ;
|
||||
long GetSubShapeIndex (in GEOM_Object theShape, in GEOM_Object theSubShape) ;
|
||||
in double theWeight,
|
||||
in double theWaterDensity,
|
||||
in double theMeshDeflection) ;
|
||||
long GetSubShapeIndex (in GEOM_Object theShape,
|
||||
in GEOM_Object theSubShape) ;
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// GroupOperations //
|
||||
//-----------------------------------------------------------//
|
||||
GEOM_Object CreateGroup (in GEOM_Object theMainShape, in long theShapeType) ;
|
||||
void AddObject (in GEOM_Object theGroup, in long theSubShapeId) ;
|
||||
void RemoveObject (in GEOM_Object theGroup, in long theSubShapeId) ;
|
||||
GEOM_Object CreateGroup (in GEOM_Object theMainShape,
|
||||
in long theShapeType) ;
|
||||
void AddObject (in GEOM_Object theGroup,
|
||||
in long theSubShapeId) ;
|
||||
void RemoveObject (in GEOM_Object theGroup,
|
||||
in long theSubShapeId) ;
|
||||
long GetType (in GEOM_Object theGroup) ;
|
||||
GEOM_Object GetMainShape(in GEOM_Object theGroup) ;
|
||||
ListOfLong GetObjects(in GEOM_Object theGroup) ;
|
||||
GEOM_List GetObjects(in GEOM_Object theGroup) ;
|
||||
|
||||
};
|
||||
};
|
||||
|
File diff suppressed because it is too large
Load Diff
85
src/GEOM_I_Superv/GEOM_List_i.hh
Normal file
85
src/GEOM_I_Superv/GEOM_List_i.hh
Normal file
@ -0,0 +1,85 @@
|
||||
#ifndef __GEOM_LIST_I_H__
|
||||
#define __GEOM_LIST_I_H__
|
||||
|
||||
// IDL headers
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_SERVER_HEADER(GEOM_Superv)
|
||||
|
||||
#include "GEOM_Gen_i.hh"
|
||||
#include "utilities.h"
|
||||
|
||||
template <class Type>
|
||||
class GEOM_List_i :
|
||||
public virtual POA_GEOM::GEOM_List,
|
||||
public virtual PortableServer::RefCountServantBase
|
||||
{
|
||||
public:
|
||||
GEOM_List_i();
|
||||
GEOM_List_i(const Type& theListToCopy);
|
||||
~GEOM_List_i();
|
||||
|
||||
const Type& GetList();
|
||||
|
||||
template <class ElemType>
|
||||
void AddObject(ElemType theObject);
|
||||
|
||||
private:
|
||||
Type myGOList;
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
// constructor:
|
||||
//=============================================================================
|
||||
template <class Type>
|
||||
GEOM_List_i<Type>::GEOM_List_i()
|
||||
{
|
||||
MESSAGE("GEOM_List_i::GEOM_List_i");
|
||||
//create an empty list
|
||||
myGOList.length(0);
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// constructor:
|
||||
//=============================================================================
|
||||
template <class Type>
|
||||
GEOM_List_i<Type>::GEOM_List_i(const Type& theListToCopy)
|
||||
{
|
||||
int aLength = theListToCopy.length();
|
||||
myGOList.length(aLength);
|
||||
for (int i = 0; i < aLength; i++)
|
||||
myGOList[i] = theListToCopy[i];
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// destructor:
|
||||
//=============================================================================
|
||||
template <class Type>
|
||||
GEOM_List_i<Type>::~GEOM_List_i()
|
||||
{
|
||||
MESSAGE("GEOM_List_i::~GEOM_List_i");
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// GetList:
|
||||
//=============================================================================
|
||||
template <class Type>
|
||||
const Type& GEOM_List_i<Type>::GetList()
|
||||
{
|
||||
MESSAGE("GEOM_List_i::GetList()");
|
||||
return myGOList;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// AddObject:
|
||||
//=============================================================================
|
||||
template <class Type>
|
||||
template <class ElemType>
|
||||
void GEOM_List_i<Type>::AddObject(ElemType theObject)
|
||||
{
|
||||
MESSAGE("GEOM_List_i::AddObject(...)");
|
||||
int aLength = myGOList.length();
|
||||
myGOList.length(aLength+1);
|
||||
myGOList[aLength] = theObject;
|
||||
}
|
||||
|
||||
#endif
|
@ -17,6 +17,10 @@ GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb,
|
||||
_thisObj = this ;
|
||||
_id = _poa->activate_object(_thisObj);
|
||||
name_service = new SALOME_NamingService(_orb);
|
||||
//get RootPOA (the default)
|
||||
//myPOA = PortableServer::RefCountServantBase::_default_POA();
|
||||
CORBA::Object_var anObj = _orb->resolve_initial_references("RootPOA");
|
||||
myPOA = PortableServer::POA::_narrow(anObj);
|
||||
|
||||
myGeomEngine = GEOM::GEOM_Gen::_nil();
|
||||
myStudyID = -1;
|
||||
@ -72,6 +76,78 @@ void GEOM_Superv_i::SetStudyID( CORBA::Long theId )
|
||||
myStudyID = theId;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// CreateListOfGO:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO()
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::CreateListOfGO()");
|
||||
GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>();
|
||||
return aListPtr->_this();
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// AddItemToListOfGO:
|
||||
//=============================================================================
|
||||
void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
|
||||
GEOM::GEOM_Object_ptr theObject)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)");
|
||||
if (GEOM_List_i<GEOM::ListOfGO>* aList =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theList, myPOA).in())) {
|
||||
aList->AddObject(theObject);
|
||||
MESSAGE(" NewLength = "<<aList->GetList().length());
|
||||
}
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// CreateListOfLong:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong()
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::CreateListOfLong()");
|
||||
GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>();
|
||||
return aListPtr->_this();
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// AddItemToListOfLong:
|
||||
//=============================================================================
|
||||
void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
|
||||
long theObject)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)");
|
||||
if (GEOM_List_i<GEOM::ListOfLong>* aList =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theList, myPOA).in())) {
|
||||
aList->AddObject(theObject);
|
||||
MESSAGE(" NewLength = "<<aList->GetList().length());
|
||||
}
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// CreateListOfDouble:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble()
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::CreateListOfDouble()");
|
||||
GEOM_List_i<GEOM::ListOfDouble>* aListPtr = new GEOM_List_i<GEOM::ListOfDouble>();
|
||||
return aListPtr->_this();
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// AddItemToListOfDouble:
|
||||
//=============================================================================
|
||||
void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
|
||||
double theObject)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)");
|
||||
if (GEOM_List_i<GEOM::ListOfDouble>* aList =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theList, myPOA).in())) {
|
||||
aList->AddObject(theObject);
|
||||
MESSAGE(" NewLength = "<<aList->GetList().length());
|
||||
}
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// getBasicOp:
|
||||
//=============================================================================
|
||||
@ -182,6 +258,17 @@ void GEOM_Superv_i::getGroupOp()
|
||||
myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID);
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// GetServant:
|
||||
//=============================================================================
|
||||
PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr theObject,
|
||||
PortableServer::POA_ptr thePOA)
|
||||
{
|
||||
if(CORBA::is_nil(theObject)) return NULL;
|
||||
PortableServer::Servant aServant = thePOA->reference_to_servant(theObject);
|
||||
return aServant;
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
// function : Save()
|
||||
// purpose : save OCAF/Geom document
|
||||
@ -698,18 +785,32 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse (GEOM::GEOM_Object_ptr theShape1,
|
||||
//=============================================================================
|
||||
// MakePartition:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (const GEOM::ListOfGO& theShapes,
|
||||
const GEOM::ListOfGO& theTools,
|
||||
const GEOM::ListOfGO& theKeepInside,
|
||||
const GEOM::ListOfGO& theRemoveInside,
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
|
||||
GEOM::GEOM_List_ptr theTools,
|
||||
GEOM::GEOM_List_ptr theKeepInside,
|
||||
GEOM::GEOM_List_ptr theRemoveInside,
|
||||
const CORBA::Short theLimit,
|
||||
const CORBA::Boolean theRemoveWebs,
|
||||
const GEOM::ListOfLong& theMaterials)
|
||||
GEOM::GEOM_List_ptr theMaterials)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakePartition");
|
||||
if (CORBA::is_nil(myBoolOp)) getBoolOp();
|
||||
return myBoolOp->MakePartition(theShapes, theTools, theKeepInside, theRemoveInside,
|
||||
theLimit, theRemoveWebs, theMaterials);
|
||||
GEOM_List_i<GEOM::ListOfGO>* aListImplS =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
|
||||
GEOM_List_i<GEOM::ListOfGO>* aListImplT =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
|
||||
GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
|
||||
GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
|
||||
GEOM_List_i<GEOM::ListOfLong>* aListImplM =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
|
||||
if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
|
||||
if (CORBA::is_nil(myBoolOp)) getBoolOp();
|
||||
return myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
|
||||
aListImplKI->GetList(), aListImplRI->GetList(),
|
||||
theLimit, theRemoveWebs, aListImplM->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@ -1084,11 +1185,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
|
||||
//=============================================================================
|
||||
// MakeWire:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (const GEOM::ListOfGO& theEdgesAndWires)
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeWire");
|
||||
if (CORBA::is_nil(myShapesOp)) getShapesOp();
|
||||
return myShapesOp->MakeWire(theEdgesAndWires);
|
||||
if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
|
||||
if (CORBA::is_nil(myShapesOp)) getShapesOp();
|
||||
return myShapesOp->MakeWire(aListImplEW->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@ -1105,22 +1210,30 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
|
||||
//=============================================================================
|
||||
// MakeFaceWires:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (const GEOM::ListOfGO& theWires,
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
|
||||
CORBA::Boolean isPlanarWanted)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeFaceWires");
|
||||
if (CORBA::is_nil(myShapesOp)) getShapesOp();
|
||||
return myShapesOp->MakeFaceWires(theWires, isPlanarWanted);
|
||||
if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
|
||||
if (CORBA::is_nil(myShapesOp)) getShapesOp();
|
||||
return myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// MakeShell:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (const GEOM::ListOfGO& theFacesAndShells)
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeShell");
|
||||
if (CORBA::is_nil(myShapesOp)) getShapesOp();
|
||||
return myShapesOp->MakeShell(theFacesAndShells);
|
||||
if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
|
||||
if (CORBA::is_nil(myShapesOp)) getShapesOp();
|
||||
return myShapesOp->MakeShell(aListImplFS->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@ -1136,21 +1249,29 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theSh
|
||||
//=============================================================================
|
||||
// MakeSolidShells:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (const GEOM::ListOfGO& theShells)
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeSolidShells");
|
||||
if (CORBA::is_nil(myShapesOp)) getShapesOp();
|
||||
return myShapesOp->MakeSolidShells(theShells);
|
||||
if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
|
||||
if (CORBA::is_nil(myShapesOp)) getShapesOp();
|
||||
return myShapesOp->MakeSolidShells(aListImplS->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// MakeCompound:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (const GEOM::ListOfGO& theShapes)
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeCompound");
|
||||
if (CORBA::is_nil(myShapesOp)) getShapesOp();
|
||||
return myShapesOp->MakeCompound(theShapes);
|
||||
if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
|
||||
if (CORBA::is_nil(myShapesOp)) getShapesOp();
|
||||
return myShapesOp->MakeCompound(aListImpl->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@ -1167,13 +1288,17 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theSha
|
||||
//=============================================================================
|
||||
// MakeExplode:
|
||||
//=============================================================================
|
||||
GEOM::ListOfGO* GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
|
||||
const CORBA::Long theShapeType,
|
||||
const CORBA::Boolean isSorted)
|
||||
GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
|
||||
const CORBA::Long theShapeType,
|
||||
const CORBA::Boolean isSorted)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeExplode");
|
||||
if (CORBA::is_nil(myShapesOp)) getShapesOp();
|
||||
return myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
|
||||
|
||||
GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
|
||||
GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
|
||||
MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
|
||||
return aListPtr->_this();
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@ -1406,13 +1531,15 @@ char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
|
||||
//=============================================================================
|
||||
// ExplodeCompoundOfBlocks:
|
||||
//=============================================================================
|
||||
GEOM::ListOfGO* GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
|
||||
const CORBA::Long theMinNbFaces,
|
||||
const CORBA::Long theMaxNbFaces)
|
||||
GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
|
||||
const CORBA::Long theMinNbFaces,
|
||||
const CORBA::Long theMaxNbFaces)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
|
||||
if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
|
||||
return myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
|
||||
GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
|
||||
GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
|
||||
return aListPtr->_this();
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@ -1430,22 +1557,33 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr th
|
||||
// GetBlockByParts:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
|
||||
const GEOM::ListOfGO& theParts)
|
||||
GEOM::GEOM_List_ptr theParts)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::GetBlockByParts");
|
||||
if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
|
||||
return myBlocksOp->GetBlockByParts(theCompound, theParts);
|
||||
if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
|
||||
if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
|
||||
return myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// GetBlocksByParts:
|
||||
//=============================================================================
|
||||
GEOM::ListOfGO* GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
|
||||
const GEOM::ListOfGO& theParts)
|
||||
GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
|
||||
GEOM::GEOM_List_ptr theParts)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::GetBlocksByParts");
|
||||
if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
|
||||
return myBlocksOp->GetBlocksByParts(theCompound, theParts);
|
||||
if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
|
||||
if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
|
||||
|
||||
GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
|
||||
GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
|
||||
return aListPtr->_this();
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@ -1533,42 +1671,58 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
|
||||
//=============================================================================
|
||||
// MakePolyline:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (const GEOM::ListOfGO& thePoints)
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakePolyline");
|
||||
if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
|
||||
return myCurvesOp->MakePolyline(thePoints);
|
||||
if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
|
||||
if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
|
||||
return myCurvesOp->MakePolyline(aListImplP->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// MakeSplineBezier:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (const GEOM::ListOfGO& thePoints)
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeSplineBezier");
|
||||
if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
|
||||
return myCurvesOp->MakeSplineBezier(thePoints);
|
||||
if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
|
||||
if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
|
||||
return myCurvesOp->MakeSplineBezier(aListImplP->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// MakeSplineInterpolation:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (const GEOM::ListOfGO& thePoints)
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
|
||||
if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
|
||||
return myCurvesOp->MakeSplineInterpolation(thePoints);
|
||||
if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
|
||||
if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
|
||||
return myCurvesOp->MakeSplineInterpolation(aListImplP->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// MakeSketcher:
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
|
||||
const GEOM::ListOfDouble& theWorkingPlane)
|
||||
GEOM::GEOM_List_ptr theWorkingPlane)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeSketcher");
|
||||
if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
|
||||
return myCurvesOp->MakeSketcher(theCommand, theWorkingPlane);
|
||||
if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
|
||||
if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
|
||||
return myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================== LocalOperations =============================
|
||||
@ -1588,11 +1742,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theSha
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
|
||||
CORBA::Double theR,
|
||||
const GEOM::ListOfLong& theEdges)
|
||||
GEOM::GEOM_List_ptr theEdges)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeFilletEdges");
|
||||
if (CORBA::is_nil(myLocalOp)) getLocalOp();
|
||||
return myLocalOp->MakeFilletEdges(theShape, theR, theEdges);
|
||||
if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
|
||||
if (CORBA::is_nil(myLocalOp)) getLocalOp();
|
||||
return myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@ -1600,11 +1758,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theS
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
|
||||
CORBA::Double theR,
|
||||
const GEOM::ListOfLong& theFaces)
|
||||
GEOM::GEOM_List_ptr theFaces)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeFilletFaces");
|
||||
if (CORBA::is_nil(myLocalOp)) getLocalOp();
|
||||
return myLocalOp->MakeFilletFaces(theShape, theR, theFaces);
|
||||
if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
|
||||
if (CORBA::is_nil(myLocalOp)) getLocalOp();
|
||||
return myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@ -1634,11 +1796,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theS
|
||||
//=============================================================================
|
||||
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
|
||||
CORBA::Double theD1, CORBA::Double theD2,
|
||||
const GEOM::ListOfLong& theFaces)
|
||||
GEOM::GEOM_List_ptr theFaces)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::MakeChamferFaces");
|
||||
if (CORBA::is_nil(myLocalOp)) getLocalOp();
|
||||
return myLocalOp->MakeChamferFaces(theShape, theD1, theD2, theFaces);
|
||||
if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
|
||||
dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
|
||||
if (CORBA::is_nil(myLocalOp)) getLocalOp();
|
||||
return myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@ -1722,11 +1888,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGrou
|
||||
//=============================================================================
|
||||
// GetObjects:
|
||||
//=============================================================================
|
||||
GEOM::ListOfLong* GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
|
||||
GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
|
||||
{
|
||||
MESSAGE("GEOM_Superv_i::GetObjects");
|
||||
if (CORBA::is_nil(myGroupOp)) getGroupOp();
|
||||
return myGroupOp->GetObjects(theGroup);
|
||||
|
||||
GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
|
||||
GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
|
||||
MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
|
||||
return aListPtr->_this();
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include CORBA_SERVER_HEADER(GEOM_Superv)
|
||||
|
||||
#include "GEOM_Gen_i.hh"
|
||||
#include "GEOM_List_i.hh"
|
||||
|
||||
#include "QAD_Study.h"
|
||||
#include "QAD_Application.h"
|
||||
@ -37,11 +38,35 @@ public:
|
||||
void getLocalOp();
|
||||
void getGroupOp();
|
||||
|
||||
PortableServer::ServantBase_var GetServant(CORBA::Object_ptr theObject,
|
||||
PortableServer::POA_ptr thePOA);
|
||||
|
||||
//-----------------------------------------------------------------------//
|
||||
// Set current stydy ID //
|
||||
//-----------------------------------------------------------------------//
|
||||
void SetStudyID( CORBA::Long theId );
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// Create ListOfGO and add items to it //
|
||||
//-----------------------------------------------------------//
|
||||
GEOM::GEOM_List_ptr CreateListOfGO();
|
||||
void AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
|
||||
GEOM::GEOM_Object_ptr theObject);
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// Create ListOfLong and add items to it //
|
||||
//-----------------------------------------------------------//
|
||||
GEOM::GEOM_List_ptr CreateListOfLong();
|
||||
void AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
|
||||
long theObject);
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// Create ListOfDouble and add items to it //
|
||||
//-----------------------------------------------------------//
|
||||
GEOM::GEOM_List_ptr CreateListOfDouble();
|
||||
void AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
|
||||
double theObject);
|
||||
|
||||
//-----------------------------------------------------------------------//
|
||||
// Inherited methods from SALOMEDS::Driver //
|
||||
//-----------------------------------------------------------------------//
|
||||
@ -187,13 +212,13 @@ public:
|
||||
CORBA::Long theOperation);
|
||||
GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1,
|
||||
GEOM::GEOM_Object_ptr theShape2);
|
||||
GEOM::GEOM_Object_ptr MakePartition (const GEOM::ListOfGO& theShapes,
|
||||
const GEOM::ListOfGO& theTools,
|
||||
const GEOM::ListOfGO& theKeepInside,
|
||||
const GEOM::ListOfGO& theRemoveInside,
|
||||
GEOM::GEOM_Object_ptr MakePartition (GEOM::GEOM_List_ptr theShapes,
|
||||
GEOM::GEOM_List_ptr theTools,
|
||||
GEOM::GEOM_List_ptr theKeepInside,
|
||||
GEOM::GEOM_List_ptr theRemoveInside,
|
||||
const CORBA::Short theLimit,
|
||||
const CORBA::Boolean theRemoveWebs,
|
||||
const GEOM::ListOfLong& theMaterials);
|
||||
GEOM::GEOM_List_ptr theMaterials);
|
||||
GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
|
||||
GEOM::GEOM_Object_ptr thePlane);
|
||||
|
||||
@ -292,20 +317,20 @@ public:
|
||||
//-----------------------------------------------------------//
|
||||
GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
|
||||
GEOM::GEOM_Object_ptr thePnt2);
|
||||
GEOM::GEOM_Object_ptr MakeWire (const GEOM::ListOfGO& theEdgesAndWires);
|
||||
GEOM::GEOM_Object_ptr MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires);
|
||||
GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire,
|
||||
CORBA::Boolean isPlanarWanted);
|
||||
GEOM::GEOM_Object_ptr MakeFaceWires (const GEOM::ListOfGO& theWires,
|
||||
GEOM::GEOM_Object_ptr MakeFaceWires (GEOM::GEOM_List_ptr theWires,
|
||||
CORBA::Boolean isPlanarWanted);
|
||||
GEOM::GEOM_Object_ptr MakeShell (const GEOM::ListOfGO& theFacesAndShells);
|
||||
GEOM::GEOM_Object_ptr MakeShell (GEOM::GEOM_List_ptr theFacesAndShells);
|
||||
GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
|
||||
GEOM::GEOM_Object_ptr MakeSolidShells (const GEOM::ListOfGO& theShells);
|
||||
GEOM::GEOM_Object_ptr MakeCompound (const GEOM::ListOfGO& theShapes);
|
||||
GEOM::GEOM_Object_ptr MakeSolidShells (GEOM::GEOM_List_ptr theShells);
|
||||
GEOM::GEOM_Object_ptr MakeCompound (GEOM::GEOM_List_ptr theShapes);
|
||||
GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
|
||||
const CORBA::Double theTolerance);
|
||||
GEOM::ListOfGO* MakeExplode (GEOM::GEOM_Object_ptr theShape,
|
||||
const CORBA::Long theShapeType,
|
||||
const CORBA::Boolean isSorted);
|
||||
GEOM::GEOM_List_ptr MakeExplode (GEOM::GEOM_Object_ptr theShape,
|
||||
const CORBA::Long theShapeType,
|
||||
const CORBA::Boolean isSorted);
|
||||
CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
|
||||
CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
|
||||
GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
|
||||
@ -363,15 +388,15 @@ public:
|
||||
GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors);
|
||||
char* PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
|
||||
const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors);
|
||||
GEOM::ListOfGO* ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
|
||||
const CORBA::Long theMinNbFaces,
|
||||
const CORBA::Long theMaxNbFaces);
|
||||
GEOM::GEOM_List_ptr ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
|
||||
const CORBA::Long theMinNbFaces,
|
||||
const CORBA::Long theMaxNbFaces);
|
||||
GEOM::GEOM_Object_ptr GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
|
||||
GEOM::GEOM_Object_ptr thePoint);
|
||||
GEOM::GEOM_Object_ptr GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
|
||||
const GEOM::ListOfGO& theParts);
|
||||
GEOM::ListOfGO* GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
|
||||
const GEOM::ListOfGO& theParts);
|
||||
GEOM::GEOM_List_ptr theParts);
|
||||
GEOM::GEOM_List_ptr GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
|
||||
GEOM::GEOM_List_ptr theParts);
|
||||
GEOM::GEOM_Object_ptr MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
|
||||
const CORBA::Long theDirFace1,
|
||||
const CORBA::Long theDirFace2,
|
||||
@ -399,11 +424,11 @@ public:
|
||||
GEOM::GEOM_Object_ptr MakeArc (GEOM::GEOM_Object_ptr thePnt1,
|
||||
GEOM::GEOM_Object_ptr thePnt2,
|
||||
GEOM::GEOM_Object_ptr thePnt3);
|
||||
GEOM::GEOM_Object_ptr MakePolyline (const GEOM::ListOfGO& thePoints);
|
||||
GEOM::GEOM_Object_ptr MakeSplineBezier (const GEOM::ListOfGO& thePoints);
|
||||
GEOM::GEOM_Object_ptr MakeSplineInterpolation (const GEOM::ListOfGO& thePoints);
|
||||
GEOM::GEOM_Object_ptr MakePolyline (GEOM::GEOM_List_ptr thePoints);
|
||||
GEOM::GEOM_Object_ptr MakeSplineBezier (GEOM::GEOM_List_ptr thePoints);
|
||||
GEOM::GEOM_Object_ptr MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints);
|
||||
GEOM::GEOM_Object_ptr MakeSketcher (const char* theCommand,
|
||||
const GEOM::ListOfDouble& theWorkingPlane);
|
||||
const GEOM::GEOM_List_ptr theWorkingPlane);
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// LocalOperations //
|
||||
@ -411,16 +436,16 @@ public:
|
||||
GEOM::GEOM_Object_ptr MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
|
||||
CORBA::Double theR);
|
||||
GEOM::GEOM_Object_ptr MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
|
||||
const GEOM::ListOfLong& theEdges);
|
||||
GEOM::GEOM_List_ptr theEdges);
|
||||
GEOM::GEOM_Object_ptr MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
|
||||
const GEOM::ListOfLong& theFaces);
|
||||
GEOM::GEOM_List_ptr theFaces);
|
||||
GEOM::GEOM_Object_ptr MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD);
|
||||
GEOM::GEOM_Object_ptr MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
|
||||
CORBA::Double theD1, CORBA::Double theD2,
|
||||
CORBA::Long theFace1, CORBA::Long theFace2);
|
||||
GEOM::GEOM_Object_ptr MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
|
||||
CORBA::Double theD1, CORBA::Double theD2,
|
||||
const GEOM::ListOfLong& theFaces);
|
||||
GEOM::GEOM_List_ptr theFaces);
|
||||
GEOM::GEOM_Object_ptr MakeArchimede (GEOM::GEOM_Object_ptr theShape,
|
||||
CORBA::Double theWeight,
|
||||
CORBA::Double theWaterDensity,
|
||||
@ -439,12 +464,13 @@ public:
|
||||
CORBA::Long theSubShapeId);
|
||||
CORBA::Long GetType (GEOM::GEOM_Object_ptr theGroup);
|
||||
GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup);
|
||||
GEOM::ListOfLong* GetObjects (GEOM::GEOM_Object_ptr theGroup);
|
||||
GEOM::GEOM_List_ptr GetObjects (GEOM::GEOM_Object_ptr theGroup);
|
||||
|
||||
private:
|
||||
SALOME_NamingService * name_service;
|
||||
GEOM::GEOM_Gen_ptr myGeomEngine;
|
||||
CORBA::Long myStudyID;
|
||||
PortableServer::POA_var myPOA;
|
||||
|
||||
GEOM::GEOM_IBasicOperations_ptr myBasicOp;
|
||||
GEOM::GEOM_I3DPrimOperations_ptr my3DPrimOp;
|
||||
|
@ -43,7 +43,7 @@ LIB_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Component.idl SALOM
|
||||
SALOME_GenericObj.idl SALOME_ModuleCatalog.idl GEOM_Gen.idl GEOM_Superv.idl \
|
||||
|
||||
# Executables targets
|
||||
BIN =
|
||||
BIN =
|
||||
BIN_SRC =
|
||||
BIN_CLIENT_IDL =
|
||||
BIN_SERVER_IDL =
|
||||
|
Loading…
x
Reference in New Issue
Block a user