mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-13 02:00:35 +05:00
DCQ : New Sketcher + merge
This commit is contained in:
parent
988c5fc009
commit
db1841de36
@ -675,11 +675,17 @@ bool GEOMBase::AddInStudy(bool selection, const Handle(SALOME_InteractiveObject)
|
||||
QString Name = SALOMEGUI_NameDlg::getName(QAD_Application::getDesktop(), anIO->getName());
|
||||
if(!Name.isEmpty()) {
|
||||
// VTK
|
||||
if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_VTK)
|
||||
GActor->setName(strdup(Name.latin1()));
|
||||
if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_VTK) {
|
||||
char* aCopy = CORBA::string_dup(Name.latin1());
|
||||
GActor->setName(aCopy);
|
||||
delete(aCopy);
|
||||
}
|
||||
// OCC
|
||||
else if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_OCC)
|
||||
GAISShape->setName(strdup(Name.latin1()));
|
||||
else if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_OCC) {
|
||||
char* aCopy = CORBA::string_dup(Name.latin1());
|
||||
GAISShape->setName(aCopy);
|
||||
delete(aCopy);
|
||||
}
|
||||
}
|
||||
else
|
||||
return false;
|
||||
@ -916,55 +922,55 @@ bool GEOMBase::GetShapeTypeString(const TopoDS_Shape& aShape, Standard_CString&
|
||||
{
|
||||
case TopAbs_COMPOUND:
|
||||
{
|
||||
aTypeString = strdup(tr("GEOM_COMPOUND"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_COMPOUND"));
|
||||
return true;
|
||||
}
|
||||
case TopAbs_COMPSOLID:
|
||||
{
|
||||
aTypeString = strdup(tr("GEOM_COMPOUNDSOLID")) ;
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_COMPOUNDSOLID")) ;
|
||||
return true ;
|
||||
}
|
||||
case TopAbs_SOLID:
|
||||
{
|
||||
aTypeString = strdup(tr("GEOM_SOLID")) ;
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_SOLID")) ;
|
||||
return true ;
|
||||
}
|
||||
case TopAbs_SHELL:
|
||||
{
|
||||
aTypeString = strdup(tr("GEOM_SHELL")) ;
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_SHELL")) ;
|
||||
return true ;
|
||||
}
|
||||
case TopAbs_FACE:
|
||||
{
|
||||
BRepAdaptor_Surface surf(TopoDS::Face(aShape));
|
||||
if(surf.GetType() == GeomAbs_Plane) {
|
||||
aTypeString = strdup(tr("GEOM_PLANE"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_PLANE"));
|
||||
return true;
|
||||
}
|
||||
else if(surf.GetType() == GeomAbs_Cylinder) {
|
||||
aTypeString = strdup(tr("GEOM_SURFCYLINDER"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_SURFCYLINDER"));
|
||||
return true;
|
||||
}
|
||||
else if(surf.GetType() == GeomAbs_Sphere) {
|
||||
aTypeString = strdup(tr("GEOM_SURFSPHERE"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_SURFSPHERE"));
|
||||
return true ;
|
||||
}
|
||||
else if(surf.GetType() == GeomAbs_Torus) {
|
||||
aTypeString = strdup(tr("GEOM_SURFTORUS"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_SURFTORUS"));
|
||||
return true ;
|
||||
}
|
||||
else if(surf.GetType() == GeomAbs_Cone) {
|
||||
aTypeString = strdup(tr("GEOM_SURFCONE"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_SURFCONE"));
|
||||
return true ;
|
||||
}
|
||||
else {
|
||||
aTypeString = strdup(tr("GEOM_FACE"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_FACE"));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
case TopAbs_WIRE:
|
||||
{
|
||||
aTypeString = strdup(tr("GEOM_WIRE"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_WIRE"));
|
||||
return true;
|
||||
}
|
||||
case TopAbs_EDGE:
|
||||
@ -972,31 +978,31 @@ bool GEOMBase::GetShapeTypeString(const TopoDS_Shape& aShape, Standard_CString&
|
||||
BRepAdaptor_Curve curv(TopoDS::Edge(aShape));
|
||||
if(curv.GetType() == GeomAbs_Line) {
|
||||
if((Abs(curv.FirstParameter()) >= 1E6) || (Abs(curv.LastParameter()) >= 1E6))
|
||||
aTypeString = strdup(tr("GEOM_LINE"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_LINE"));
|
||||
else
|
||||
aTypeString = strdup(tr("GEOM_EDGE"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_EDGE"));
|
||||
return true;
|
||||
}
|
||||
else if(curv.GetType() == GeomAbs_Circle) {
|
||||
if(curv.IsClosed())
|
||||
aTypeString = strdup(tr("GEOM_CIRCLE"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_CIRCLE"));
|
||||
else
|
||||
aTypeString = strdup(tr("GEOM_ARC"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_ARC"));
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
aTypeString = strdup(tr("GEOM_EDGE"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_EDGE"));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
case TopAbs_VERTEX:
|
||||
{
|
||||
aTypeString = strdup(tr("GEOM_VERTEX"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_VERTEX"));
|
||||
return true;
|
||||
}
|
||||
case TopAbs_SHAPE:
|
||||
{
|
||||
aTypeString = strdup(tr("GEOM_SHAPE"));
|
||||
aTypeString = CORBA::string_dup(tr("GEOM_SHAPE"));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -1211,7 +1217,7 @@ void GEOMBase::ConvertListOfIOInListOfIOR(const SALOME_ListIO& aList, GEOM::GEOM
|
||||
CORBA::String_var theValue = anIOR->Value();
|
||||
CORBA::Object_var theObj = _orb->string_to_object(theValue);
|
||||
if(theObj->_is_a("IDL:GEOM/GEOM_Shape:1.0")) {
|
||||
listIOR[j] = strdup(theValue);
|
||||
listIOR[j] = CORBA::string_dup(theValue);
|
||||
j++;
|
||||
}
|
||||
}
|
||||
@ -1219,7 +1225,7 @@ void GEOMBase::ConvertListOfIOInListOfIOR(const SALOME_ListIO& aList, GEOM::GEOM
|
||||
else if(IObject->IsInstance(STANDARD_TYPE(GEOM_InteractiveObject))) {
|
||||
Handle(GEOM_InteractiveObject) GIObject = Handle(GEOM_InteractiveObject)::DownCast(IObject);
|
||||
Standard_CString ior = GIObject->getIOR();
|
||||
listIOR[j] = strdup(ior);
|
||||
listIOR[j] = CORBA::string_dup(ior);
|
||||
j++;
|
||||
}
|
||||
}
|
||||
@ -1455,7 +1461,9 @@ bool GEOMBase::SelectionByNameInDialogs(QWidget* aWidget, const QString& objectU
|
||||
SALOMEDS::SObject_var theObj = listSO[0];
|
||||
/* Create a SALOME_InteractiveObject with a SALOME::SObject */
|
||||
Standard_CString anEntry = theObj->GetID();
|
||||
Handle(SALOME_InteractiveObject) SI = new SALOME_InteractiveObject(anEntry, "GEOM", strdup(objectUserName));
|
||||
char* aCopyobjectUserName = CORBA::string_dup(objectUserName);
|
||||
Handle(SALOME_InteractiveObject) SI = new SALOME_InteractiveObject(anEntry, "GEOM", aCopyobjectUserName);
|
||||
delete(aCopyobjectUserName);
|
||||
|
||||
/* Add as a selected object */
|
||||
/* Clear any previous selection : */
|
||||
@ -1479,6 +1487,23 @@ bool GEOMBase::DefineDlgPosition(QWidget* aDlg, int& x, int& y)
|
||||
return true;
|
||||
}
|
||||
|
||||
QString GEOMBase::GetDefaultName(const QString& theOperation)
|
||||
{
|
||||
SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
|
||||
int aNumber = 0;
|
||||
QString aName;
|
||||
SALOMEDS::SObject_var obj;
|
||||
|
||||
do
|
||||
{
|
||||
aName = theOperation+"_"+QString::number(++aNumber);
|
||||
obj = aStudy->FindObject(aName);
|
||||
}
|
||||
while (!obj->_is_nil());
|
||||
|
||||
return aName;
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// EXPORTED METHODS
|
||||
|
@ -110,6 +110,9 @@ public :
|
||||
bool SelectionByNameInDialogs(QWidget* aWidget, const QString& userObjectName, SALOME_Selection *Sel);
|
||||
bool DefineDlgPosition(QWidget* aDlg, int& x, int& y);
|
||||
|
||||
/* This method generates default names for results of geometrical operations */
|
||||
static QString GetDefaultName(const QString& theOperation);
|
||||
|
||||
GEOMContext* myGeomGUI;
|
||||
GEOM::GEOM_Gen_var myGeom; /* Current Geom Component */
|
||||
|
||||
|
@ -31,7 +31,6 @@
|
||||
|
||||
#include "QAD_Desktop.h"
|
||||
#include "GEOM_Client.hxx"
|
||||
#include "GEOM_Sketcher.h"
|
||||
#include <OSD_SharedLibrary.hxx>
|
||||
#include <qapplication.h>
|
||||
|
||||
@ -51,7 +50,6 @@ private :
|
||||
QDialog* myActiveDialogBox; /* Unique active dialog box */
|
||||
GEOM_Client myShapeReader;
|
||||
Standard_CString myFatherior;
|
||||
Sketch mySketcher;
|
||||
|
||||
public :
|
||||
int myNbGeom; /* Unique name for a geom entity */
|
||||
@ -68,7 +66,6 @@ public :
|
||||
int& GetNbGeom(){return myNbGeom;};
|
||||
GEOM_Client& GetShapeReader(){return myShapeReader;};
|
||||
Standard_CString& GetFatherior(){return myFatherior;};
|
||||
Sketch& GetSketcher(){return mySketcher;};
|
||||
|
||||
bool LoadLibrary(QString GUILibrary);
|
||||
|
||||
|
@ -60,6 +60,6 @@ LIB_SERVER_IDL =
|
||||
CPPFLAGS += $(QT_INCLUDES) $(OCC_INCLUDES) $(PYTHON_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome
|
||||
CXXFLAGS += -I${KERNEL_ROOT_DIR}/include/salome
|
||||
|
||||
LDFLAGS += -lOCCViewer -lVTKViewer -lSalomeObject -lSalomeGUI -lGEOMClient -lGEOMObject -lGEOMSketcher -L${KERNEL_ROOT_DIR}/lib/salome
|
||||
LDFLAGS += -lOCCViewer -lVTKViewer -lSalomeObject -lSalomeGUI -lGEOMClient -lGEOMObject -L${KERNEL_ROOT_DIR}/lib/salome
|
||||
|
||||
@CONCLUDE@
|
||||
|
Loading…
Reference in New Issue
Block a user