#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = YES
+#CLASS_DIAGRAMS = YES
+CLASS_DIAGRAMS = NO
HIDE_UNDOC_RELATIONS = NO
-HAVE_DOT = YES
-CLASS_GRAPH = YES
+#HAVE_DOT = YES
+HAVE_DOT = NO
+#CLASS_GRAPH = YES
+CLASS_GRAPH = NO
COLLABORATION_GRAPH = NO
GROUP_GRAPHS = NO
UML_LOOK = NO
-TEMPLATE_RELATIONS = YES
-INCLUDE_GRAPH = YES
+#TEMPLATE_RELATIONS = YES
+#INCLUDE_GRAPH = YES
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = NO
INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
-GRAPHICAL_HIERARCHY = YES
-DIRECTORY_GRAPH = YES
+#GRAPHICAL_HIERARCHY = YES
+#DIRECTORY_GRAPH = YES
+GRAPHICAL_HIERARCHY = NO
+DIRECTORY_GRAPH = NO
DOT_IMAGE_FORMAT = jpg
DOT_PATH =
DOTFILE_DIRS =
doxygen=@DOXYGEN@
+# Below command replaces "geompyDC" by "geompy" except cases
+# "sgeompyDC", "1geompyDC" and "egeompyDC" (these sequences
+# can be found in file names and must not be replaces):
+#
+# sed 's/\([^s1e]\)geompyDC\|^geompyDC/\1geompy/g' $${filen} > ./tmp;
+#
usr_docs:
cd ./GEOM; \
echo "Processing geompyDC.py file: "; \
$(doxygen) ./doxyfile_py; \
+ cd ./geompy_doc; \
+ filesl=`find .`; \
+ for filen in $${filesl}; do \
+ sed 's/\([^s1e]\)geompyDC\|^geompyDC/\1geompy/g' $${filen} > ./tmp1; \
+ sed 's/geompy\.geompy/geompy/g' ./tmp1 > ./tmp; \
+ rm -f tmp1; \
+ mv -f tmp $${filen}; \
+ done; \
+ cd ..; \
echo "Running doxygen in directory: "`pwd`; \
$(doxygen) ./doxyfile;
nodist_docgui_DATA= GEOM/doxyfile
nodist_docgui_DATA+= GEOM/doxyfile_py
EXTRA_DIST+= GEOM/doxyfile.in
-EXTRA_DIST+= GEOM/doxyfile_py.in
\ No newline at end of file
+EXTRA_DIST+= GEOM/doxyfile_py.in
/*!
* Create a filling from the given compound of contours.
- * \param theMinDeg a minimal degree
- * \param theMaxDeg a maximal degree
- * \param theTol2D a 2d tolerance
- * \param theTol3D a 3d tolerance
- * \param theNbIter a number of iteration
+ * \param theMinDeg a minimal degree of BSpline surface to create
+ * \param theMaxDeg a maximal degree of BSpline surface to create
+ * \param theTol2D a 2d tolerance to be reached
+ * \param theTol3D a 3d tolerance to be reached
+ * \param theNbIter a number of iteration of approximation algorithm
* \return New GEOM_Object, containing the created filling surface.
*/
GEOM_Object MakeFilling (in GEOM_Object theShape,
initName( GroupConstructors->title() );
+ setTabOrder (RadioButton1, ResultName );
+ setTabOrder (ResultName, myGroup->PushButton1);
+ setTabOrder (myGroup->PushButton1, myGroup->PushButton2);
+ setTabOrder (myGroup->PushButton2, buttonOk);
+ setTabOrder (buttonOk, buttonApply);
+ setTabOrder (buttonApply, buttonCancel);
+ setTabOrder (buttonCancel, buttonHelp);
+
+ RadioButton1->setFocus();
+
globalSelection( GEOM_ALLSHAPES );
}
//=================================================================================
bool BooleanGUI_Dialog::isValid( QString& msg )
{
+ Handle(SALOME_InteractiveObject) IO = firstIObject();
+ Standard_Boolean testResult;
+ GEOM::GEOM_Object_var anObject = GEOMBase::ConvertIOinGEOMObject( IO, testResult );
+ if ( !testResult || anObject->_is_nil() )
+ return false;
+
return !CORBA::is_nil( myObject1 ) && !CORBA::is_nil( myObject2 );
}
_OCAFApp = new GEOM_Application();
_UndoLimit = 10;
- //_lastObjectTag = 0;
}
/*!
//=============================================================================
void GEOM_Engine::Close(int theDocID)
{
- if(_mapIDDocument.IsBound(theDocID)) {
+ if (_mapIDDocument.IsBound(theDocID)) {
Handle(TDocStd_Document) aDoc = Handle(TDocStd_Document)::DownCast(_mapIDDocument(theDocID));
//Remove all GEOM Objects associated to the given document
TColStd_SequenceOfAsciiString aSeq;
- GEOM_DataMapIteratorOfDataMapOfAsciiStringTransient It(_objects);
- for(; It.More(); It.Next()) {
- TCollection_AsciiString anObjID(It.Key());
+ GEOM_DataMapIteratorOfDataMapOfAsciiStringTransient It (_objects);
+ for (; It.More(); It.Next()) {
+ TCollection_AsciiString anObjID (It.Key());
Standard_Integer anID = ExtractDocID(anObjID);
- if(theDocID == anID) aSeq.Append(It.Key());
+ if (theDocID == anID) aSeq.Append(It.Key());
}
- for(Standard_Integer i=1; i<=aSeq.Length(); i++) _objects.UnBind(aSeq.Value(i));
+ for (Standard_Integer i=1; i<=aSeq.Length(); i++) _objects.UnBind(aSeq.Value(i));
- _mapIDDocument.UnBind(theDocID);
+ _lastCleared.Nullify();
+
+ _mapIDDocument.UnBind(theDocID);
_OCAFApp->Close(aDoc);
aDoc.Nullify();
}
// Make script to publish in study
if ( isPublished )
{
- map< int, string > anEntryToCommandMap; // sort publishing commands by object entry
+ std::map< int, std::string > anEntryToCommandMap; // sort publishing commands by object entry
for (anEntryToNameIt.Initialize( theObjectNames );
anEntryToNameIt.More();
anEntryToNameIt.Next())
// bind a command to the last digit of the entry
int tag =
aEntry.SubString( aEntry.SearchFromEnd(":")+1, aEntry.Length() ).IntegerValue();
- anEntryToCommandMap.insert( make_pair( tag, aCommand.ToCString() ));
+ anEntryToCommandMap.insert( std::make_pair( tag, aCommand.ToCString() ));
}
// add publishing commands to the script
- map< int, string >::iterator anEntryToCommand = anEntryToCommandMap.begin();
+ std::map< int, std::string >::iterator anEntryToCommand = anEntryToCommandMap.begin();
for ( ; anEntryToCommand != anEntryToCommandMap.end(); ++anEntryToCommand ) {
anUpdatedScript += (char*)anEntryToCommand->second.c_str();
}
// Module : GEOM
// $Header$
+using namespace std;
+
#include <Standard_Stream.hxx>
#include <Standard_Stream.hxx>
#if !defined (__GEOM_DISPLAYER_H)
#define __GEOM_DISPLAYER_H
+using namespace std;
+
#include "GEOM_GEOMGUI.hxx"
#include "SALOME_Prs.h"
#pragma warning( disable:4786 )
#endif
+using namespace std;
+
#include <Standard_Stream.hxx>
#include <GEOMImpl_IBlocksOperations.hxx>
#ifndef _GEOMImpl_IBlocksOperations_HXX_
#define _GEOMImpl_IBlocksOperations_HXX_
+using namespace std;
+
#include "GEOM_IOperations.hxx"
#include <TopTools_ListOfShape.hxx>
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
+
+
#ifdef WNT
#pragma warning( disable:4786 )
#endif
+using namespace std;
+
#include <Standard_Stream.hxx>
#include <GEOMImpl_IHealingOperations.hxx>
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+using namespace std;
+
#ifndef _GEOMImpl_IHealingOperations_HXX_
#define _GEOMImpl_IHealingOperations_HXX_
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
+using namespace std;
+
#include <Standard_Stream.hxx>
#include <GEOMImpl_ILocalOperations.hxx>
#ifndef _GEOMImpl_ILocalOperations_HXX_
#define _GEOMImpl_ILocalOperations_HXX_
+using namespace std;
+
#include "Utils_SALOME_Exception.hxx"
#include "GEOM_IOperations.hxx"
#include "GEOM_Engine.hxx"
// Project : SALOME
// $Header$
+using namespace std;
+
#include <Standard_Stream.hxx>
#include "GEOMImpl_IShapesOperations.hxx"
Handle(GEOM_Function) aFunction = theShape->GetLastFunction();
GEOM::TPythonDump pd (aFunction, /*append=*/true);
pd << "[" << anAsciiList.ToCString();
- pd << "] = geompy.GetGlueFaces" << theShape << ", " << theTolerance << ")";
+ pd << "] = geompy.GetGlueFaces(" << theShape << ", " << theTolerance << ")";
SetErrorCode(OK);
#ifndef _GEOMImpl_IShapesOperations_HXX_
#define _GEOMImpl_IShapesOperations_HXX_
+using namespace std;
+
#include "GEOM_IOperations.hxx"
#include "GEOMAlgo_State.hxx"
aFW->Load(aWire);
aFW->FixReorder();
- if (aFW->StatusReorder(ShapeExtend_FAIL1)) {
+ if (aFW->StatusReorder(ShapeExtend_FAIL1)) {
Standard_ConstructionError::Raise("Wire construction failed: several loops detected");
} else if (aFW->StatusReorder(ShapeExtend_FAIL)) {
Standard_ConstructionError::Raise("Wire construction failed");
Standard_ConstructionError::Raise("Wire construction failed: some gaps detected");
} else {
}
+
+ aFW->ClosedWireMode() = Standard_False;
+ aFW->FixConnected();
+ if (aFW->StatusConnected(ShapeExtend_FAIL)) {
+ Standard_ConstructionError::Raise("Wire construction failed: cannot build connected wire");
+ }
+
aShape = aFW->WireAPIMake();
}
}
{
if ( !CORBA::is_nil(myGeomEngine) )
return;
- // get GEOM_Gen engine
- /*
- SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service );
- Engines::Component_var comp = lcc->FindOrLoad_Component( "FactoryServer", "GEOM" );
- */
+ // get GEOM_Gen engine
Engines::Container_var cont=GetContainerRef();
- cont->load_component_Library("GEOM");
- Engines::Component_var comp=cont->create_component_instance("GEOM",0);
+ CORBA::String_var container_name=cont->name();
+ std::string shortName=container_name.in();
+ shortName=shortName.substr(12); // substract "/Containers/"
+ SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service );
+ Engines::Component_var comp = lcc->FindOrLoad_Component( shortName.c_str(), "GEOM" );
+ delete lcc;
myGeomEngine = GEOM::GEOM_Gen::_narrow(comp);
}
#Create advanced objects
Copy = geompy.MakeCopy(Box) #(GEOM_Object_ptr)->GEOM_Object_ptr
Prism = geompy.MakePrismVecH(Face, vz, 100.0) #(2 GEOM_Object_ptr, Double)->GEOM_Object_ptr
+ Prism2Ways = geompy.MakePrismVecH2Ways(Face, vz, 10.0) #(2 GEOM_Object_ptr, Double)->GEOM_Object_ptr
Revolution = geompy.MakeRevolution(Face, vz, angle2) #
+ Revolution2Ways = geompy.MakeRevolution(Face, vz, angle1) #
Filling = geompy.MakeFilling(Compound, mindeg, maxdeg,
tol2d, tol3d, nbiter) #(GEOM_Object_ptr, 4 Doubles, Short)->GEOM_Object_ptr
Pipe = geompy.MakePipe(Wire, Edge) #(2 GEOM_Object_ptr)->GEOM_Object_ptr
id_Copy = geompy.addToStudy(Copy, "Copy")
id_Prism = geompy.addToStudy(Prism, "Prism")
+ id_Prism2Ways = geompy.addToStudy(Prism2Ways, "Prism2Ways")
id_Revolution = geompy.addToStudy(Revolution, "Revolution")
+ id_Revolution2Ways = geompy.addToStudy(Revolution2Ways, "Revolution2Ways")
id_Filling = geompy.addToStudy(Filling, "Filling")
id_Pipe = geompy.addToStudy(Pipe, "Pipe")
id_Sewing = geompy.addToStudy(Sewing, "Sewing")
anObj = self.PrimOp.MakePrismVecH(theBase, theVec, theH)
RaiseIfFailed("MakePrismVecH", self.PrimOp)
return anObj
+
+ ## Create a shape by extrusion of the base shape along the vector,
+ # i.e. all the space, transfixed by the base shape during its translation
+ # along the vector on the given distance in 2 Ways (forward/backward) .
+ # @param theBase Base shape to be extruded.
+ # @param theVec Direction of extrusion.
+ # @param theH Prism dimension along theVec in forward direction.
+ # @return New GEOM_Object, containing the created prism.
+ #
+ # Example: see GEOM_TestAll.py
+ def MakePrismVecH2Ways(self, theBase, theVec, theH):
+ anObj = self.PrimOp.MakePrismVecH2Ways(theBase, theVec, theH)
+ RaiseIfFailed("MakePrismVecH2Ways", self.PrimOp)
+ return anObj
## Create a shape by extrusion of the base shape along
# the path shape. The path shape can be a wire or an edge.
anObj = self.PrimOp.MakeRevolutionAxisAngle(theBase, theAxis, theAngle)
RaiseIfFailed("MakeRevolutionAxisAngle", self.PrimOp)
return anObj
+ ## The Same Revolution but in both ways forward&backward.
+ def MakeRevolution2Ways(self, theBase, theAxis, theAngle):
+ anObj = self.PrimOp.MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle)
+ RaiseIfFailed("MakeRevolutionAxisAngle2Ways", self.PrimOp)
+ return anObj
## Create a shell or solid passing through set of sections.Sections should be wires,edges or vertices.
# @param theSeqSections - set of specified sections.
## Create a filling from the given compound of contours.
# @param theShape the compound of contours
- # @param theMinDeg a minimal degree
- # @param theMaxDeg a maximal degree
- # @param theTol2D a 2d tolerance
- # @param theTol3D a 3d tolerance
- # @param theNbIter a number of iteration
+ # @param theMinDeg a minimal degree of BSpline surface to create
+ # @param theMaxDeg a maximal degree of BSpline surface to create
+ # @param theTol2D a 2d tolerance to be reached
+ # @param theTol3D a 3d tolerance to be reached
+ # @param theNbIter a number of iteration of approximation algorithm
# @return New GEOM_Object, containing the created filling surface.
#
# Example: see GEOM_TestAll.py
anObj = self.TrsfOp.TranslateVectorCopy(theObject, theVector)
RaiseIfFailed("TranslateVectorCopy", self.TrsfOp)
return anObj
-
+
## Rotate the given object around the given axis
# on the given angle, creating its copy before the rotatation.
# @param theObject The object to be rotated.
connect( mySubShapesChk, SIGNAL( stateChanged( int ) ), this, SLOT( onSubShapesChk() ) );
connect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
- SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()) );
+ SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()) );
connect(myDetectBtn, SIGNAL(clicked()), this, SLOT(onDetect()));
myEditCurrentArgument->setFocus();
- connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
- SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
+ connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
+ SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
qApp->processEvents();
updateGeometry();
//=================================================================================
void RepairGUI_GlueDlg::SelectionIntoArgument()
{
- if ( mySubShapesChk->isChecked() && getConstructorId() == 1 )
+ if ( mySubShapesChk->isChecked() && getConstructorId() == 1 ) {
+ updateButtonState();
return;
+ }
erasePreview();
myEditCurrentArgument->setText("");
void RepairGUI_GlueDlg::ActivateThisDialog()
{
GEOMBase_Skeleton::ActivateThisDialog();
- connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
+ connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
//GroupPoints->LineEdit1->setText("");
msg = tr( "THERE_ARE_NO_FACES_FOR_GLUING" );
}
+ connect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
+ SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()) ) ;
SUIT_MessageBox::info1( this, tr( "GEOM_FREE_BOUNDS_TLT" ), msg, "Close" );
updateButtonState();
activateSelection();
int anId = getConstructorId();
if ( anId == 0 ) // Case of whole gluing
{
- disconnect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
- SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()) ) ;
+ disconnect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
+ SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()) ) ;
globalSelection( GEOM_ALLSHAPES );
if (myObject->_is_nil())
SelectionIntoArgument();
- connect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
- SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()) ) ;
+ connect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
+ SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()) ) ;
}
else // Second case of gluing
{
else
{
displayPreview( true, false, false, 2/*line width*/, 1/*display mode*/, Quantity_NOC_RED );
+ disconnect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
+ SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()) ) ;
globalSelection( GEOM_PREVIEW );
- }
+ connect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(),
+ SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()) ) ;
+ }
}
-
updateViewer();
}
}
else
{
+ bool wasSelected = false;
+ SALOME_ListIteratorOfListIO it ( selectedIO() );
+ if (it.More() > 0)
+ wasSelected = true;
bool wasDetected = myTmpObjs.size() ? true : false;
- buttonOk->setEnabled( hasMainObj && wasDetected );
- buttonApply->setEnabled( hasMainObj && wasDetected );
+ buttonOk->setEnabled( hasMainObj && wasDetected && wasSelected);
+ buttonApply->setEnabled( hasMainObj && wasDetected && wasSelected);
mySubShapesChk->setEnabled( hasMainObj && wasDetected );
myDetectBtn->setEnabled( hasMainObj );
if ( !hasMainObj || !wasDetected )