// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
#ifdef WNT
#pragma warning( disable:4786 )
// purpose : constructor to be called for servant creation.
//============================================================================
GEOM_Gen_i::GEOM_Gen_i(CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- PortableServer::ObjectId* contId,
- const char* instanceName,
- const char* interfaceName) :
+ PortableServer::POA_ptr poa,
+ PortableServer::ObjectId* contId,
+ const char* instanceName,
+ const char* interfaceName) :
Engines_Component_i(orb, poa, contId, instanceName, interfaceName)
{
_thisObj = this;
// purpose :
//============================================================================
char* GEOM_Gen_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
- const char* IORString,
- CORBA::Boolean isMultiFile,
- CORBA::Boolean isASCII)
+ const char* IORString,
+ CORBA::Boolean isMultiFile,
+ CORBA::Boolean isASCII)
{
GEOM::GEOM_Object_var anObject = GEOM::GEOM_Object::_narrow(_orb->string_to_object(IORString));
if (!CORBA::is_nil(anObject)) {
// : The IOR (IORName) of object created is returned
//============================================================================
char* GEOM_Gen_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
- const char* aLocalPersistentID,
- CORBA::Boolean isMultiFile,
- CORBA::Boolean isASCII)
+ const char* aLocalPersistentID,
+ CORBA::Boolean isMultiFile,
+ CORBA::Boolean isASCII)
{
SALOMEDS::Study_var aStudy = theSObject->GetStudy();
// purpose :
//============================================================================
SALOMEDS::SObject_ptr GEOM_Gen_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
- SALOMEDS::SObject_ptr theSObject,
- CORBA::Object_ptr theObject,
- const char* theName) throw (SALOME::SALOME_Exception)
+ SALOMEDS::SObject_ptr theSObject,
+ CORBA::Object_ptr theObject,
+ const char* theName) throw (SALOME::SALOME_Exception)
{
Unexpect aCatch(SALOME_SalomeException);
SALOMEDS::SObject_var aResultSO;
aPixmap->Destroy();
//if (strlen(theName) == 0) aShapeName += TCollection_AsciiString(aResultSO->Tag());
//else aShapeName = TCollection_AsciiString(CORBA::string_dup(theName));
-
+
// try to find existed name for current shape
bool HasName = false;
// recieve current TopoDS shape
SALOMEDS::SObject_var obj;
TCollection_AsciiString aNewShapeName;
do {
- aNewShapeName = aShapeName + TCollection_AsciiString(++i);
- obj = theStudy->FindObject( aNewShapeName.ToCString() );
+ aNewShapeName = aShapeName + TCollection_AsciiString(++i);
+ obj = theStudy->FindObject( aNewShapeName.ToCString() );
}
while ( !obj->_is_nil() );
aShapeName = aNewShapeName;
SALOMEDS::ListOfStrings aListOfVars = aSections[i];
for(int j = 0, m = aListOfVars.length(); j < m; j++) {
if(theStudy->IsVariable(aListOfVars[j].in()))
- aVars += TCollection_AsciiString(aListOfVars[j].in());
+ aVars += TCollection_AsciiString(aListOfVars[j].in());
if(j != m-1)
- aVars += ":";
+ aVars += ":";
}
if(i != n-1)
aVars += "|";
// purpose : auxilary for PublishNamedShapesInStudy
//============================================================================
void GEOM_Gen_i::CreateAndPublishGroup(SALOMEDS::Study_ptr theStudy,
- GEOM::GEOM_Object_var theMainShape,
- const TopTools_IndexedMapOfShape& anIndices,
- const TopTools_SequenceOfShape& SeqS,
- const TColStd_SequenceOfAsciiString& SeqN,
- const Standard_CString& GrName,
- GEOM::ListOfGO_var aResList)
+ GEOM::GEOM_Object_var theMainShape,
+ const TopTools_IndexedMapOfShape& anIndices,
+ const TopTools_SequenceOfShape& SeqS,
+ const TColStd_SequenceOfAsciiString& SeqN,
+ const Standard_CString& GrName,
+ GEOM::ListOfGO_var aResList)
{
CORBA::String_var entry = theMainShape->GetEntry();
Handle(GEOM_Object) aMainShape = _impl->GetObject(theMainShape->GetStudyID(), entry);
//============================================================================
GEOM::ListOfGO* GEOM_Gen_i::
PublishNamedShapesInStudy(SALOMEDS::Study_ptr theStudy,
- //SALOMEDS::SObject_ptr theSObject,
- CORBA::Object_ptr theObject)
+ //SALOMEDS::SObject_ptr theSObject,
+ CORBA::Object_ptr theObject)
{
//Unexpect aCatch(SALOME_SalomeException);
GEOM::ListOfGO_var aResList = new GEOM::ListOfGO;
if(L.FindAttribute(TDataStd_Name::GetID(),aName)) {
TCollection_ExtendedString EName = aName->Get();
if(S.ShapeType()==TopAbs_SOLID) {
- SolidSeqS.Append(S);
- SolidSeqN.Append(aName->Get());
+ SolidSeqS.Append(S);
+ SolidSeqN.Append(aName->Get());
}
else if(S.ShapeType()==TopAbs_FACE) {
- FaceSeqS.Append(S);
- FaceSeqN.Append(aName->Get());
+ FaceSeqS.Append(S);
+ FaceSeqN.Append(aName->Get());
}
else if(S.ShapeType()==TopAbs_EDGE) {
- EdgeSeqS.Append(S);
- EdgeSeqN.Append(aName->Get());
+ EdgeSeqS.Append(S);
+ EdgeSeqN.Append(aName->Get());
}
else if(S.ShapeType()==TopAbs_VERTEX) {
- VertSeqS.Append(S);
- VertSeqN.Append(aName->Get());
+ VertSeqS.Append(S);
+ VertSeqN.Append(aName->Get());
}
}
}
TopExp::MapShapes(MainSh, anIndices);
CreateAndPublishGroup(theStudy, theMainShape, anIndices, SolidSeqS, SolidSeqN,
- "Group_Of_Named_Solids", aResList);
+ "Group_Of_Named_Solids", aResList);
CreateAndPublishGroup(theStudy, theMainShape, anIndices, FaceSeqS, FaceSeqN,
- "Group_Of_Named_Faces", aResList);
+ "Group_Of_Named_Faces", aResList);
CreateAndPublishGroup(theStudy, theMainShape, anIndices, EdgeSeqS, EdgeSeqN,
- "Group_Of_Named_Edges", aResList);
+ "Group_Of_Named_Edges", aResList);
CreateAndPublishGroup(theStudy, theMainShape, anIndices, VertSeqS, VertSeqN,
- "Group_Of_Named_Vertices", aResList);
+ "Group_Of_Named_Vertices", aResList);
return aResList._retn();
}
// purpose : save OCAF/Geom document
//============================================================================
SALOMEDS::TMPFile* GEOM_Gen_i::Save(SALOMEDS::SComponent_ptr theComponent,
- const char* theURL,
- bool isMultiFile) {
+ const char* theURL,
+ bool isMultiFile) {
SALOMEDS::TMPFile_var aStreamFile;
// Get a temporary directory to store a file
std::string aTmpDir = (isMultiFile)?theURL:SALOMEDS_Tool::GetTmpDir();
// purpose :
//============================================================================
SALOMEDS::TMPFile* GEOM_Gen_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
- const char* theURL,
- bool isMultiFile) {
+ const char* theURL,
+ bool isMultiFile) {
SALOMEDS::TMPFile_var aStreamFile = Save(theComponent, theURL, isMultiFile);
return aStreamFile._retn();
}
// purpose :
//============================================================================
CORBA::Boolean GEOM_Gen_i::Load(SALOMEDS::SComponent_ptr theComponent,
- const SALOMEDS::TMPFile& theStream,
- const char* theURL,
- bool isMultiFile) {
+ const SALOMEDS::TMPFile& theStream,
+ const char* theURL,
+ bool isMultiFile) {
if (theStream.length() <= 9) {
MESSAGE("The TMPFile is too short : " << theStream.length() << " bytes ");
// purpose :
//============================================================================
CORBA::Boolean GEOM_Gen_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
- const SALOMEDS::TMPFile& theStream,
- const char* theURL,
- bool isMultiFile) {
+ const SALOMEDS::TMPFile& theStream,
+ const char* theURL,
+ bool isMultiFile) {
return Load(theComponent, theStream, theURL, isMultiFile);
}
// purpose :
//============================================================================
SALOMEDS::SObject_ptr GEOM_Gen_i::PasteInto(const SALOMEDS::TMPFile& theStream,
- CORBA::Long theObjectID,
- SALOMEDS::SObject_ptr theObject) {
+ CORBA::Long theObjectID,
+ SALOMEDS::SObject_ptr theObject) {
// Find the current Study and StudyBuilder
SALOMEDS::Study_var aStudy = theObject->GetStudy();
SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder();
// purpose :
//============================================================================
SALOMEDS::SObject_ptr GEOM_Gen_i::AddInStudy (SALOMEDS::Study_ptr theStudy,
- GEOM::GEOM_Object_ptr theObject,
- const char* theName,
- GEOM::GEOM_Object_ptr theFather)
+ GEOM::GEOM_Object_ptr theObject,
+ const char* theName,
+ GEOM::GEOM_Object_ptr theFather)
{
SALOMEDS::SObject_var aResultSO;
if(theObject->_is_nil() || theStudy->_is_nil()) return aResultSO;
// To be used from python scripts out of geompy.addToStudy (non-default usage)
//============================================================================
GEOM::ListOfGO* GEOM_Gen_i::RestoreSubShapesO (SALOMEDS::Study_ptr theStudy,
- GEOM::GEOM_Object_ptr theObject,
+ GEOM::GEOM_Object_ptr theObject,
const GEOM::ListOfGO& theArgs,
GEOM::find_shape_method theFindMethod,
CORBA::Boolean theInheritFirstArg,
// are defined, and does not check, if they correspond to each other.
//============================================================================
GEOM::ListOfGO* GEOM_Gen_i::RestoreSubShapes(SALOMEDS::Study_ptr theStudy,
- GEOM::GEOM_Object_ptr theObject,
- SALOMEDS::SObject_ptr theSObject,
- const GEOM::ListOfGO& theArgs,
- GEOM::find_shape_method theFindMethod,
- CORBA::Boolean theInheritFirstArg,
+ GEOM::GEOM_Object_ptr theObject,
+ SALOMEDS::SObject_ptr theSObject,
+ const GEOM::ListOfGO& theArgs,
+ GEOM::find_shape_method theFindMethod,
+ CORBA::Boolean theInheritFirstArg,
CORBA::Boolean theAddPrefix)
{
GEOM::ListOfGO_var aParts = new GEOM::ListOfGO;
// set the color of the transformed shape to the color of initial shape
theObject->SetColor(aList[0]->GetColor());
+ // set the texture
+ if (theObject->GetShapeType() == GEOM::VERTEX) {
+ theObject->SetMarkerStd(aList[0]->GetMarkerType(), aList[0]->GetMarkerSize());
+ if (aList[0]->GetMarkerType() == GEOM::MT_USER)
+ theObject->SetMarkerTexture(aList[0]->GetMarkerTexture());
+ }
+
anArgSO->Destroy();
}
else {
aSubSO = PublishInStudy(theStudy, aSubSO, aSubO, aSubName.ToCString());
// Restore color
aSubO->SetColor(anArgO->GetColor());
+ // set the texture
+ if (aSubO->GetShapeType() == GEOM::VERTEX) {
+ aSubO->SetMarkerStd(anArgO->GetMarkerType(), anArgO->GetMarkerSize());
+ if (anArgO->GetMarkerType() == GEOM::MT_USER)
+ aSubO->SetMarkerTexture(anArgO->GetMarkerTexture());
+ }
}
if (!CORBA::is_nil(anArgSO)) {
aSubSO = PublishInStudy(theStudy, aSubSO, aSubO, aSubName.ToCString());
// Restore color
aSubO->SetColor(anArgO->GetColor());
+ // set the texture
+ if (aSubO->GetShapeType() == GEOM::VERTEX) {
+ aSubO->SetMarkerStd(anArgO->GetMarkerType(), anArgO->GetMarkerSize());
+ if (anArgO->GetMarkerType() == GEOM::MT_USER)
+ aSubO->SetMarkerTexture(anArgO->GetMarkerTexture());
+ }
}
}
else if (!CORBA::is_nil(aSubSO)) {
// purpose : Private method
//============================================================================
GEOM::ListOfGO* GEOM_Gen_i::RestoreSubShapesOneLevel (SALOMEDS::Study_ptr theStudy,
- SALOMEDS::SObject_ptr theOldSO,
- SALOMEDS::SObject_ptr theNewSO,
- GEOM::GEOM_Object_ptr theNewO,
- GEOM::find_shape_method theFindMethod,
+ SALOMEDS::SObject_ptr theOldSO,
+ SALOMEDS::SObject_ptr theNewSO,
+ GEOM::GEOM_Object_ptr theNewO,
+ GEOM::find_shape_method theFindMethod,
CORBA::Boolean theAddPrefix)
{
int i = 0;
if (anOldSubSO->FindAttribute(anAttr, "AttributeIOR")) {
SALOMEDS::AttributeIOR_var anAttrIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
GEOM::GEOM_Object_var anOldSubO =
- GEOM::GEOM_Object::_narrow(_orb->string_to_object(anAttrIOR->Value()));
+ GEOM::GEOM_Object::_narrow(_orb->string_to_object(anAttrIOR->Value()));
if (!CORBA::is_nil(anOldSubO)) {
- // Find a sub-shape of theNewO in place of anOldSubO
- GEOM::GEOM_Object_var aNewSubO;
- switch (theFindMethod) {
- case GEOM::FSM_GetInPlace:
- {
- // Use GetInPlace
- aNewSubO = aShapesOp->GetInPlace(theNewO, anOldSubO);
- }
- break;
- case GEOM::FSM_Transformed:
- {
- // transformation, cannot use GetInPlace, operate with indices
- GEOM::ListOfLong_var anIDs = anOldSubO->GetSubShapeIndices();
- if (anIDs->length() > 1) {
- // group
- aNewSubO = aGroupOp->CreateGroup(theNewO, aGroupOp->GetType(anOldSubO));
- if (!CORBA::is_nil(aNewSubO))
- aGroupOp->UnionIDs(aNewSubO, anIDs);
- }
- else {
- // single sub-shape
- aNewSubO = aShapesOp->GetSubShape(theNewO, anIDs[0]);
- }
- }
- break;
- case GEOM::FSM_GetSame:
- {
- // Use GetSame
- aNewSubO = aShapesOp->GetSame(theNewO, anOldSubO);
- }
- break;
- case GEOM::FSM_GetShapesOnShape:
- {
- // Use GetShapesOnShape. Can work only on solids, so it has sense to search only solids
- aNewSubO = aShapesOp->GetShapesOnShapeAsCompound(anOldSubO, theNewO,
- (short)GEOM::SOLID, GEOM::ST_ONIN);
- }
- break;
- case GEOM::FSM_GetInPlaceByHistory:
- {
- // Use GetInPlaceByHistory
- aNewSubO = aShapesOp->GetInPlaceByHistory(theNewO, anOldSubO);
- }
- break;
- default:
- {}
- }
-
- if (!CORBA::is_nil(aNewSubO)) {
- // add the part to the list
- aParts[i] = aNewSubO;
- i++;
+ // Find a sub-shape of theNewO in place of anOldSubO
+ GEOM::GEOM_Object_var aNewSubO;
+ switch (theFindMethod) {
+ case GEOM::FSM_GetInPlace:
+ {
+ // Use GetInPlace
+ aNewSubO = aShapesOp->GetInPlace(theNewO, anOldSubO);
+ }
+ break;
+ case GEOM::FSM_Transformed:
+ {
+ // transformation, cannot use GetInPlace, operate with indices
+ GEOM::ListOfLong_var anIDs = anOldSubO->GetSubShapeIndices();
+ if (anIDs->length() > 1) {
+ // group
+ aNewSubO = aGroupOp->CreateGroup(theNewO, aGroupOp->GetType(anOldSubO));
+ if (!CORBA::is_nil(aNewSubO))
+ aGroupOp->UnionIDs(aNewSubO, anIDs);
+ }
+ else {
+ // single sub-shape
+ aNewSubO = aShapesOp->GetSubShape(theNewO, anIDs[0]);
+ }
+ }
+ break;
+ case GEOM::FSM_GetSame:
+ {
+ // Use GetSame
+ aNewSubO = aShapesOp->GetSame(theNewO, anOldSubO);
+ }
+ break;
+ case GEOM::FSM_GetShapesOnShape:
+ {
+ // Use GetShapesOnShape. Can work only on solids, so it has sense to search only solids
+ aNewSubO = aShapesOp->GetShapesOnShapeAsCompound(anOldSubO, theNewO,
+ (short)GEOM::SOLID, GEOM::ST_ONIN);
+ }
+ break;
+ case GEOM::FSM_GetInPlaceByHistory:
+ {
+ // Use GetInPlaceByHistory
+ aNewSubO = aShapesOp->GetInPlaceByHistory(theNewO, anOldSubO);
+ }
+ break;
+ default:
+ {}
+ }
+
+ if (!CORBA::is_nil(aNewSubO)) {
+ // add the part to the list
+ aParts[i] = aNewSubO;
+ i++;
// add to parts list
addToListOfGO( aNewSubO, aNewParts );
SALOMEDS::SObject_var aNewSubSO;
if (!CORBA::is_nil(theNewSO)) {
- // Publish the sub-shape
+ // Publish the sub-shape
TCollection_AsciiString aSubName;
if (theAddPrefix) {
aSubName = "from_";
}
- aSubName += anArgName;
- aNewSubSO = aStudyBuilder->NewObject(theNewSO);
- aNewSubSO = PublishInStudy(theStudy, aNewSubSO, aNewSubO, aSubName.ToCString());
- // Restore color
- aNewSubO->SetColor(anOldSubO->GetColor());
+ aSubName += anArgName;
+ aNewSubSO = aStudyBuilder->NewObject(theNewSO);
+ aNewSubSO = PublishInStudy(theStudy, aNewSubSO, aNewSubO, aSubName.ToCString());
+ // Restore color
+ aNewSubO->SetColor(anOldSubO->GetColor());
+ // set the texture
+ if (aNewSubO->GetShapeType() == GEOM::VERTEX) {
+ aNewSubO->SetMarkerStd(anOldSubO->GetMarkerType(), anOldSubO->GetMarkerSize());
+ if (anOldSubO->GetMarkerType() == GEOM::MT_USER)
+ aNewSubO->SetMarkerTexture(anOldSubO->GetMarkerTexture());
+ }
}
- // Restore published sub-shapes of the argument
- GEOM::ListOfGO_var aSubParts;
- if (theFindMethod == GEOM::FSM_GetInPlaceByHistory)
- // pass the main shape as Object, because only it has the history
- aSubParts = RestoreSubShapesOneLevel(theStudy, anOldSubSO, aNewSubSO,
+ // Restore published sub-shapes of the argument
+ GEOM::ListOfGO_var aSubParts;
+ if (theFindMethod == GEOM::FSM_GetInPlaceByHistory)
+ // pass the main shape as Object, because only it has the history
+ aSubParts = RestoreSubShapesOneLevel(theStudy, anOldSubSO, aNewSubSO,
theNewO, theFindMethod, theAddPrefix);
- else
- aSubParts = RestoreSubShapesOneLevel(theStudy, anOldSubSO, aNewSubSO,
+ else
+ aSubParts = RestoreSubShapesOneLevel(theStudy, anOldSubSO, aNewSubSO,
aNewSubO, theFindMethod, theAddPrefix);
// add to parts list
addToListOfGO( aSubParts, aNewParts );
- }
- else { // GetInPlace failed, try to build from published parts
- SALOMEDS::SObject_var aNewSubSO;
+ }
+ else { // GetInPlace failed, try to build from published parts
+ SALOMEDS::SObject_var aNewSubSO;
if (!CORBA::is_nil(theNewSO))
aNewSubSO = aStudyBuilder->NewObject(theNewSO);
- // Restore published sub-shapes of the argument
- GEOM::ListOfGO_var aSubParts =
- RestoreSubShapesOneLevel(theStudy, anOldSubSO, aNewSubSO,
+ // Restore published sub-shapes of the argument
+ GEOM::ListOfGO_var aSubParts =
+ RestoreSubShapesOneLevel(theStudy, anOldSubSO, aNewSubSO,
theNewO, theFindMethod, theAddPrefix);
// add to parts list
addToListOfGO( aSubParts, aNewParts );
- if (aSubParts->length() > 0) {
- // try to build an object from a set of its sub-shapes,
- // that published and will be reconstructed
- if (aSubParts->length() > 1) {
- aNewSubO = aShapesOp->MakeCompound(aSubParts);
+ if (aSubParts->length() > 0) {
+ // try to build an object from a set of its sub-shapes,
+ // that published and will be reconstructed
+ if (aSubParts->length() > 1) {
+ aNewSubO = aShapesOp->MakeCompound(aSubParts);
// add to parts list
addToListOfGO( aNewSubO, aNewParts );
- }
- else {
- aNewSubO = aSubParts[0];
- }
-
- if (!CORBA::is_nil(aNewSubO)) {
- // add the part to the list
- aSubParts[i] = aNewSubO;
- i++;
-
- // Publish the sub-shape
- if (!CORBA::is_nil(aNewSubSO)) {
+ }
+ else {
+ aNewSubO = aSubParts[0];
+ }
+
+ if (!CORBA::is_nil(aNewSubO)) {
+ // add the part to the list
+ aSubParts[i] = aNewSubO;
+ i++;
+
+ // Publish the sub-shape
+ if (!CORBA::is_nil(aNewSubSO)) {
TCollection_AsciiString aSubName;
if (theAddPrefix) {
aSubName = "from_parts_of_";
}
- aSubName += anArgName;
- aNewSubSO = PublishInStudy(theStudy, aNewSubSO, aNewSubO, aSubName.ToCString());
- // Restore color
- aNewSubO->SetColor(anOldSubO->GetColor());
+ aSubName += anArgName;
+ aNewSubSO = PublishInStudy(theStudy, aNewSubSO, aNewSubO, aSubName.ToCString());
+ // Restore color
+ aNewSubO->SetColor(anOldSubO->GetColor());
+ // set the texture
+ if (aNewSubO->GetShapeType() == GEOM::VERTEX) {
+ aNewSubO->SetMarkerStd(anOldSubO->GetMarkerType(), anOldSubO->GetMarkerSize());
+ if (anOldSubO->GetMarkerType() == GEOM::MT_USER)
+ aNewSubO->SetMarkerTexture(anOldSubO->GetMarkerTexture());
+ }
}
- }
- }
- else if (!CORBA::is_nil(aNewSubSO)) {
- // remove created aSubSO, because no parts have been found
- aStudyBuilder->RemoveObject(aNewSubSO);
- }
- } // try to build from published parts
+ }
+ }
+ else if (!CORBA::is_nil(aNewSubSO)) {
+ // remove created aSubSO, because no parts have been found
+ aStudyBuilder->RemoveObject(aNewSubSO);
+ }
+ } // try to build from published parts
}
}
} // iterate on published sub-shapes
*/
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_Gen_i::AddSubShape (GEOM::GEOM_Object_ptr theMainShape,
- const GEOM::ListOfLong& theIndices)
+ const GEOM::ListOfLong& theIndices)
{
if (CORBA::is_nil(theMainShape) || theIndices.length() < 1)
return GEOM::GEOM_Object::_nil();
char* GEOM_Gen_i::getObjectInfo(CORBA::Long studyId, const char* entry)
{
GEOM::GEOM_Object_var aGeomObject;
-
+
CORBA::Object_var aSMObject = name_service->Resolve( "/myStudyManager" );
SALOMEDS::StudyManager_var aStudyManager = SALOMEDS::StudyManager::_narrow( aSMObject );
SALOMEDS::Study_var aStudy = aStudyManager->GetStudyByID( studyId );
}
if (!aSObj->_is_nil() )
aSObj->Destroy();
-
+
const char* aTypeInfo = "Object";
if ( !aGeomObject->_is_nil() ) {
GEOM::GEOM_IKindOfShape::shape_kind aKind;
if ( anOp->IsDone() ) {
switch ( aKind ) {
case GEOM::GEOM_IKindOfShape::COMPOUND:
- aTypeInfo = "Compound";
- break;
+ aTypeInfo = "Compound";
+ break;
case GEOM::GEOM_IKindOfShape::COMPSOLID:
- aTypeInfo = "CompSolid";
- break;
+ aTypeInfo = "CompSolid";
+ break;
case GEOM::GEOM_IKindOfShape::SHELL:
- aTypeInfo = "Shell";
- break;
+ aTypeInfo = "Shell";
+ break;
case GEOM::GEOM_IKindOfShape::WIRE:
- if ( anInts[0] == 1 )
- aTypeInfo = "Closed Wire";
- else if ( anInts[0] == 2 )
- aTypeInfo = "Opened Wire";
- else
- aTypeInfo = "Wire";
- break;
- // SOLIDs
+ if ( anInts[0] == 1 )
+ aTypeInfo = "Closed Wire";
+ else if ( anInts[0] == 2 )
+ aTypeInfo = "Opened Wire";
+ else
+ aTypeInfo = "Wire";
+ break;
+ // SOLIDs
case GEOM::GEOM_IKindOfShape::SPHERE:
- aTypeInfo = "Sphere";
- break;
+ aTypeInfo = "Sphere";
+ break;
case GEOM::GEOM_IKindOfShape::CYLINDER:
- aTypeInfo = "Cylinder";
- break;
+ aTypeInfo = "Cylinder";
+ break;
case GEOM::GEOM_IKindOfShape::BOX:
case GEOM::GEOM_IKindOfShape::ROTATED_BOX:
- aTypeInfo = "Box";
- break;
+ aTypeInfo = "Box";
+ break;
case GEOM::GEOM_IKindOfShape::TORUS:
- aTypeInfo = "Torus";
- break;
+ aTypeInfo = "Torus";
+ break;
case GEOM::GEOM_IKindOfShape::CONE:
- aTypeInfo = "Cone";
- break;
+ aTypeInfo = "Cone";
+ break;
case GEOM::GEOM_IKindOfShape::POLYHEDRON:
- aTypeInfo = "Polyhedron";
- break;
+ aTypeInfo = "Polyhedron";
+ break;
case GEOM::GEOM_IKindOfShape::SOLID:
- aTypeInfo = "Solid";
- break;
- // FACEs
+ aTypeInfo = "Solid";
+ break;
+ // FACEs
case GEOM::GEOM_IKindOfShape::SPHERE2D:
- aTypeInfo = "Spherical Face";
- break;
+ aTypeInfo = "Spherical Face";
+ break;
case GEOM::GEOM_IKindOfShape::CYLINDER2D:
- aTypeInfo = "Cylindrical Face";
- break;
+ aTypeInfo = "Cylindrical Face";
+ break;
case GEOM::GEOM_IKindOfShape::TORUS2D:
- aTypeInfo = "Toroidal Face";
- break;
+ aTypeInfo = "Toroidal Face";
+ break;
case GEOM::GEOM_IKindOfShape::CONE2D:
- aTypeInfo = "Conical Face";
- break;
+ aTypeInfo = "Conical Face";
+ break;
case GEOM::GEOM_IKindOfShape::DISK_CIRCLE:
- aTypeInfo = "Disk";
- break;
+ aTypeInfo = "Disk";
+ break;
case GEOM::GEOM_IKindOfShape::DISK_ELLIPSE:
- aTypeInfo = "Elliptical Face";
- break;
+ aTypeInfo = "Elliptical Face";
+ break;
case GEOM::GEOM_IKindOfShape::POLYGON:
- aTypeInfo = "Polygon";
- break;
+ aTypeInfo = "Polygon";
+ break;
case GEOM::GEOM_IKindOfShape::PLANE:
- aTypeInfo = "Plane";
- break;
+ aTypeInfo = "Plane";
+ break;
case GEOM::GEOM_IKindOfShape::PLANAR:
- aTypeInfo = "Planar Face";
- break;
+ aTypeInfo = "Planar Face";
+ break;
case GEOM::GEOM_IKindOfShape::FACE:
- aTypeInfo = "Face";
- break;
- // EDGEs
+ aTypeInfo = "Face";
+ break;
+ // EDGEs
case GEOM::GEOM_IKindOfShape::CIRCLE:
- aTypeInfo = "Circle";
- break;
+ aTypeInfo = "Circle";
+ break;
case GEOM::GEOM_IKindOfShape::ARC_CIRCLE:
- aTypeInfo = "Arc Circle";
- break;
+ aTypeInfo = "Arc Circle";
+ break;
case GEOM::GEOM_IKindOfShape::ELLIPSE:
- aTypeInfo = "Ellipse";
- break;
+ aTypeInfo = "Ellipse";
+ break;
case GEOM::GEOM_IKindOfShape::ARC_ELLIPSE:
- aTypeInfo = "Arc Ellipse";
- break;
+ aTypeInfo = "Arc Ellipse";
+ break;
case GEOM::GEOM_IKindOfShape::LINE:
- aTypeInfo = "Line";
- break;
+ aTypeInfo = "Line";
+ break;
case GEOM::GEOM_IKindOfShape::SEGMENT:
- aTypeInfo = "Segment";
- break;
+ aTypeInfo = "Segment";
+ break;
case GEOM::GEOM_IKindOfShape::EDGE:
- aTypeInfo = "Edge";
- break;
+ aTypeInfo = "Edge";
+ break;
case GEOM::GEOM_IKindOfShape::VERTEX:
- aTypeInfo = "Vertex";
- break;
+ aTypeInfo = "Vertex";
+ break;
default:
- break;
+ break;
}
}
}
-
+
char* anInfo = new char[strlen("Module ") + strlen(ComponentDataType()) + strlen(", ") + strlen(aTypeInfo) + 3];
sprintf(anInfo, "Module %s, %s", ComponentDataType(), aTypeInfo);
-
+
char* ret = CORBA::string_dup(anInfo);
delete [] anInfo;
return ret;
GEOM_I_EXPORT
PortableServer::ObjectId* GEOMEngine_factory(CORBA::ORB*, PortableServer::POA*, PortableServer::ObjectId*, const char*, const char*);
*/
-
+
GEOM_I_EXPORT
PortableServer::ObjectId* GEOMEngine_factory(CORBA::ORB_ptr orb,
- PortableServer::POA_ptr poa,
- PortableServer::ObjectId* contId,
- const char* instanceName,
- const char* interfaceName)
+ PortableServer::POA_ptr poa,
+ PortableServer::ObjectId* contId,
+ const char* instanceName,
+ const char* interfaceName)
{
GEOM_Gen_i* myGEOM_Gen_i = new GEOM_Gen_i(orb, poa, contId, instanceName, interfaceName);
return myGEOM_Gen_i->getId();