mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-26 16:20:33 +05:00
DCQ : Add Animation Functions.
This commit is contained in:
parent
f81b4bfbe8
commit
eeb3c18d16
4
INSTALL
4
INSTALL
@ -1,3 +1,3 @@
|
||||
This is the version 1.3.0 of GEOM
|
||||
This is the version 1.4.0 of GEOM
|
||||
Compatible with :
|
||||
- KERNEL 1.3.0
|
||||
- KERNEL 1.4.0
|
||||
|
@ -21,8 +21,10 @@ GEOM_en.xml \
|
||||
GEOM_fr.xml \
|
||||
GEOMCatalog.xml \
|
||||
GEOMDS_Resources \
|
||||
animation.png \
|
||||
arc.png \
|
||||
archimede.png \
|
||||
assembly.png \
|
||||
axisinertia.png \
|
||||
basicproperties.png \
|
||||
bounding.png \
|
||||
@ -47,6 +49,7 @@ common.png \
|
||||
cone.png \
|
||||
conedxyz.png \
|
||||
conepointvector.png \
|
||||
contact.png \
|
||||
cut.png \
|
||||
cylinder.png \
|
||||
cylinderdxyz.png \
|
||||
@ -109,8 +112,11 @@ torus.png \
|
||||
torusdxyz.png \
|
||||
toruspointvector.png \
|
||||
translation.png \
|
||||
tree_animation.png \
|
||||
tree_assembly.png \
|
||||
tree_compound.png \
|
||||
tree_compsolid.png \
|
||||
tree_contact.png \
|
||||
tree_edge.png \
|
||||
tree_face.png \
|
||||
tree_shape.png \
|
||||
|
@ -1 +1 @@
|
||||
THIS IS SALOME - GEOM VERSION: 1.3.0
|
||||
THIS IS SALOME - GEOM VERSION: 1.4.0
|
||||
|
@ -3,7 +3,7 @@
|
||||
#---------------------------------------------------------------------------
|
||||
# General configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = "SALOME - GEOM - v.1.3.0"
|
||||
PROJECT_NAME = "SALOME - GEOM - v.1.4.0"
|
||||
PROJECT_NUMBER = id#1.1
|
||||
OUTPUT_DIRECTORY = ../
|
||||
OUTPUT_LANGUAGE = English
|
||||
|
@ -1,4 +1,4 @@
|
||||
foldersTree = gFld("<b>SALOME v.1.3.0 </b>", "", "")
|
||||
foldersTree = gFld("<b>SALOME v.1.4.0 </b>", "", "")
|
||||
insDoc(foldersTree, gLnk("Main Page", "", "main.html"))
|
||||
|
||||
aux1 = insFld(foldersTree, gFld("TUI Reference Guide", ""))
|
||||
|
@ -32,6 +32,7 @@ distclean: clean
|
||||
rm -rf INPUT
|
||||
|
||||
install:
|
||||
$(INSTALL) -d $(docdir); \
|
||||
cp -rf html $(docdir)
|
||||
|
||||
uninstall:
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "SALOME_Component.idl"
|
||||
#include "SALOMEDS.idl"
|
||||
#include "GEOM_Shape.idl"
|
||||
#include "GEOM_Kinematic.idl"
|
||||
|
||||
module GEOM
|
||||
{
|
||||
@ -315,11 +316,29 @@ module GEOM
|
||||
void ExportIGES(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ;
|
||||
void ExportBREP(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ;
|
||||
void ExportSTEP(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ;
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// Check Shape //
|
||||
//-----------------------------------------------------------//
|
||||
boolean CheckShape(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ;
|
||||
|
||||
//-----------------------------------------------------------//
|
||||
// Kinematic //
|
||||
//-----------------------------------------------------------//
|
||||
GEOM_Assembly InitAssembly() raises (SALOME::SALOME_Exception) ;
|
||||
|
||||
GEOM_Contact AddContact(in GEOM_Assembly Ass,
|
||||
in GEOM_Shape Shape1,
|
||||
in GEOM_Shape Shape2,
|
||||
in short type,
|
||||
in double step) raises (SALOME::SALOME_Exception) ;
|
||||
|
||||
GEOM_Animation AddAnimation(in GEOM_Assembly Ass,
|
||||
in GEOM_Shape Shape1,
|
||||
in double Duration,
|
||||
in short NbSeq,
|
||||
in boolean IsInLoop) raises (SALOME::SALOME_Exception) ;
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
|
195
idl/GEOM_Kinematic.idl
Normal file
195
idl/GEOM_Kinematic.idl
Normal file
@ -0,0 +1,195 @@
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Kinematic.idl
|
||||
// Author : Damien COQUERET
|
||||
|
||||
#ifndef __GEOM_Kinematic__
|
||||
#define __GEOM_Kinematic__
|
||||
|
||||
#include "SALOME_Exception.idl"
|
||||
#include "GEOM_Shape.idl"
|
||||
|
||||
module GEOM
|
||||
{
|
||||
|
||||
interface GEOM_Contact;
|
||||
typedef sequence<GEOM_Contact> ListOfContact;
|
||||
|
||||
//-----------------------------------------------------------------//
|
||||
// interface GEOM_Position methods //
|
||||
//-----------------------------------------------------------------//
|
||||
interface GEOM_Position {
|
||||
|
||||
void SetOrigin(in GEOM::PointStruct P0)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetVX(in GEOM::DirStruct Vect)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetVY(in GEOM::DirStruct Vect)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
void SetVZ(in GEOM::DirStruct Vect)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::PointStruct GetOrigin()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::DirStruct GetVX()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::DirStruct GetVY()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::DirStruct GetVZ()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------//
|
||||
// interface GEOM_Rotation methods //
|
||||
//-----------------------------------------------------------------//
|
||||
interface GEOM_Rotation {
|
||||
|
||||
void SetRotation(in long Rot1, in long Rot2, in long Rot3,
|
||||
in double Val1, in double Val2, in double Val3)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
long GetRot1()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
long GetRot2()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
long GetRot3()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
double GetVal1()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
double GetVal2()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
double GetVal3()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------//
|
||||
// interface GEOM_Translation methods //
|
||||
//-----------------------------------------------------------------//
|
||||
interface GEOM_Translation {
|
||||
|
||||
void SetTranslation(in double Val1, in double Val2, in double Val3)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
double GetVal1()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
double GetVal2()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
double GetVal3()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------//
|
||||
// interface GEOM_Assembly methods //
|
||||
//-----------------------------------------------------------------//
|
||||
interface GEOM_Assembly {
|
||||
|
||||
void AddContact(in GEOM::GEOM_Contact aContact)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::ListOfContact GetContactList()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
long NbContacts()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
attribute string Name;
|
||||
attribute string ShapeId;
|
||||
attribute string StudyShapeId;
|
||||
|
||||
GEOM_Gen Engine();
|
||||
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------//
|
||||
// interface GEOM_Contact methods //
|
||||
//-----------------------------------------------------------------//
|
||||
interface GEOM_Contact {
|
||||
|
||||
long GetType()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Shape GetShape1()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Shape GetShape2()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
double GetStep()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Position GetPosition()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Rotation GetRotation()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Translation GetTranslation()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
attribute string Name;
|
||||
attribute string ShapeId;
|
||||
attribute string StudyShapeId;
|
||||
|
||||
GEOM_Gen Engine();
|
||||
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------//
|
||||
// interface GEOM_Animation methods //
|
||||
//-----------------------------------------------------------------//
|
||||
interface GEOM_Animation {
|
||||
|
||||
GEOM::GEOM_Assembly GetAssembly()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Shape GetFrame()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
double GetDuration()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
long GetNbSeq()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
boolean GetIsInLoop()
|
||||
raises (SALOME::SALOME_Exception);
|
||||
|
||||
attribute string Name;
|
||||
attribute string ShapeId;
|
||||
attribute string StudyShapeId;
|
||||
|
||||
GEOM_Gen Engine();
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
#endif
|
@ -12,6 +12,7 @@ VPATH=.:$(srcdir):${KERNEL_ROOT_DIR}/idl/salome
|
||||
|
||||
IDL_FILES = \
|
||||
GEOM_Shape.idl \
|
||||
GEOM_Kinematic.idl \
|
||||
GEOM_Gen.idl
|
||||
|
||||
PY_CLIENT_IDL = $(IDL_FILES)
|
||||
|
@ -136,8 +136,29 @@
|
||||
</menu-item>
|
||||
|
||||
|
||||
<!-- ************************** Kinematic (menubar) ************************************ -->
|
||||
<menu-item label-id="Kinematic" item-id="61" pos-id="6">
|
||||
<popup-item item-id="611" pos-id="" label-id="Add Assembly" icon-id="assembly.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<submenu label-id="Add Contact" item-id="612" icon-id="contact.png" pos-id="">
|
||||
<popup-item item-id="61201" pos-id="" label-id="Embedding" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<popup-item item-id="61202" pos-id="" label-id="Pivot" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<popup-item item-id="61203" pos-id="" label-id="Slide" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<popup-item item-id="61204" pos-id="" label-id="Sliding Pivot" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<popup-item item-id="61205" pos-id="" label-id="Spherical" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<popup-item item-id="61206" pos-id="" label-id="Plane" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<popup-item item-id="61207" pos-id="" label-id="Annular" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<popup-item item-id="61208" pos-id="" label-id="Rectilinear" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<popup-item item-id="61209" pos-id="" label-id="Ponctual" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<separator pos-id=""/>
|
||||
<popup-item item-id="61210" pos-id="" label-id="Helicoïdal" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
</submenu>
|
||||
<endsubmenu />
|
||||
<popup-item item-id="614" pos-id="" label-id="Add Animation" icon-id="animation.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
</menu-item>
|
||||
|
||||
|
||||
<!-- ************************** Mesures (menubar) ************************************ -->
|
||||
<menu-item label-id="Measures" item-id="70" pos-id="6">
|
||||
<menu-item label-id="Measures" item-id="70" pos-id="7">
|
||||
<popup-item item-id="701" pos-id="" label-id="Basic properties" icon-id="basicproperties.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<separator pos-id="4"/>
|
||||
<popup-item item-id="702" pos-id="" label-id="Center of gravity" icon-id="centergravity.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
@ -155,6 +176,7 @@
|
||||
<popup-item item-id="707" pos-id="" label-id="Check" icon-id="check.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
</menu-item>
|
||||
|
||||
|
||||
<!-- ********************************* Tools (menubar) ************************************ -->
|
||||
<menu-item label-id="Tools" item-id="5" pos-id="">
|
||||
<separator pos-id=""/>
|
||||
@ -175,6 +197,7 @@
|
||||
<separator pos-id="-1"/>
|
||||
</menu-item>
|
||||
|
||||
|
||||
<!-- ***************************** View (menubar) ************************************ -->
|
||||
<menu-item label-id="View" item-id="2" pos-id="">
|
||||
<submenu label-id="Display mode" item-id="21" pos-id="5">
|
||||
@ -257,6 +280,26 @@
|
||||
<popup-item item-id="901" pos-id="" label-id="Rename" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
</popupmenu>
|
||||
|
||||
<popupmenu label-id="Popup for ObjectBrowser" context-id="" parent-id="ObjectBrowser" object-id="Assembly">
|
||||
<popup-item item-id="901" pos-id="" label-id="Rename" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<separator pos-id=""/>
|
||||
<popup-item item-id="61201" pos-id="" label-id="Add Contact" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
</popupmenu>
|
||||
|
||||
<popupmenu label-id="Popup for ObjectBrowser" context-id="" parent-id="ObjectBrowser" object-id="Contact">
|
||||
<popup-item item-id="901" pos-id="" label-id="Rename" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<separator pos-id=""/>
|
||||
<popup-item item-id="6131" pos-id="" label-id="Position" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<popup-item item-id="6132" pos-id="" label-id="Rotation" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<popup-item item-id="6133" pos-id="" label-id="Translation" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
</popupmenu>
|
||||
|
||||
<popupmenu label-id="Popup for ObjectBrowser" context-id="" parent-id="ObjectBrowser" object-id="Animation">
|
||||
<popup-item item-id="901" pos-id="" label-id="Rename" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
<separator pos-id=""/>
|
||||
<popup-item item-id="6141" pos-id="" label-id="Run Animation" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
</popupmenu>
|
||||
|
||||
<popupmenu label-id="Sketch" context-id="Sketch" parent-id="Viewer" object-id="">
|
||||
<popup-item item-id="4041" pos-id="" label-id="Segment" icon-id="" tooltip-id="" accel-id="" toggle-id="true" execute-action=""/>
|
||||
<popup-item item-id="4042" pos-id="" label-id="Arc" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
|
||||
|
BIN
resources/animation.png
Normal file
BIN
resources/animation.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 276 B |
BIN
resources/assembly.png
Normal file
BIN
resources/assembly.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 285 B |
BIN
resources/contact.png
Normal file
BIN
resources/contact.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 209 B |
BIN
resources/tree_animation.png
Normal file
BIN
resources/tree_animation.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 163 B |
BIN
resources/tree_assembly.png
Normal file
BIN
resources/tree_assembly.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 151 B |
BIN
resources/tree_contact.png
Normal file
BIN
resources/tree_contact.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 144 B |
@ -61,7 +61,7 @@ LIB_MOC = \
|
||||
BasicGUI_PlaneDlg.h \
|
||||
BasicGUI_WorkingPlaneDlg.h
|
||||
|
||||
LIB_CLIENT_IDL =
|
||||
LIB_CLIENT_IDL = GEOM_Kinematic.idl
|
||||
|
||||
LIB_SERVER_IDL =
|
||||
|
||||
|
@ -85,9 +85,6 @@ void BooleanGUI_CommonDlg::Init()
|
||||
{
|
||||
/* init variables */
|
||||
myEditCurrentArgument = GroupCommon->LineEdit1;
|
||||
|
||||
myShape1.Nullify();
|
||||
myShape2.Nullify();
|
||||
myOkShape1 = myOkShape2 = false;
|
||||
|
||||
/* signals and slots connections */
|
||||
@ -167,7 +164,6 @@ void BooleanGUI_CommonDlg::SelectionIntoArgument()
|
||||
myGeomShape1 = myGeomBase->ConvertIOinGEOMShape(IO, testResult);
|
||||
if(!testResult)
|
||||
return;
|
||||
myShape1 = S;
|
||||
GroupCommon->LineEdit1->setText(aString);
|
||||
myOkShape1 = true;
|
||||
}
|
||||
@ -175,7 +171,6 @@ void BooleanGUI_CommonDlg::SelectionIntoArgument()
|
||||
myGeomShape2 = myGeomBase->ConvertIOinGEOMShape(IO, testResult);
|
||||
if(!testResult)
|
||||
return;
|
||||
myShape2 = S;
|
||||
GroupCommon->LineEdit2->setText(aString);
|
||||
myOkShape2 = true;
|
||||
}
|
||||
|
@ -54,8 +54,6 @@ private:
|
||||
|
||||
BooleanGUI* myBooleanGUI;
|
||||
|
||||
TopoDS_Shape myShape1; /* topology used */
|
||||
TopoDS_Shape myShape2; /* topology used */
|
||||
GEOM::GEOM_Shape_var myGeomShape1; /* is myShape1 */
|
||||
GEOM::GEOM_Shape_var myGeomShape2; /* is myShape2 */
|
||||
bool myOkShape1;
|
||||
|
@ -84,9 +84,6 @@ void BooleanGUI_CutDlg::Init()
|
||||
{
|
||||
/* init variables */
|
||||
myEditCurrentArgument = GroupCut->LineEdit1;
|
||||
|
||||
myShape1.Nullify();
|
||||
myShape2.Nullify();
|
||||
myOkShape1 = myOkShape2 = false;
|
||||
|
||||
/* signals and slots connections */
|
||||
@ -166,7 +163,6 @@ void BooleanGUI_CutDlg::SelectionIntoArgument()
|
||||
myGeomShape1 = myGeomBase->ConvertIOinGEOMShape(IO, testResult);
|
||||
if(!testResult)
|
||||
return;
|
||||
myShape1 = S;
|
||||
GroupCut->LineEdit1->setText(aString);
|
||||
myOkShape1 = true;
|
||||
}
|
||||
@ -174,7 +170,6 @@ void BooleanGUI_CutDlg::SelectionIntoArgument()
|
||||
myGeomShape2 = myGeomBase->ConvertIOinGEOMShape(IO, testResult);
|
||||
if(!testResult)
|
||||
return;
|
||||
myShape2 = S;
|
||||
GroupCut->LineEdit2->setText(aString);
|
||||
myOkShape2 = true;
|
||||
}
|
||||
|
@ -54,8 +54,6 @@ private:
|
||||
|
||||
BooleanGUI* myBooleanGUI;
|
||||
|
||||
TopoDS_Shape myShape1; /* topology used to fuse */
|
||||
TopoDS_Shape myShape2; /* topology used to fuse */
|
||||
GEOM::GEOM_Shape_var myGeomShape1; /* is myShape1 */
|
||||
GEOM::GEOM_Shape_var myGeomShape2; /* is myShape2 */
|
||||
bool myOkShape1; /* to check when arguments are defined */
|
||||
|
@ -84,9 +84,6 @@ void BooleanGUI_FuseDlg::Init()
|
||||
{
|
||||
/* init variables */
|
||||
myEditCurrentArgument = GroupFuse->LineEdit1;
|
||||
|
||||
myShape1.Nullify();
|
||||
myShape2.Nullify();
|
||||
myOkShape1 = myOkShape2 = false;
|
||||
|
||||
/* signals and slots connections */
|
||||
@ -166,7 +163,6 @@ void BooleanGUI_FuseDlg::SelectionIntoArgument()
|
||||
myGeomShape1 = myGeomBase->ConvertIOinGEOMShape(IO, testResult);
|
||||
if(!testResult)
|
||||
return;
|
||||
myShape1 = S;
|
||||
GroupFuse->LineEdit1->setText(aString);
|
||||
myOkShape1 = true;
|
||||
}
|
||||
@ -174,7 +170,6 @@ void BooleanGUI_FuseDlg::SelectionIntoArgument()
|
||||
myGeomShape2 = myGeomBase->ConvertIOinGEOMShape(IO, testResult);
|
||||
if(!testResult)
|
||||
return;
|
||||
myShape2 = S;
|
||||
GroupFuse->LineEdit2->setText(aString);
|
||||
myOkShape2 = true;
|
||||
}
|
||||
|
@ -54,8 +54,6 @@ private:
|
||||
|
||||
BooleanGUI* myBooleanGUI;
|
||||
|
||||
TopoDS_Shape myShape1; /* topology used to fuse */
|
||||
TopoDS_Shape myShape2; /* topology used to fuse */
|
||||
GEOM::GEOM_Shape_var myGeomShape1; /* is myShape1 */
|
||||
GEOM::GEOM_Shape_var myGeomShape2; /* is myShape2 */
|
||||
bool myOkShape1; /* to check when arguments are defined */
|
||||
|
@ -85,9 +85,6 @@ void BooleanGUI_SectionDlg::Init()
|
||||
{
|
||||
/* init variables */
|
||||
myEditCurrentArgument = GroupSection->LineEdit1;
|
||||
|
||||
myShape1.Nullify();
|
||||
myShape2.Nullify();
|
||||
myOkShape1 = myOkShape2 = false;
|
||||
|
||||
/* signals and slots connections */
|
||||
@ -167,7 +164,6 @@ void BooleanGUI_SectionDlg::SelectionIntoArgument()
|
||||
myGeomShape1 = myGeomBase->ConvertIOinGEOMShape(IO, testResult);
|
||||
if(!testResult)
|
||||
return;
|
||||
myShape1 = S;
|
||||
GroupSection->LineEdit1->setText(aString);
|
||||
myOkShape1 = true;
|
||||
}
|
||||
@ -175,7 +171,6 @@ void BooleanGUI_SectionDlg::SelectionIntoArgument()
|
||||
myGeomShape2 = myGeomBase->ConvertIOinGEOMShape(IO, testResult);
|
||||
if(!testResult)
|
||||
return;
|
||||
myShape2 = S;
|
||||
GroupSection->LineEdit2->setText(aString);
|
||||
myOkShape2 = true;
|
||||
}
|
||||
|
@ -54,8 +54,6 @@ private:
|
||||
|
||||
BooleanGUI* myBooleanGUI;
|
||||
|
||||
TopoDS_Shape myShape1; /* topology used to fuse */
|
||||
TopoDS_Shape myShape2; /* topology used to fuse */
|
||||
GEOM::GEOM_Shape_var myGeomShape1; /* is myShape1 */
|
||||
GEOM::GEOM_Shape_var myGeomShape2; /* is myShape2 */
|
||||
bool myOkShape1; /* to check when arguments are defined */
|
||||
|
@ -53,7 +53,7 @@ LIB_MOC = \
|
||||
BooleanGUI_CutDlg.h \
|
||||
BooleanGUI_SectionDlg.h
|
||||
|
||||
LIB_CLIENT_IDL =
|
||||
LIB_CLIENT_IDL = GEOM_Kinematic.idl
|
||||
|
||||
LIB_SERVER_IDL =
|
||||
|
||||
|
@ -57,7 +57,7 @@ LIB_MOC = \
|
||||
BuildGUI_SolidDlg.h \
|
||||
BuildGUI_CompoundDlg.h
|
||||
|
||||
LIB_CLIENT_IDL =
|
||||
LIB_CLIENT_IDL = GEOM_Kinematic.idl
|
||||
|
||||
LIB_SERVER_IDL =
|
||||
|
||||
|
@ -232,6 +232,11 @@ void DisplayGUI::BuildPresentation(const Handle(SALOME_InteractiveObject)& theIO
|
||||
if(theIO.IsNull())
|
||||
MESSAGE("BuildPresentation(): null SALOME_InteractiveObject passed")
|
||||
|
||||
Standard_Boolean testResult;
|
||||
GEOM::GEOM_Shape_var myGeomShape = myDisplayGUI->myGeomBase->ConvertIOinGEOMShape(theIO, testResult);
|
||||
if(!testResult)
|
||||
return;
|
||||
|
||||
if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_VTK) {
|
||||
// VTK
|
||||
|
||||
@ -440,6 +445,7 @@ void DisplayGUI::BuildPresentation(const Handle(SALOME_InteractiveObject)& theIO
|
||||
}
|
||||
Handle(GEOM_AISShape) aSh = new GEOM_AISShape(Shape, aName->Value());
|
||||
aSh->SetShadingColor(myDisplayGUI->myGeomBase->myShadingColor);
|
||||
aSh->SetInfiniteState(Shape.Infinite());
|
||||
Handle(GEOM_InteractiveObject) IO = new GEOM_InteractiveObject(anIOR->Value(), myDisplayGUI->myGeomGUI->GetFatherior(), "GEOM");
|
||||
IO->setEntry(obj->GetID());
|
||||
aSh->setIO(IO);
|
||||
|
@ -45,7 +45,7 @@ LIB_SRC = DisplayGUI.cxx
|
||||
LIB_MOC = \
|
||||
DisplayGUI.h
|
||||
|
||||
LIB_CLIENT_IDL = SALOME_Exception.idl
|
||||
LIB_CLIENT_IDL = SALOME_Exception.idl GEOM_Kinematic.idl
|
||||
|
||||
LIB_SERVER_IDL =
|
||||
|
||||
|
@ -198,7 +198,7 @@ void EntityGUI_SubShapeDlg::ClickOnApply()
|
||||
QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_DONE"));
|
||||
|
||||
/* Reset all arguments and local context to allow user a new selection ...*/
|
||||
this->ResetStateOfDialog();
|
||||
//this->ResetStateOfDialog();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ LIB_MOC = \
|
||||
EntityGUI.h \
|
||||
EntityGUI_SubShapeDlg.h
|
||||
|
||||
LIB_CLIENT_IDL =
|
||||
LIB_CLIENT_IDL = GEOM_Kinematic.idl
|
||||
|
||||
LIB_SERVER_IDL =
|
||||
|
||||
|
174
src/GEOM/GEOM_Animation_i.cc
Normal file
174
src/GEOM/GEOM_Animation_i.cc
Normal file
@ -0,0 +1,174 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Animation_i.cc
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "GEOM_Animation_i.hh"
|
||||
|
||||
//=================================================================================
|
||||
// function : GEOM_Animation_i() constructor (no arguments)
|
||||
// purpose : for what now ?
|
||||
//=================================================================================
|
||||
GEOM_Animation_i::GEOM_Animation_i()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : constructor
|
||||
// purpose : constructor for servant creation
|
||||
//=================================================================================
|
||||
GEOM_Animation_i::GEOM_Animation_i(Kinematic_Animation* Animation,
|
||||
GEOM::GEOM_Assembly_ptr Ass,
|
||||
GEOM::GEOM_Shape_ptr Frame,
|
||||
CORBA::ORB_ptr orb,
|
||||
GEOM::GEOM_Gen_ptr engine)
|
||||
{
|
||||
_Animation = Animation;
|
||||
_Ass = GEOM::GEOM_Assembly::_duplicate(Ass);
|
||||
_Frame = GEOM::GEOM_Shape::_duplicate(Frame);
|
||||
|
||||
_orb = orb;
|
||||
_engine = engine;
|
||||
|
||||
_shapeid = "";
|
||||
_studyshapeid = "";
|
||||
|
||||
_name = "";
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : destructor
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM_Animation_i::~GEOM_Animation_i() { delete &_Animation; }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetAssembly()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::GEOM_Assembly_ptr GEOM_Animation_i::GetAssembly() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return GEOM::GEOM_Assembly::_duplicate(_Ass);
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetFrame()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::GEOM_Shape_ptr GEOM_Animation_i::GetFrame() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return GEOM::GEOM_Shape::_duplicate(_Frame);
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetDuration()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Double GEOM_Animation_i::GetDuration() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Animation->Duration();
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetDuration()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Long GEOM_Animation_i::GetNbSeq() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Animation->NbSeq();
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetDuration()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Boolean GEOM_Animation_i::GetIsInLoop() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Animation->IsInLoop();
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : Name (set method)
|
||||
// purpose : to set the attribute 'name'.
|
||||
// : WARNING : Register to naming service actually removed !
|
||||
//=================================================================================
|
||||
void GEOM_Animation_i::Name(const char* name)
|
||||
{
|
||||
_name = strdup(name);
|
||||
GEOM::GEOM_Animation_ptr g = GEOM::GEOM_Animation::_narrow(_this());
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : Name (get method)
|
||||
// purpose : to get the attribute 'name' of this shape
|
||||
//=================================================================================
|
||||
char* GEOM_Animation_i::Name() { return strdup(_name); }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ShapeId
|
||||
// purpose : to get the id of this shape from GEOM (OCAF entry)
|
||||
//=================================================================================
|
||||
char* GEOM_Animation_i::ShapeId() { return strdup(_shapeid); }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ShapeId (set method)
|
||||
// purpose : to set the id of this shape in GEOM/OCAF doc
|
||||
//=================================================================================
|
||||
void GEOM_Animation_i::ShapeId(const char * shapeid) { _shapeid = strdup(shapeid); }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : StudyShapeId (get method)
|
||||
// purpose : to get the id of this shape from the study document (OCAF entry)
|
||||
//=================================================================================
|
||||
char* GEOM_Animation_i::StudyShapeId() { return strdup(_studyshapeid) ; }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : StudyShapeId (set method)
|
||||
// purpose : to set the id of this shape in the Study document (OCAF entry)
|
||||
//=================================================================================
|
||||
void GEOM_Animation_i::StudyShapeId(const char * studyshapeid)
|
||||
{ _studyshapeid = strdup(studyshapeid); }
|
||||
|
||||
|
||||
//=======================================================================
|
||||
//function : Engine
|
||||
//purpose : return generator engine
|
||||
//=======================================================================
|
||||
GEOM::GEOM_Gen_ptr GEOM_Animation_i::Engine() { return _engine; }
|
97
src/GEOM/GEOM_Animation_i.hh
Normal file
97
src/GEOM/GEOM_Animation_i.hh
Normal file
@ -0,0 +1,97 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Animation_i.hh
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
#ifndef __GEOM_ANIMATION_I_H__
|
||||
#define __GEOM_ANIMATION_I_H__
|
||||
|
||||
// IDL headers
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_SERVER_HEADER(GEOM_Gen)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Shape)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Kinematic)
|
||||
|
||||
#include "GEOM_Shape_i.hh"
|
||||
#include "Kinematic_Animation.hxx"
|
||||
|
||||
//=====================================================================
|
||||
// GEOM_Animation_i : class definition
|
||||
//=====================================================================
|
||||
class GEOM_Animation_i:
|
||||
public POA_GEOM::GEOM_Animation
|
||||
{
|
||||
public:
|
||||
GEOM_Animation_i();
|
||||
GEOM_Animation_i(Kinematic_Animation* Animation,
|
||||
GEOM::GEOM_Assembly_ptr Ass,
|
||||
GEOM::GEOM_Shape_ptr Frame,
|
||||
CORBA::ORB_ptr orb,
|
||||
GEOM::GEOM_Gen_ptr engine);
|
||||
|
||||
~GEOM_Animation_i();
|
||||
|
||||
private:
|
||||
Kinematic_Animation* _Animation;
|
||||
GEOM::GEOM_Assembly_ptr _Ass;
|
||||
GEOM::GEOM_Shape_ptr _Frame;
|
||||
CORBA::ORB_ptr _orb;
|
||||
GEOM::GEOM_Gen_ptr _engine;
|
||||
|
||||
char* _name;
|
||||
char* _shapeid;
|
||||
char* _studyshapeid; // exists only if added in the study document
|
||||
|
||||
public:
|
||||
GEOM::GEOM_Assembly_ptr GetAssembly()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Shape_ptr GetFrame()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Double GetDuration()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Long GetNbSeq()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Boolean GetIsInLoop()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
char* Name();
|
||||
void Name(const char* name);
|
||||
|
||||
char* ShapeId();
|
||||
void ShapeId(const char* shapeid);
|
||||
|
||||
char* StudyShapeId();
|
||||
void StudyShapeId(const char* studyshapeid);
|
||||
|
||||
GEOM::GEOM_Gen_ptr Engine();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
160
src/GEOM/GEOM_Assembly_i.cc
Normal file
160
src/GEOM/GEOM_Assembly_i.cc
Normal file
@ -0,0 +1,160 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Assembly_i.cc
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "GEOM_Assembly_i.hh"
|
||||
|
||||
//=================================================================================
|
||||
// function : GEOM_Assembly_i() constructor (no arguments)
|
||||
// purpose : for what now ?
|
||||
//=================================================================================
|
||||
GEOM_Assembly_i::GEOM_Assembly_i()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : constructor
|
||||
// purpose : constructor for servant creation
|
||||
//=================================================================================
|
||||
GEOM_Assembly_i::GEOM_Assembly_i(Kinematic_Assembly* Ass,
|
||||
CORBA::ORB_ptr orb,
|
||||
GEOM::GEOM_Gen_ptr engine)
|
||||
{
|
||||
_Ass = Ass;
|
||||
_orb = orb;
|
||||
_engine = engine;
|
||||
|
||||
_aContactList.length(0);
|
||||
_NbContact = 0;
|
||||
|
||||
_shapeid = "";
|
||||
_studyshapeid = "";
|
||||
|
||||
_name = "";
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : destructor
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM_Assembly_i::~GEOM_Assembly_i() { delete &_Ass; }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : AddContact()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void GEOM_Assembly_i::AddContact(GEOM::GEOM_Contact_ptr aContact) throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
_aContactList.length(_NbContact + 1);
|
||||
_aContactList[_NbContact] = GEOM::GEOM_Contact::_duplicate(aContact);
|
||||
_NbContact++;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetContactList()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::ListOfContact* GEOM_Assembly_i::GetContactList() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
GEOM::ListOfContact_var aContactList = new GEOM::ListOfContact;
|
||||
aContactList->length(_aContactList.length());
|
||||
for(int i = 0; i < _NbContact; i++) {
|
||||
aContactList[i] = GEOM::GEOM_Contact::_duplicate(_aContactList[i]);
|
||||
}
|
||||
return aContactList._retn();
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : NbContacts()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Long GEOM_Assembly_i::NbContacts() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _NbContact;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : Name (set method)
|
||||
// purpose : to set the attribute 'name'.
|
||||
// : WARNING : Register to naming service actually removed !
|
||||
//=================================================================================
|
||||
void GEOM_Assembly_i::Name(const char* name)
|
||||
{
|
||||
_name = strdup(name);
|
||||
GEOM::GEOM_Assembly_ptr g = GEOM::GEOM_Assembly::_narrow(_this());
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : Name (get method)
|
||||
// purpose : to get the attribute 'name' of this shape
|
||||
//=================================================================================
|
||||
char* GEOM_Assembly_i::Name() { return strdup(_name); }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ShapeId
|
||||
// purpose : to get the id of this shape from GEOM (OCAF entry)
|
||||
//=================================================================================
|
||||
char* GEOM_Assembly_i::ShapeId() { return strdup(_shapeid); }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ShapeId (set method)
|
||||
// purpose : to set the id of this shape in GEOM/OCAF doc
|
||||
//=================================================================================
|
||||
void GEOM_Assembly_i::ShapeId(const char * shapeid) { _shapeid = strdup(shapeid); }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : StudyShapeId (get method)
|
||||
// purpose : to get the id of this shape from the study document (OCAF entry)
|
||||
//=================================================================================
|
||||
char* GEOM_Assembly_i::StudyShapeId() { return strdup(_studyshapeid) ; }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : StudyShapeId (set method)
|
||||
// purpose : to set the id of this shape in the Study document (OCAF entry)
|
||||
//=================================================================================
|
||||
void GEOM_Assembly_i::StudyShapeId(const char * studyshapeid)
|
||||
{ _studyshapeid = strdup(studyshapeid); }
|
||||
|
||||
|
||||
//=======================================================================
|
||||
//function : Engine
|
||||
//purpose : return generator engine
|
||||
//=======================================================================
|
||||
GEOM::GEOM_Gen_ptr GEOM_Assembly_i::Engine() { return _engine; }
|
89
src/GEOM/GEOM_Assembly_i.hh
Normal file
89
src/GEOM/GEOM_Assembly_i.hh
Normal file
@ -0,0 +1,89 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Assembly_i.hh
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
#ifndef __GEOM_ASSEMBLY_I_H__
|
||||
#define __GEOM_ASSEMBLY_I_H__
|
||||
|
||||
// IDL headers
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_SERVER_HEADER(GEOM_Gen)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Shape)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Kinematic)
|
||||
|
||||
#include "Kinematic_Assembly.hxx"
|
||||
|
||||
//=====================================================================
|
||||
// GEOM_Assembly_i : class definition
|
||||
//=====================================================================
|
||||
class GEOM_Assembly_i:
|
||||
public POA_GEOM::GEOM_Assembly
|
||||
{
|
||||
public:
|
||||
GEOM_Assembly_i();
|
||||
GEOM_Assembly_i(Kinematic_Assembly* Ass,
|
||||
CORBA::ORB_ptr orb,
|
||||
GEOM::GEOM_Gen_ptr engine);
|
||||
|
||||
~GEOM_Assembly_i();
|
||||
|
||||
private:
|
||||
Kinematic_Assembly* _Ass;
|
||||
CORBA::ORB_ptr _orb;
|
||||
GEOM::GEOM_Gen_ptr _engine;
|
||||
|
||||
GEOM::ListOfContact _aContactList;
|
||||
CORBA::Long _NbContact;
|
||||
|
||||
char* _name;
|
||||
char* _shapeid;
|
||||
char* _studyshapeid; // exists only if added in the study document
|
||||
|
||||
public:
|
||||
void AddContact(GEOM::GEOM_Contact_ptr aContact)
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::ListOfContact* GetContactList()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Long NbContacts()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
char* Name();
|
||||
void Name(const char* name);
|
||||
|
||||
char* ShapeId();
|
||||
void ShapeId(const char* shapeid);
|
||||
|
||||
char* StudyShapeId();
|
||||
void StudyShapeId(const char* studyshapeid);
|
||||
|
||||
GEOM::GEOM_Gen_ptr Engine();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
212
src/GEOM/GEOM_Contact_i.cc
Normal file
212
src/GEOM/GEOM_Contact_i.cc
Normal file
@ -0,0 +1,212 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Contact_i.cc
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "GEOM_Contact_i.hh"
|
||||
#include "GEOM_Position_i.hh"
|
||||
#include "GEOM_Rotation_i.hh"
|
||||
#include "GEOM_Translation_i.hh"
|
||||
|
||||
//=================================================================================
|
||||
// function : GEOM_Contact_i() constructor (no arguments)
|
||||
// purpose : for what now ?
|
||||
//=================================================================================
|
||||
GEOM_Contact_i::GEOM_Contact_i()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : constructor
|
||||
// purpose : constructor for servant creation
|
||||
//=================================================================================
|
||||
GEOM_Contact_i::GEOM_Contact_i(Kinematic_Contact* Contact,
|
||||
GEOM::GEOM_Shape_ptr Shape1,
|
||||
GEOM::GEOM_Shape_ptr Shape2,
|
||||
CORBA::ORB_ptr orb,
|
||||
GEOM::GEOM_Gen_ptr engine)
|
||||
{
|
||||
_Contact = Contact;
|
||||
_Shape1 = GEOM::GEOM_Shape::_duplicate(Shape1);
|
||||
_Shape2 = GEOM::GEOM_Shape::_duplicate(Shape2);
|
||||
|
||||
GEOM::PointStruct p0 = engine->MakePointStruct(0, 0, 0);
|
||||
GEOM::PointStruct pX = engine->MakePointStruct(1, 0, 0);
|
||||
GEOM::PointStruct pY = engine->MakePointStruct(0, 1, 0);
|
||||
GEOM::PointStruct pZ = engine->MakePointStruct(0, 0, 1);
|
||||
GEOM::DirStruct VX = engine->MakeDirection(pX);
|
||||
GEOM::DirStruct VY = engine->MakeDirection(pY);
|
||||
GEOM::DirStruct VZ = engine->MakeDirection(pZ);
|
||||
GEOM_Position_i * Position_servant = new GEOM_Position_i(p0, VX, VY, VZ);
|
||||
_Position = GEOM::GEOM_Position::_narrow(Position_servant->_this());
|
||||
|
||||
GEOM_Rotation_i * Rotation_servant = new GEOM_Rotation_i(1, 2, 3, 0, 0, 0);
|
||||
_Rotation = GEOM::GEOM_Rotation::_narrow(Rotation_servant->_this());
|
||||
GEOM_Translation_i * Translation_servant = new GEOM_Translation_i(0, 0, 0);
|
||||
_Translation = GEOM::GEOM_Translation::_narrow(Translation_servant->_this());
|
||||
|
||||
_orb = orb;
|
||||
_engine = engine;
|
||||
|
||||
_shapeid = "";
|
||||
_studyshapeid = "";
|
||||
|
||||
_name = "";
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : destructor
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM_Contact_i::~GEOM_Contact_i() { delete &_Contact; }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetType()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Long GEOM_Contact_i::GetType() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Contact->Type();
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetShape1()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::GEOM_Shape_ptr GEOM_Contact_i::GetShape1() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return GEOM::GEOM_Shape::_duplicate(_Shape1);
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetShape2()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::GEOM_Shape_ptr GEOM_Contact_i::GetShape2() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return GEOM::GEOM_Shape::_duplicate(_Shape2);
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetPosition()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::GEOM_Position_ptr GEOM_Contact_i::GetPosition() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return GEOM::GEOM_Position::_duplicate(_Position);
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetRotation()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::GEOM_Rotation_ptr GEOM_Contact_i::GetRotation() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return GEOM::GEOM_Rotation::_duplicate(_Rotation);
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetTranslation()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::GEOM_Translation_ptr GEOM_Contact_i::GetTranslation() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return GEOM::GEOM_Translation::_duplicate(_Translation);
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetStep()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Double GEOM_Contact_i::GetStep() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Contact->Step();
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : Name (set method)
|
||||
// purpose : to set the attribute 'name'.
|
||||
// : WARNING : Register to naming service actually removed !
|
||||
//=================================================================================
|
||||
void GEOM_Contact_i::Name(const char* name)
|
||||
{
|
||||
_name = strdup(name);
|
||||
GEOM::GEOM_Contact_ptr g = GEOM::GEOM_Contact::_narrow(_this());
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : Name (get method)
|
||||
// purpose : to get the attribute 'name' of this shape
|
||||
//=================================================================================
|
||||
char* GEOM_Contact_i::Name() { return strdup(_name); }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ShapeId
|
||||
// purpose : to get the id of this shape from GEOM (OCAF entry)
|
||||
//=================================================================================
|
||||
char* GEOM_Contact_i::ShapeId() { return strdup(_shapeid); }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ShapeId (set method)
|
||||
// purpose : to set the id of this shape in GEOM/OCAF doc
|
||||
//=================================================================================
|
||||
void GEOM_Contact_i::ShapeId(const char * shapeid) { _shapeid = strdup(shapeid); }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : StudyShapeId (get method)
|
||||
// purpose : to get the id of this shape from the study document (OCAF entry)
|
||||
//=================================================================================
|
||||
char* GEOM_Contact_i::StudyShapeId() { return strdup(_studyshapeid) ; }
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : StudyShapeId (set method)
|
||||
// purpose : to set the id of this shape in the Study document (OCAF entry)
|
||||
//=================================================================================
|
||||
void GEOM_Contact_i::StudyShapeId(const char * studyshapeid)
|
||||
{ _studyshapeid = strdup(studyshapeid); }
|
||||
|
||||
|
||||
//=======================================================================
|
||||
//function : Engine
|
||||
//purpose : return generator engine
|
||||
//=======================================================================
|
||||
GEOM::GEOM_Gen_ptr GEOM_Contact_i::Engine() { return _engine; }
|
106
src/GEOM/GEOM_Contact_i.hh
Normal file
106
src/GEOM/GEOM_Contact_i.hh
Normal file
@ -0,0 +1,106 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Contact_i.hh
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
#ifndef __GEOM_CONTACT_I_H__
|
||||
#define __GEOM_CONTACT_I_H__
|
||||
|
||||
// IDL headers
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_SERVER_HEADER(GEOM_Gen)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Shape)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Kinematic)
|
||||
|
||||
#include "GEOM_Shape_i.hh"
|
||||
#include "Kinematic_Contact.hxx"
|
||||
|
||||
//=====================================================================
|
||||
// GEOM_Contact_i : class definition
|
||||
//=====================================================================
|
||||
class GEOM_Contact_i:
|
||||
public POA_GEOM::GEOM_Contact
|
||||
{
|
||||
public:
|
||||
GEOM_Contact_i();
|
||||
GEOM_Contact_i(Kinematic_Contact* Contact,
|
||||
GEOM::GEOM_Shape_ptr Shape1,
|
||||
GEOM::GEOM_Shape_ptr Shape2,
|
||||
CORBA::ORB_ptr orb,
|
||||
GEOM::GEOM_Gen_ptr engine);
|
||||
|
||||
~GEOM_Contact_i();
|
||||
|
||||
private:
|
||||
Kinematic_Contact* _Contact;
|
||||
GEOM::GEOM_Shape_ptr _Shape1;
|
||||
GEOM::GEOM_Shape_ptr _Shape2;
|
||||
GEOM::GEOM_Position_ptr _Position;
|
||||
GEOM::GEOM_Rotation_ptr _Rotation;
|
||||
GEOM::GEOM_Translation_ptr _Translation;
|
||||
CORBA::ORB_ptr _orb;
|
||||
GEOM::GEOM_Gen_ptr _engine;
|
||||
|
||||
char* _name;
|
||||
char* _shapeid;
|
||||
char* _studyshapeid; // exists only if added in the study document
|
||||
|
||||
public:
|
||||
CORBA::Long GetType()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Shape_ptr GetShape1()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Shape_ptr GetShape2()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Position_ptr GetPosition()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Rotation_ptr GetRotation()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::GEOM_Translation_ptr GetTranslation()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Double GetStep()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
char* Name();
|
||||
void Name(const char* name);
|
||||
|
||||
char* ShapeId();
|
||||
void ShapeId(const char* shapeid);
|
||||
|
||||
char* StudyShapeId();
|
||||
void StudyShapeId(const char* studyshapeid);
|
||||
|
||||
GEOM::GEOM_Gen_ptr Engine();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
@ -145,6 +145,8 @@ using namespace std;
|
||||
#include <TDF_Label.hxx>
|
||||
#include <TDataStd_Name.hxx>
|
||||
#include <TDataStd_Comment.hxx>
|
||||
#include <TDataStd_Integer.hxx>
|
||||
#include <TDataStd_Real.hxx>
|
||||
#include <TDF_Reference.hxx>
|
||||
#include <TDF_Data.hxx>
|
||||
#include <TNaming_Builder.hxx>
|
||||
@ -452,7 +454,9 @@ SALOMEDS::TMPFile* GEOM_Gen_i::Save(SALOMEDS::SComponent_ptr theComponent,
|
||||
SALOMEDS::ListOfFileNames_var aSeq = new SALOMEDS::ListOfFileNames;
|
||||
aSeq->length(1);
|
||||
// Prepare a file name to open
|
||||
TCollection_AsciiString aNameWithExt(SALOMEDS_Tool::GetNameFromPath(theComponent->GetStudy()->URL()));
|
||||
TCollection_AsciiString aNameWithExt("");
|
||||
if (isMultiFile)
|
||||
aNameWithExt = TCollection_AsciiString(SALOMEDS_Tool::GetNameFromPath(theComponent->GetStudy()->URL()));
|
||||
aNameWithExt += TCollection_AsciiString("_GEOM.sgd");
|
||||
aSeq[0] = CORBA::string_dup(aNameWithExt.ToCString());
|
||||
// Build a full file name of temporary file
|
||||
@ -493,7 +497,10 @@ CORBA::Boolean GEOM_Gen_i::Load(SALOMEDS::SComponent_ptr theComponent,
|
||||
isMultiFile);
|
||||
|
||||
// Prepare a file name to open
|
||||
TCollection_AsciiString aNameWithExt(aSeq[0]);
|
||||
TCollection_AsciiString aNameWithExt("");
|
||||
if (isMultiFile)
|
||||
aNameWithExt = TCollection_AsciiString(SALOMEDS_Tool::GetNameFromPath(theComponent->GetStudy()->URL()));
|
||||
aNameWithExt += TCollection_AsciiString("_GEOM.sgd");
|
||||
TCollection_AsciiString aFullName = aTmpDir + aNameWithExt;
|
||||
|
||||
// Open document
|
||||
@ -5025,6 +5032,132 @@ void GEOM_Gen_i::ExportSTEP(const char* filename,GEOM::GEOM_Shape_ptr theShape)
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : InitAssembly()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::GEOM_Assembly_ptr GEOM_Gen_i::InitAssembly() throw (SALOME::SALOME_Exception)
|
||||
{
|
||||
Kinematic_Assembly* tds;
|
||||
|
||||
try {
|
||||
tds = new Kinematic_Assembly();
|
||||
}
|
||||
catch(Standard_Failure)
|
||||
THROW_SALOME_CORBA_EXCEPTION("Exception catched in GEOM_Gen_i::InitAssembly", SALOME::BAD_PARAM);
|
||||
|
||||
/* Create the CORBA servant holding the TopoDS_Shape */
|
||||
GEOM::GEOM_Gen_ptr engine = POA_GEOM::GEOM_Gen::_this();
|
||||
GEOM_Assembly_i * Assembly_servant = new GEOM_Assembly_i(tds, _orb, engine);
|
||||
GEOM::GEOM_Assembly_var Assembly = GEOM::GEOM_Assembly::_narrow(Assembly_servant->_this());
|
||||
|
||||
/* Create and set the name (IOR of shape converted into a string) */
|
||||
string name_ior = _orb->object_to_string(Assembly);
|
||||
Assembly->Name(name_ior.c_str());
|
||||
|
||||
GEOMDS_Commands GC(myCurrentOCAFDoc->Main());
|
||||
/* add attributs S and mystr in a new label */
|
||||
TDF_Label Lab = GC.AddAssembly(*tds, Assembly->Name());
|
||||
|
||||
TCollection_AsciiString entry;
|
||||
TDF_Tool::Entry(Lab, entry);
|
||||
const char *ent = entry.ToCString();
|
||||
|
||||
Assembly->ShapeId(ent);
|
||||
return Assembly;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : AddContact()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::GEOM_Contact_ptr GEOM_Gen_i::AddContact(GEOM::GEOM_Assembly_ptr Ass,
|
||||
GEOM::GEOM_Shape_ptr Shape1,
|
||||
GEOM::GEOM_Shape_ptr Shape2,
|
||||
const short type,
|
||||
CORBA::Double step)
|
||||
throw (SALOME::SALOME_Exception)
|
||||
{
|
||||
Kinematic_Contact* tds;
|
||||
TDF_Label mainRefLab;
|
||||
TDF_Tool::Label(myCurrentOCAFDoc->GetData(), Ass->ShapeId(), mainRefLab);
|
||||
|
||||
try {
|
||||
TopoDS_Shape aShape1 = GetTopoShape(Shape1);
|
||||
TopoDS_Shape aShape2 = GetTopoShape(Shape2);
|
||||
tds = new Kinematic_Contact(aShape1, aShape2, type, step);
|
||||
}
|
||||
catch(Standard_Failure)
|
||||
THROW_SALOME_CORBA_EXCEPTION("Exception catched in GEOM_Gen_i::AddContact", SALOME::BAD_PARAM);
|
||||
|
||||
/* Create the CORBA servant holding the TopoDS_Shape */
|
||||
GEOM::GEOM_Gen_ptr engine = POA_GEOM::GEOM_Gen::_this();
|
||||
GEOM_Contact_i * Contact_servant = new GEOM_Contact_i(tds, Shape1, Shape2, _orb, engine);
|
||||
GEOM::GEOM_Contact_var Contact = GEOM::GEOM_Contact::_narrow(Contact_servant->_this());
|
||||
|
||||
/* Create and set the name (IOR of shape converted into a string) */
|
||||
string name_ior = _orb->object_to_string(Contact);
|
||||
Contact->Name(name_ior.c_str());
|
||||
|
||||
GEOMDS_Commands GC(myCurrentOCAFDoc->Main());
|
||||
/* add attributs S and mystr in a new label */
|
||||
TDF_Label LabContact = GC.AddContact(*tds, mainRefLab, Contact->Name());
|
||||
|
||||
TCollection_AsciiString entry;
|
||||
TDF_Tool::Entry(LabContact, entry);
|
||||
Contact->ShapeId(entry.ToCString());
|
||||
|
||||
return Contact;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : AddAnimation()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::GEOM_Animation_ptr GEOM_Gen_i::AddAnimation(GEOM::GEOM_Assembly_ptr Ass,
|
||||
GEOM::GEOM_Shape_ptr Shape1,
|
||||
CORBA::Double Duration,
|
||||
const short NbSeq,
|
||||
CORBA::Boolean IsInLoop)
|
||||
throw (SALOME::SALOME_Exception)
|
||||
{
|
||||
Kinematic_Animation* tds;
|
||||
TDF_Label mainRefLab;
|
||||
TDF_Tool::Label(myCurrentOCAFDoc->GetData(), Ass->ShapeId(), mainRefLab);
|
||||
GEOMDS_Commands GC(myCurrentOCAFDoc->Main());
|
||||
|
||||
try {
|
||||
Kinematic_Assembly* aAss = new Kinematic_Assembly();
|
||||
Standard_Boolean test = GC.GetAssembly(mainRefLab, *aAss);
|
||||
TopoDS_Shape aShape1 = GetTopoShape(Shape1);
|
||||
tds = new Kinematic_Animation(aAss, aShape1, Duration, NbSeq, IsInLoop);
|
||||
}
|
||||
catch(Standard_Failure)
|
||||
THROW_SALOME_CORBA_EXCEPTION("Exception catched in GEOM_Gen_i::AddAnimation", SALOME::BAD_PARAM);
|
||||
|
||||
/* Create the CORBA servant holding the TopoDS_Shape */
|
||||
GEOM::GEOM_Gen_ptr engine = POA_GEOM::GEOM_Gen::_this();
|
||||
GEOM_Animation_i * Animation_servant = new GEOM_Animation_i(tds, Ass, Shape1, _orb, engine);
|
||||
GEOM::GEOM_Animation_var Animation = GEOM::GEOM_Animation::_narrow(Animation_servant->_this());
|
||||
|
||||
/* Create and set the name (IOR of shape converted into a string) */
|
||||
string name_ior = _orb->object_to_string(Animation);
|
||||
Animation->Name(name_ior.c_str());
|
||||
|
||||
/* add attributs S and mystr in a new label */
|
||||
TDF_Label Lab = GC.AddAnimation(*tds, Animation->Name());
|
||||
|
||||
TCollection_AsciiString entry;
|
||||
TDF_Tool::Entry(Lab, entry);
|
||||
const char *ent = entry.ToCString();
|
||||
|
||||
Animation->ShapeId(ent);
|
||||
return Animation;
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// EXPORTED METHODS
|
||||
//=====================================================================================
|
||||
|
@ -44,10 +44,14 @@
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_SERVER_HEADER(GEOM_Gen)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Shape)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Kinematic)
|
||||
#include CORBA_SERVER_HEADER(SALOMEDS)
|
||||
|
||||
#include "SALOME_Component_i.hxx"
|
||||
#include "GEOM_Shape_i.hh"
|
||||
#include "GEOM_Assembly_i.hh"
|
||||
#include "GEOM_Contact_i.hh"
|
||||
#include "GEOM_Animation_i.hh"
|
||||
|
||||
#include "SALOME_NamingService.hxx"
|
||||
#include <iostream.h>
|
||||
@ -601,6 +605,24 @@ class GEOM_Gen_i: public POA_GEOM::GEOM_Gen,
|
||||
CORBA::Double aMeshingDeflection)
|
||||
throw (SALOME::SALOME_Exception) ;
|
||||
|
||||
//-------------------------------------------------------------------//
|
||||
// Specific method Kinematic //
|
||||
//-------------------------------------------------------------------//
|
||||
GEOM::GEOM_Assembly_ptr InitAssembly()
|
||||
throw (SALOME::SALOME_Exception) ;
|
||||
GEOM::GEOM_Contact_ptr AddContact(GEOM::GEOM_Assembly_ptr Ass,
|
||||
GEOM::GEOM_Shape_ptr Shape1,
|
||||
GEOM::GEOM_Shape_ptr Shape2,
|
||||
const short type,
|
||||
CORBA::Double step)
|
||||
throw (SALOME::SALOME_Exception) ;
|
||||
GEOM::GEOM_Animation_ptr AddAnimation(GEOM::GEOM_Assembly_ptr Ass,
|
||||
GEOM::GEOM_Shape_ptr Shape1,
|
||||
CORBA::Double Duration,
|
||||
const short NbSeq,
|
||||
CORBA::Boolean IsInLoop)
|
||||
throw (SALOME::SALOME_Exception) ;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
147
src/GEOM/GEOM_Position_i.cc
Normal file
147
src/GEOM/GEOM_Position_i.cc
Normal file
@ -0,0 +1,147 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Position_i.cc
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "GEOM_Position_i.hh"
|
||||
|
||||
//=================================================================================
|
||||
// function : GEOM_Position_i() constructor (no arguments)
|
||||
// purpose : for what now ?
|
||||
//=================================================================================
|
||||
GEOM_Position_i::GEOM_Position_i()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : constructor
|
||||
// purpose : constructor for servant creation
|
||||
//=================================================================================
|
||||
GEOM_Position_i::GEOM_Position_i(const GEOM::PointStruct& P0, const GEOM::DirStruct& VX,
|
||||
const GEOM::DirStruct& VY, const GEOM::DirStruct& VZ)
|
||||
{
|
||||
|
||||
SetOrigin(P0);
|
||||
SetVX(VX);
|
||||
SetVY(VY);
|
||||
SetVZ(VZ);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : destructor
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM_Position_i::~GEOM_Position_i() {}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : SetOrigin()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void GEOM_Position_i::SetOrigin(const GEOM::PointStruct& P0)
|
||||
throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
_P0 = P0;
|
||||
return;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : SetVX()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void GEOM_Position_i::SetVX(const GEOM::DirStruct& Vect)
|
||||
throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
_VX = Vect;
|
||||
return;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : SetVY()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void GEOM_Position_i::SetVY(const GEOM::DirStruct& Vect)
|
||||
throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
_VY = Vect;
|
||||
return;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : SetVZ()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void GEOM_Position_i::SetVZ(const GEOM::DirStruct& Vect)
|
||||
throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
_VZ = Vect;
|
||||
return;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetOrigin()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::PointStruct GEOM_Position_i::GetOrigin()
|
||||
throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _P0;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetVX()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::DirStruct GEOM_Position_i::GetVX()
|
||||
throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _VX;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetVY()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::DirStruct GEOM_Position_i::GetVY()
|
||||
throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _VY;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetVZ()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM::DirStruct GEOM_Position_i::GetVZ()
|
||||
throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _VZ;
|
||||
}
|
84
src/GEOM/GEOM_Position_i.hh
Normal file
84
src/GEOM/GEOM_Position_i.hh
Normal file
@ -0,0 +1,84 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Position_i.hh
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
#ifndef __GEOM_POSITION_I_H__
|
||||
#define __GEOM_POSITION_I_H__
|
||||
|
||||
// IDL headers
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_SERVER_HEADER(GEOM_Gen)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Shape)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Kinematic)
|
||||
|
||||
//=====================================================================
|
||||
// GEOM_Position_i : class definition
|
||||
//=====================================================================
|
||||
class GEOM_Position_i:
|
||||
public POA_GEOM::GEOM_Position
|
||||
{
|
||||
public:
|
||||
GEOM_Position_i();
|
||||
GEOM_Position_i(const GEOM::PointStruct& P0, const GEOM::DirStruct& VX,
|
||||
const GEOM::DirStruct& VY, const GEOM::DirStruct& VZ);
|
||||
|
||||
~GEOM_Position_i();
|
||||
|
||||
private:
|
||||
GEOM::PointStruct _P0;
|
||||
GEOM::DirStruct _VX;
|
||||
GEOM::DirStruct _VY;
|
||||
GEOM::DirStruct _VZ;
|
||||
|
||||
public:
|
||||
void SetOrigin(const GEOM::PointStruct& P0)
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
void SetVX(const GEOM::DirStruct& Vect)
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
void SetVY(const GEOM::DirStruct& Vect)
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
void SetVZ(const GEOM::DirStruct& Vect)
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::PointStruct GetOrigin()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::DirStruct GetVX()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::DirStruct GetVY()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
GEOM::DirStruct GetVZ()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
135
src/GEOM/GEOM_Rotation_i.cc
Normal file
135
src/GEOM/GEOM_Rotation_i.cc
Normal file
@ -0,0 +1,135 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Rotation_i.cc
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "GEOM_Rotation_i.hh"
|
||||
|
||||
//=================================================================================
|
||||
// function : GEOM_Rotation_i() constructor (no arguments)
|
||||
// purpose : for what now ?
|
||||
//=================================================================================
|
||||
GEOM_Rotation_i::GEOM_Rotation_i()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : constructor
|
||||
// purpose : constructor for servant creation
|
||||
//=================================================================================
|
||||
GEOM_Rotation_i::GEOM_Rotation_i(CORBA::Long Rot1, CORBA::Long Rot2, CORBA::Long Rot3,
|
||||
CORBA::Double Val1, CORBA::Double Val2, CORBA::Double Val3)
|
||||
{
|
||||
|
||||
SetRotation(Rot1, Rot2, Rot3, Val1, Val2, Val3);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : destructor
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM_Rotation_i::~GEOM_Rotation_i() {}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : SetRotation()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void GEOM_Rotation_i::SetRotation(CORBA::Long Rot1, CORBA::Long Rot2, CORBA::Long Rot3,
|
||||
CORBA::Double Val1, CORBA::Double Val2, CORBA::Double Val3)
|
||||
throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
|
||||
_Rot1 = Rot1;
|
||||
_Rot2 = Rot2;
|
||||
_Rot3 = Rot3;
|
||||
|
||||
_Val1 = Val1;
|
||||
_Val2 = Val2;
|
||||
_Val3 = Val3;
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetRot1()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Long GEOM_Rotation_i::GetRot1() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Rot1;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetRot2()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Long GEOM_Rotation_i::GetRot2() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Rot2;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetRot3()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Long GEOM_Rotation_i::GetRot3() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Rot3;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetVal1()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Double GEOM_Rotation_i::GetVal1() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Val1;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetVal2()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Double GEOM_Rotation_i::GetVal2() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Val2;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetVal3()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Double GEOM_Rotation_i::GetVal3() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Val3;
|
||||
}
|
85
src/GEOM/GEOM_Rotation_i.hh
Normal file
85
src/GEOM/GEOM_Rotation_i.hh
Normal file
@ -0,0 +1,85 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Rotation_i.hh
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
#ifndef __GEOM_ROTATION_I_H__
|
||||
#define __GEOM_ROTATION_I_H__
|
||||
|
||||
// IDL headers
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_SERVER_HEADER(GEOM_Gen)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Shape)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Kinematic)
|
||||
|
||||
//=====================================================================
|
||||
// GEOM_Rotation_i : class definition
|
||||
//=====================================================================
|
||||
class GEOM_Rotation_i:
|
||||
public POA_GEOM::GEOM_Rotation
|
||||
{
|
||||
public:
|
||||
GEOM_Rotation_i();
|
||||
GEOM_Rotation_i(CORBA::Long Rot1, CORBA::Long Rot2, CORBA::Long Rot3,
|
||||
CORBA::Double Val1, CORBA::Double Val2, CORBA::Double Val3);
|
||||
|
||||
~GEOM_Rotation_i();
|
||||
|
||||
private:
|
||||
CORBA::Long _Rot1;
|
||||
CORBA::Long _Rot2;
|
||||
CORBA::Long _Rot3;
|
||||
|
||||
CORBA::Double _Val1;
|
||||
CORBA::Double _Val2;
|
||||
CORBA::Double _Val3;
|
||||
|
||||
public:
|
||||
void SetRotation(CORBA::Long Rot1, CORBA::Long Rot2, CORBA::Long Rot3,
|
||||
CORBA::Double Val1, CORBA::Double Val2, CORBA::Double Val3)
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Long GetRot1()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Long GetRot2()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Long GetRot3()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Double GetVal1()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Double GetVal2()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Double GetVal3()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
101
src/GEOM/GEOM_Translation_i.cc
Normal file
101
src/GEOM/GEOM_Translation_i.cc
Normal file
@ -0,0 +1,101 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Translation_i.cc
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
using namespace std;
|
||||
#include "GEOM_Translation_i.hh"
|
||||
|
||||
//=================================================================================
|
||||
// function : GEOM_Translation_i() constructor (no arguments)
|
||||
// purpose : for what now ?
|
||||
//=================================================================================
|
||||
GEOM_Translation_i::GEOM_Translation_i()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : constructor
|
||||
// purpose : constructor for servant creation
|
||||
//=================================================================================
|
||||
GEOM_Translation_i::GEOM_Translation_i(CORBA::Double Val1, CORBA::Double Val2, CORBA::Double Val3)
|
||||
{
|
||||
|
||||
SetTranslation(Val1, Val2, Val3);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : destructor
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOM_Translation_i::~GEOM_Translation_i() {}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : SetTranslation()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void GEOM_Translation_i::SetTranslation(CORBA::Double Val1, CORBA::Double Val2, CORBA::Double Val3)
|
||||
throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
|
||||
_Val1 = Val1;
|
||||
_Val2 = Val2;
|
||||
_Val3 = Val3;
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetVal1()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Double GEOM_Translation_i::GetVal1() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Val1;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetVal2()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Double GEOM_Translation_i::GetVal2() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Val2;
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// function : GetVal3()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
CORBA::Double GEOM_Translation_i::GetVal3() throw(SALOME::SALOME_Exception)
|
||||
{
|
||||
return _Val3;
|
||||
}
|
70
src/GEOM/GEOM_Translation_i.hh
Normal file
70
src/GEOM/GEOM_Translation_i.hh
Normal file
@ -0,0 +1,70 @@
|
||||
// GEOM GEOM :
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOM_Translation_i.hh
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
|
||||
#ifndef __GEOM_TRANSLATION_I_H__
|
||||
#define __GEOM_TRANSLATION_I_H__
|
||||
|
||||
// IDL headers
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_SERVER_HEADER(GEOM_Gen)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Shape)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Kinematic)
|
||||
|
||||
//=====================================================================
|
||||
// GEOM_Translation_i : class definition
|
||||
//=====================================================================
|
||||
class GEOM_Translation_i:
|
||||
public POA_GEOM::GEOM_Translation
|
||||
{
|
||||
public:
|
||||
GEOM_Translation_i();
|
||||
GEOM_Translation_i(CORBA::Double Val1, CORBA::Double Val2, CORBA::Double Val3);
|
||||
|
||||
~GEOM_Translation_i();
|
||||
|
||||
private:
|
||||
CORBA::Double _Val1;
|
||||
CORBA::Double _Val2;
|
||||
CORBA::Double _Val3;
|
||||
|
||||
public:
|
||||
void SetTranslation(CORBA::Double Val1, CORBA::Double Val2, CORBA::Double Val3)
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Double GetVal1()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Double GetVal2()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
CORBA::Double GetVal3()
|
||||
throw (SALOME::SALOME_Exception);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
@ -37,8 +37,8 @@ VPATH=.:@srcdir@:@top_srcdir@/idl
|
||||
# Libraries targets
|
||||
|
||||
LIB = libGEOMEngine.la
|
||||
LIB_SRC = GEOM_Shape_i.cc GEOM_Gen_i.cc
|
||||
LIB_SERVER_IDL = SALOME_Component.idl SALOMEDS.idl SALOME_Exception.idl GEOM_Gen.idl GEOM_Shape.idl
|
||||
LIB_SRC = GEOM_Shape_i.cc GEOM_Position_i.cc GEOM_Rotation_i.cc GEOM_Translation_i.cc GEOM_Contact_i.cc GEOM_Assembly_i.cc GEOM_Animation_i.cc GEOM_Gen_i.cc
|
||||
LIB_SERVER_IDL = SALOME_Component.idl SALOMEDS.idl SALOME_Exception.idl GEOM_Gen.idl GEOM_Shape.idl GEOM_Kinematic.idl
|
||||
|
||||
# Executables targets
|
||||
BIN =
|
||||
@ -46,12 +46,12 @@ BIN_SRC =
|
||||
BIN_CLIENT_IDL =
|
||||
BIN_SERVER_IDL =
|
||||
|
||||
EXPORT_HEADERS =
|
||||
EXPORT_HEADERS =
|
||||
|
||||
# additionnal information to compil and link file
|
||||
CPPFLAGS += $(OCC_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome
|
||||
CXXFLAGS += $(OCC_CXXFLAGS) -I${KERNEL_ROOT_DIR}/include/salome
|
||||
LDFLAGS += -lGEOMDS -lTOOLSDS -lSalomeNS -lSalomeContainer -lGEOMPartition -lGEOMArchimede $(CAS_LDPATH) -lTKIGES -lTKSTEP -lTKFillet -lTKOffset -L${KERNEL_ROOT_DIR}/lib/salome
|
||||
LDFLAGS += -lGEOMDS -lTOOLSDS -lSalomeNS -lSalomeContainer -lGEOMPartition -lGEOMArchimede -lGEOMKinematic $(CAS_LDPATH) -lTKIGES -lTKSTEP -lTKFillet -lTKOffset -L${KERNEL_ROOT_DIR}/lib/salome
|
||||
|
||||
# additional file to be cleaned
|
||||
MOSTLYCLEAN =
|
||||
|
@ -206,7 +206,28 @@ bool GEOMBase::CustomPopup(QAD_Desktop* parent, QPopupMenu* popup, const QString
|
||||
int id = popup->idAt(0); // separator
|
||||
if(id < 0)
|
||||
popup->removeItem(id);
|
||||
|
||||
|
||||
if(theObject.compare("Assembly") == 0 || theObject.compare("Animation") == 0) {
|
||||
popup->removeItem(QAD_DisplayOnly_Popup_ID);
|
||||
popup->removeItem(QAD_Display_Popup_ID);
|
||||
popup->removeItem(QAD_Erase_Popup_ID);
|
||||
return true;
|
||||
}
|
||||
else if(theObject.compare("Contact") == 0) {
|
||||
Standard_Boolean testResult;
|
||||
Handle(SALOME_InteractiveObject) IO = Sel->firstIObject();
|
||||
GEOM::GEOM_Contact_ptr myGeomContact = myGeomBase->ConvertIOinContact(IO, testResult);
|
||||
int type = myGeomContact->GetType();
|
||||
if(type == 0 || type == 2) //EMBEDDING || SLIDE
|
||||
popup->removeItem(6132); //ROTATION
|
||||
if(type == 0 || type == 1 || type == 4) //EMBEDDING || PIVOT || SPHERICAL
|
||||
popup->removeItem(6133); //TRANSLATION
|
||||
popup->removeItem(QAD_DisplayOnly_Popup_ID);
|
||||
popup->removeItem(QAD_Display_Popup_ID);
|
||||
popup->removeItem(QAD_Erase_Popup_ID);
|
||||
return true;
|
||||
}
|
||||
|
||||
// checking for GEOM label in the selected list
|
||||
SALOME_ListIteratorOfListIO It(Sel->StoredIObjects());
|
||||
Handle(SALOME_InteractiveObject) anIObject;
|
||||
@ -348,6 +369,27 @@ bool GEOMBase::CustomPopup(QAD_Desktop* parent, QPopupMenu* popup, const QString
|
||||
if(id < 0)
|
||||
popup->removeItem(id);
|
||||
|
||||
if(theObject.compare("Assembly") == 0 || theObject.compare("Animation") == 0) {
|
||||
popup->removeItem(QAD_DisplayOnly_Popup_ID);
|
||||
popup->removeItem(QAD_Display_Popup_ID);
|
||||
popup->removeItem(QAD_Erase_Popup_ID);
|
||||
return true;
|
||||
}
|
||||
else if(theObject.compare("Contact") == 0) {
|
||||
Standard_Boolean testResult;
|
||||
Handle(SALOME_InteractiveObject) IO = Sel->firstIObject();
|
||||
GEOM::GEOM_Contact_ptr myGeomContact = myGeomBase->ConvertIOinContact(IO, testResult);
|
||||
int type = myGeomContact->GetType();
|
||||
if(type == 0 || type == 2) //EMBEDDING || SLIDE
|
||||
popup->removeItem(6132); //ROTATION
|
||||
if(type == 0 || type == 1 || type == 4) //EMBEDDING || PIVOT || SPHERICAL
|
||||
popup->removeItem(6133); //TRANSLATION
|
||||
popup->removeItem(QAD_DisplayOnly_Popup_ID);
|
||||
popup->removeItem(QAD_Display_Popup_ID);
|
||||
popup->removeItem(QAD_Erase_Popup_ID);
|
||||
return true;
|
||||
}
|
||||
|
||||
// checking for GEOM label in the selected list
|
||||
SALOME_ListIteratorOfListIO It(Sel->StoredIObjects());
|
||||
Handle(SALOME_InteractiveObject) anIObject;
|
||||
@ -490,13 +532,13 @@ bool GEOMBase::Display(GEOM::GEOM_Shape_ptr aShape, Standard_CString name)
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(father, "AttributePixMap");
|
||||
aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
|
||||
aPixmap->SetPixMap("ICON_OBJBROWSER_Geometry");
|
||||
aStudyBuilder->DefineComponentInstance(father, myGeom);
|
||||
QAD_Application::getDesktop()->getActiveStudy()->updateObjBrowser();
|
||||
if(aLocked)
|
||||
aStudy->GetProperties()->SetLocked(true);
|
||||
op->finish();
|
||||
}
|
||||
|
||||
aStudyBuilder->DefineComponentInstance(father, myGeom);
|
||||
father->ComponentIOR(myGeomGUI->GetFatherior());
|
||||
|
||||
TCollection_AsciiString nameG("");
|
||||
@ -540,6 +582,7 @@ bool GEOMBase::Display(GEOM::GEOM_Shape_ptr aShape, Standard_CString name)
|
||||
OCCViewer_Viewer3d* v3d = ((OCCViewer_ViewFrame*)QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getRightFrame()->getViewFrame())->getViewer();
|
||||
Handle(AIS_InteractiveContext) ic = v3d->getAISContext();
|
||||
Handle(GEOM_AISShape) theResult = new GEOM_AISShape(shape, nameG.ToCString());
|
||||
theResult->SetInfiniteState(shape.Infinite());
|
||||
theResult->SetShadingColor(myShadingColor);
|
||||
IO = new GEOM_InteractiveObject(aShape->Name(), myGeomGUI->GetFatherior(), "GEOM");
|
||||
theResult->setIO(IO);
|
||||
@ -595,12 +638,12 @@ bool GEOMBase::AddInStudy(bool selection, const Handle(SALOME_InteractiveObject)
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(father, "AttributePixMap");
|
||||
aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
|
||||
aPixmap->SetPixMap("ICON_OBJBROWSER_Geometry");
|
||||
aStudyBuilder->DefineComponentInstance(father, myGeom);
|
||||
if (aLocked)
|
||||
aStudy->GetProperties()->SetLocked(true);
|
||||
op->finish();
|
||||
}
|
||||
|
||||
aStudyBuilder->DefineComponentInstance(father, myGeom);
|
||||
father->ComponentIOR(myGeomGUI->GetFatherior());
|
||||
|
||||
SALOMEDS::SObject_var fatherSF = aStudy->FindObjectID(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->entry());
|
||||
@ -1184,6 +1227,102 @@ GEOM::GEOM_Shape_ptr GEOMBase::ConvertIOinGEOMShape(const Handle(SALOME_Interact
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : ConvertIOinAssembly()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
GEOM::GEOM_Assembly_ptr GEOMBase::ConvertIOinAssembly(const Handle(SALOME_InteractiveObject)& IO, Standard_Boolean& testResult)
|
||||
{
|
||||
GEOM::GEOM_Assembly_var aAss;
|
||||
testResult = false;
|
||||
|
||||
/* case SObject */
|
||||
if(IO->hasEntry()) {
|
||||
SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
|
||||
SALOMEDS::SObject_var obj = aStudy->FindObjectID(IO->getEntry());
|
||||
SALOMEDS::GenericAttribute_var anAttr;
|
||||
SALOMEDS::AttributeIOR_var anIOR;
|
||||
if(!obj->_is_nil()) {
|
||||
if(obj->FindAttribute(anAttr, "AttributeIOR")) {
|
||||
anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
|
||||
if(strcmp(anIOR->Value(),"") != 0){
|
||||
CORBA::Object_var anObject = aStudy->ConvertIORToObject(anIOR->Value());
|
||||
if(!CORBA::is_nil(anObject))
|
||||
aAss = GEOM::GEOM_Assembly::_narrow(anObject.in());
|
||||
}
|
||||
if(!CORBA::is_nil(aAss))
|
||||
testResult = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return aAss._retn();
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : ConvertIOinContact()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
GEOM::GEOM_Contact_ptr GEOMBase::ConvertIOinContact(const Handle(SALOME_InteractiveObject)& IO, Standard_Boolean& testResult)
|
||||
{
|
||||
GEOM::GEOM_Contact_var aContact;
|
||||
testResult = false;
|
||||
|
||||
/* case SObject */
|
||||
if(IO->hasEntry()) {
|
||||
SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
|
||||
SALOMEDS::SObject_var obj = aStudy->FindObjectID(IO->getEntry());
|
||||
SALOMEDS::GenericAttribute_var anAttr;
|
||||
SALOMEDS::AttributeIOR_var anIOR;
|
||||
if(!obj->_is_nil()) {
|
||||
if(obj->FindAttribute(anAttr, "AttributeIOR")) {
|
||||
anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
|
||||
if(strcmp(anIOR->Value(),"") != 0){
|
||||
CORBA::Object_var anObject = aStudy->ConvertIORToObject(anIOR->Value());
|
||||
if(!CORBA::is_nil(anObject))
|
||||
aContact = GEOM::GEOM_Contact::_narrow(anObject.in());
|
||||
}
|
||||
if(!CORBA::is_nil(aContact))
|
||||
testResult = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return aContact._retn();
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : ConvertIOinContact()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
GEOM::GEOM_Animation_ptr GEOMBase::ConvertIOinAnimation(const Handle(SALOME_InteractiveObject)& IO, Standard_Boolean& testResult)
|
||||
{
|
||||
GEOM::GEOM_Animation_var aAnimation;
|
||||
testResult = false;
|
||||
|
||||
/* case SObject */
|
||||
if(IO->hasEntry()) {
|
||||
SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
|
||||
SALOMEDS::SObject_var obj = aStudy->FindObjectID(IO->getEntry());
|
||||
SALOMEDS::GenericAttribute_var anAttr;
|
||||
SALOMEDS::AttributeIOR_var anIOR;
|
||||
if(!obj->_is_nil()) {
|
||||
if(obj->FindAttribute(anAttr, "AttributeIOR")) {
|
||||
anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
|
||||
if(strcmp(anIOR->Value(),"") != 0){
|
||||
CORBA::Object_var anObject = aStudy->ConvertIORToObject(anIOR->Value());
|
||||
if(!CORBA::is_nil(anObject))
|
||||
aAnimation = GEOM::GEOM_Animation::_narrow(anObject.in());
|
||||
}
|
||||
if(!CORBA::is_nil(aAnimation))
|
||||
testResult = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return aAnimation._retn();
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : ConvertListOfIOInListOfIOR()
|
||||
// purpose :
|
||||
|
@ -72,6 +72,12 @@ public :
|
||||
bool GetShapeTypeString(const TopoDS_Shape& aShape, Standard_CString& aTypeString);
|
||||
|
||||
/* Convertions */
|
||||
GEOM::GEOM_Assembly_ptr ConvertIOinAssembly(const Handle(SALOME_InteractiveObject)& IO,
|
||||
Standard_Boolean& testResult);
|
||||
GEOM::GEOM_Contact_ptr ConvertIOinContact(const Handle(SALOME_InteractiveObject)& IO,
|
||||
Standard_Boolean& testResult);
|
||||
GEOM::GEOM_Animation_ptr ConvertIOinAnimation(const Handle(SALOME_InteractiveObject)& IO,
|
||||
Standard_Boolean& testResult);
|
||||
GEOM::GEOM_Shape_ptr ConvertIOinGEOMShape(const Handle(SALOME_InteractiveObject)& IO,
|
||||
Standard_Boolean& testResult);
|
||||
Handle(GEOM_AISShape) ConvertIOinGEOMAISShape(const Handle(SALOME_InteractiveObject)& IO,
|
||||
|
@ -52,7 +52,8 @@ LIB_MOC = \
|
||||
|
||||
LIB_CLIENT_IDL = SALOME_Exception.idl \
|
||||
SALOMEDS.idl \
|
||||
SALOMEDS_Attributes.idl
|
||||
SALOMEDS_Attributes.idl \
|
||||
GEOM_Kinematic.idl
|
||||
|
||||
LIB_SERVER_IDL =
|
||||
|
||||
|
@ -42,7 +42,7 @@ EXPORT_HEADERS = \
|
||||
|
||||
LIB = libGEOMClient.la
|
||||
LIB_SRC = GEOM_Client.cxx
|
||||
LIB_SERVER_IDL = SALOME_Component.idl SALOMEDS.idl SALOME_Exception.idl GEOM_Shape.idl GEOM_Gen.idl
|
||||
LIB_SERVER_IDL = SALOME_Component.idl SALOMEDS.idl SALOME_Exception.idl GEOM_Shape.idl GEOM_Gen.idl GEOM_Kinematic.idl
|
||||
|
||||
# Executables targets
|
||||
BIN =
|
||||
|
@ -18,6 +18,30 @@ msgstr "select1.png"
|
||||
msgid "ICON_OBJBROWSER_Geometry"
|
||||
msgstr "geometry.png"
|
||||
|
||||
#:
|
||||
msgid "ICON_ANIMATION"
|
||||
msgstr "animation.png"
|
||||
|
||||
#:
|
||||
msgid "ICON_ASSEMBLY"
|
||||
msgstr "assembly.png"
|
||||
|
||||
#:
|
||||
msgid "ICON_CONTACT"
|
||||
msgstr "contact.png"
|
||||
|
||||
#:
|
||||
msgid "ICON_OBJBROWSER_ANIMATION"
|
||||
msgstr "tree_animation.png"
|
||||
|
||||
#:
|
||||
msgid "ICON_OBJBROWSER_ASSEMBLY"
|
||||
msgstr "tree_assembly.png"
|
||||
|
||||
#:
|
||||
msgid "ICON_OBJBROWSER_CONTACT"
|
||||
msgstr "tree_contact.png"
|
||||
|
||||
#: QAD_ObjectBrowser.cxx:140
|
||||
msgid "ICON_OBJBROWSER_COMPOUND"
|
||||
msgstr "tree_compound.png"
|
||||
|
@ -1299,3 +1299,75 @@ msgstr "Values"
|
||||
|
||||
msgid "GEOM_SKETCHER_TYPE"
|
||||
msgstr "Type"
|
||||
|
||||
msgid "GEOM_CONTACT_TITLE"
|
||||
msgstr "Add Contact"
|
||||
|
||||
msgid "GEOM_ASSEMBLY"
|
||||
msgstr "Assembly"
|
||||
|
||||
msgid "GEOM_CONTACT"
|
||||
msgstr "Contact"
|
||||
|
||||
msgid "GEOM_TYPE"
|
||||
msgstr "Type"
|
||||
|
||||
msgid "GEOM_KROTATION_TITLE"
|
||||
msgstr "Edit Rotation"
|
||||
|
||||
msgid "GEOM_KTRANSLATION_TITLE"
|
||||
msgstr "Edit Translation"
|
||||
|
||||
msgid "GEOM_KROTATION"
|
||||
msgstr "Rotation"
|
||||
|
||||
msgid "GEOM_KTRANSLATION"
|
||||
msgstr "Translation"
|
||||
|
||||
msgid "GEOM_VALUE"
|
||||
msgstr "Value"
|
||||
|
||||
msgid "GEOM_1ROT"
|
||||
msgstr "1st Rot."
|
||||
|
||||
msgid "GEOM_2ROT"
|
||||
msgstr "2nd Rot."
|
||||
|
||||
msgid "GEOM_3ROT"
|
||||
msgstr "3rd Rot."
|
||||
|
||||
msgid "GEOM_KPOSITION_TITLE"
|
||||
msgstr "Set Position"
|
||||
|
||||
msgid "GEOM_KPOSITION"
|
||||
msgstr "Position"
|
||||
|
||||
msgid "GEOM_POS"
|
||||
msgstr "Position :"
|
||||
|
||||
msgid "GEOM_VX"
|
||||
msgstr "VX :"
|
||||
|
||||
msgid "GEOM_VY"
|
||||
msgstr "VY :"
|
||||
|
||||
msgid "GEOM_VZ"
|
||||
msgstr "VZ :"
|
||||
|
||||
msgid "GEOM_ANIMATION_TITLE"
|
||||
msgstr "Add Animation"
|
||||
|
||||
msgid "GEOM_ANIMATION"
|
||||
msgstr "Animation"
|
||||
|
||||
msgid "GEOM_FRAME"
|
||||
msgstr "Frame"
|
||||
|
||||
msgid "GEOM_DURATION"
|
||||
msgstr "Duration"
|
||||
|
||||
msgid "GEOM_NBSEQ"
|
||||
msgstr "Nb. Sequences"
|
||||
|
||||
msgid "GEOM_IS_IN_LOOP"
|
||||
msgstr "In Loop"
|
||||
|
@ -51,7 +51,7 @@ LIB_SRC = GEOMContext.cxx
|
||||
LIB_MOC = \
|
||||
GEOMContext.h
|
||||
|
||||
LIB_CLIENT_IDL = SALOME_Exception.idl
|
||||
LIB_CLIENT_IDL = SALOME_Exception.idl GEOM_Kinematic.idl
|
||||
|
||||
LIB_SERVER_IDL =
|
||||
|
||||
|
@ -34,9 +34,16 @@ using namespace std;
|
||||
#include <TNaming_NamedShape.hxx>
|
||||
#include <TDataStd_Name.hxx>
|
||||
#include <TDataStd_Integer.hxx>
|
||||
#include <TDataStd_Real.hxx>
|
||||
#include <TDataStd_RealArray.hxx>
|
||||
#include <TDataStd_IntegerArray.hxx>
|
||||
#include <TDF_Reference.hxx>
|
||||
#include <TNaming_Tool.hxx>
|
||||
#include <TDF_ChildIterator.hxx>
|
||||
#include <TDF_Tool.hxx>
|
||||
|
||||
#include "Kinematic_Contact.hxx"
|
||||
#include "Kinematic_Animation.hxx"
|
||||
|
||||
|
||||
//=======================================================================
|
||||
@ -300,3 +307,202 @@ Standard_Boolean GEOMDS_Commands::ReturnNameIOR(const TDF_Label& aLabel,
|
||||
return true ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : AddAssembly()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
TDF_Label GEOMDS_Commands::AddAssembly(Kinematic_Assembly& KAss,
|
||||
const TCollection_ExtendedString& Name)
|
||||
{
|
||||
TDF_Label LabAssembly = myLab.NewChild();
|
||||
TDataStd_Name::Set(LabAssembly, Name);
|
||||
return LabAssembly;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : AddContact()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
TDF_Label GEOMDS_Commands::AddContact(Kinematic_Contact& KContact,
|
||||
const TDF_Label& mainRefLab,
|
||||
const TCollection_ExtendedString& Name)
|
||||
{
|
||||
TDF_Label LabContact = mainRefLab.NewChild();
|
||||
TDataStd_Name::Set(LabContact, Name);
|
||||
|
||||
TDF_Label LabType = LabContact.NewChild();
|
||||
TDataStd_Integer::Set(LabType, KContact.Type());
|
||||
|
||||
TDF_Label NewLab1 = LabContact.NewChild();
|
||||
TNaming_Builder B1(NewLab1);
|
||||
B1.Select(KContact.Shape1(), KContact.Shape1());
|
||||
// TDF_Label RefLab1 = TNaming_Tool::Label(myLab, KContact.Shape1());
|
||||
// TDF_Reference::Set(NewLab1, RefLab1);
|
||||
|
||||
TDF_Label NewLab2 = LabContact.NewChild();
|
||||
TNaming_Builder B2(NewLab2);
|
||||
B2.Select(KContact.Shape2(), KContact.Shape2());
|
||||
// TDF_Label RefLab2 = TNaming_Tool::Label(myLab, KContact.Shape2());
|
||||
// TDF_Reference::Set(NewLab2, RefLab2);
|
||||
|
||||
TDF_Label LabPosition = LabContact.NewChild();
|
||||
Handle(TDataStd_RealArray) RealArrayP = TDataStd_RealArray::Set(LabPosition, 1, 12);
|
||||
RealArrayP->SetValue(1, KContact.Position().Origin().X());
|
||||
RealArrayP->SetValue(2, KContact.Position().Origin().Y());
|
||||
RealArrayP->SetValue(3, KContact.Position().Origin().Z());
|
||||
RealArrayP->SetValue(4, KContact.Position().DirX().X());
|
||||
RealArrayP->SetValue(5, KContact.Position().DirX().Y());
|
||||
RealArrayP->SetValue(6, KContact.Position().DirX().Z());
|
||||
RealArrayP->SetValue(7, KContact.Position().DirY().X());
|
||||
RealArrayP->SetValue(8, KContact.Position().DirY().Y());
|
||||
RealArrayP->SetValue(9, KContact.Position().DirY().Z());
|
||||
RealArrayP->SetValue(10, KContact.Position().DirZ().X());
|
||||
RealArrayP->SetValue(11, KContact.Position().DirZ().Y());
|
||||
RealArrayP->SetValue(12, KContact.Position().DirZ().Z());
|
||||
|
||||
TDF_Label LabRotation1 = LabContact.NewChild();
|
||||
Handle(TDataStd_IntegerArray) IntegerArrayR = TDataStd_IntegerArray::Set(LabRotation1, 1, 3);
|
||||
IntegerArrayR->SetValue(1, KContact.Rotation().Rot1());
|
||||
IntegerArrayR->SetValue(2, KContact.Rotation().Rot2());
|
||||
IntegerArrayR->SetValue(3, KContact.Rotation().Rot3());
|
||||
|
||||
TDF_Label LabRotation2 = LabContact.NewChild();
|
||||
Handle(TDataStd_RealArray) RealArrayR = TDataStd_RealArray::Set(LabRotation2, 1, 3);
|
||||
RealArrayR->SetValue(1, KContact.Rotation().ValX());
|
||||
RealArrayR->SetValue(2, KContact.Rotation().ValY());
|
||||
RealArrayR->SetValue(3, KContact.Rotation().ValZ());
|
||||
|
||||
TDF_Label LabTranslation = LabContact.NewChild();
|
||||
Handle(TDataStd_RealArray) RealArrayT = TDataStd_RealArray::Set(LabTranslation, 1, 3);
|
||||
RealArrayT->SetValue(1, KContact.Translation().ValX());
|
||||
RealArrayT->SetValue(2, KContact.Translation().ValY());
|
||||
RealArrayT->SetValue(3, KContact.Translation().ValZ());
|
||||
|
||||
TDF_Label LabStep = LabContact.NewChild();
|
||||
TDataStd_Real::Set(LabStep, KContact.Step());
|
||||
|
||||
return LabContact;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : AddAnimation()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
TDF_Label GEOMDS_Commands::AddAnimation(Kinematic_Animation& KAnimation,
|
||||
const TCollection_ExtendedString& Name)
|
||||
{
|
||||
TDF_Label LabAnimation = myLab.NewChild();
|
||||
TDataStd_Name::Set(LabAnimation, Name);
|
||||
|
||||
Standard_Real duration = double(KAnimation.Duration());
|
||||
|
||||
TDF_Label LabDuration = LabAnimation.NewChild();
|
||||
TDataStd_Real::Set(LabDuration, duration);
|
||||
|
||||
TDF_Label LabNbSeq = LabAnimation.NewChild();
|
||||
TDataStd_Integer::Set(LabNbSeq, KAnimation.NbSeq());
|
||||
|
||||
TDF_Label LabIsInLoop = LabAnimation.NewChild();
|
||||
TDataStd_Integer::Set(LabIsInLoop, KAnimation.IsInLoop());
|
||||
|
||||
return LabAnimation;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : GetAssembly()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
Standard_Boolean GEOMDS_Commands::GetAssembly(const TDF_Label& aLabel,
|
||||
Kinematic_Assembly& returnAss)
|
||||
{
|
||||
Kinematic_Assembly* Ass = new Kinematic_Assembly();
|
||||
Handle(TDataStd_Name) anAttName;
|
||||
if(!aLabel.FindAttribute(TDataStd_Name::GetID(), anAttName))
|
||||
return false;
|
||||
else {
|
||||
TDF_ChildIterator it;
|
||||
for(it.Initialize(aLabel, Standard_False); it.More(); it.Next()) {
|
||||
TDF_Label L = it.Value();
|
||||
Kinematic_Contact* aContact = new Kinematic_Contact();
|
||||
Standard_Boolean test = GetContact(L, *aContact);
|
||||
Ass->AddContact(aContact);
|
||||
}
|
||||
returnAss = *Ass;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : GetContact()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
Standard_Boolean GEOMDS_Commands::GetContact(const TDF_Label& aLabel,
|
||||
Kinematic_Contact& returnContact)
|
||||
{
|
||||
Kinematic_Contact* Contact = new Kinematic_Contact();
|
||||
Handle(TDataStd_Name) anAttName;
|
||||
if(!aLabel.FindAttribute(TDataStd_Name::GetID(), anAttName))
|
||||
return false;
|
||||
else {
|
||||
TDF_ChildIterator it;
|
||||
int i = 1;
|
||||
for(it.Initialize(aLabel, Standard_False); it.More(); it.Next()) {
|
||||
TDF_Label L = it.Value();
|
||||
Handle(TNaming_NamedShape) anAttTopo1;
|
||||
Handle(TNaming_NamedShape) anAttTopo2;
|
||||
Handle(TDataStd_Integer) anAttInteger;
|
||||
Handle(TDataStd_Real) anAttReal;
|
||||
Handle(TDataStd_IntegerArray) anAttIntegerArrayR;
|
||||
Handle(TDataStd_RealArray) anAttRealArrayP;
|
||||
Handle(TDataStd_RealArray) anAttRealArrayR;
|
||||
Handle(TDataStd_RealArray) anAttRealArrayT;
|
||||
|
||||
if(i == 1 && L.FindAttribute(TDataStd_Integer::GetID(), anAttInteger)) {
|
||||
Contact->Type(anAttInteger->Get());
|
||||
}
|
||||
if(i == 2 && L.FindAttribute(TNaming_NamedShape::GetID(), anAttTopo1)) {
|
||||
Contact->Shape1(TNaming_Tool::GetShape(anAttTopo1));
|
||||
}
|
||||
if(i == 3 && L.FindAttribute(TNaming_NamedShape::GetID(), anAttTopo2)) {
|
||||
Contact->Shape2(TNaming_Tool::GetShape(anAttTopo2));
|
||||
}
|
||||
if(i == 4 && L.FindAttribute(TDataStd_RealArray::GetID(), anAttRealArrayP)) {
|
||||
gp_Pnt Center(anAttRealArrayP->Value(1), anAttRealArrayP->Value(2), anAttRealArrayP->Value(3));
|
||||
gp_Dir aDirX(anAttRealArrayP->Value(4), anAttRealArrayP->Value(5), anAttRealArrayP->Value(6));
|
||||
gp_Dir aDirY(anAttRealArrayP->Value(7), anAttRealArrayP->Value(8), anAttRealArrayP->Value(9));
|
||||
gp_Dir aDirZ(anAttRealArrayP->Value(10), anAttRealArrayP->Value(11), anAttRealArrayP->Value(12));
|
||||
Contact->Position().Origin(Center);
|
||||
Contact->Position().DirX(aDirX);
|
||||
Contact->Position().DirY(aDirY);
|
||||
Contact->Position().DirZ(aDirZ);
|
||||
}
|
||||
if(i == 5 && L.FindAttribute(TDataStd_IntegerArray::GetID(), anAttIntegerArrayR)) {
|
||||
Contact->Rotation().Rot1(anAttIntegerArrayR->Value(1));
|
||||
Contact->Rotation().Rot2(anAttIntegerArrayR->Value(2));
|
||||
Contact->Rotation().Rot3(anAttIntegerArrayR->Value(3));
|
||||
}
|
||||
if(i == 6 && L.FindAttribute(TDataStd_RealArray::GetID(), anAttRealArrayR)) {
|
||||
Contact->Rotation().ValX(anAttRealArrayR->Value(1));
|
||||
Contact->Rotation().ValY(anAttRealArrayR->Value(2));
|
||||
Contact->Rotation().ValZ(anAttRealArrayR->Value(3));
|
||||
}
|
||||
if(i == 7 && L.FindAttribute(TDataStd_RealArray::GetID(), anAttRealArrayT)) {
|
||||
Contact->Translation().ValX(anAttRealArrayT->Value(1));
|
||||
Contact->Translation().ValY(anAttRealArrayT->Value(2));
|
||||
Contact->Translation().ValZ(anAttRealArrayT->Value(3));
|
||||
}
|
||||
if(i == 8 && L.FindAttribute(TDataStd_Real::GetID(), anAttReal)) {
|
||||
Contact->Step(anAttReal->Get());
|
||||
}
|
||||
i++;
|
||||
}
|
||||
returnContact = *Contact;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -34,6 +34,9 @@
|
||||
#endif
|
||||
class TDF_Label;
|
||||
class TopoDS_Shape;
|
||||
class Kinematic_Assembly;
|
||||
class Kinematic_Contact;
|
||||
class Kinematic_Animation;
|
||||
class TCollection_ExtendedString;
|
||||
|
||||
|
||||
@ -123,6 +126,19 @@ public:
|
||||
Standard_EXPORT Standard_Boolean ReturnNameIOR(const TDF_Label& aLabel,
|
||||
TCollection_ExtendedString& returnNameIOR) ;
|
||||
|
||||
/* Kinematic */
|
||||
Standard_EXPORT TDF_Label AddAssembly(Kinematic_Assembly& KAss,
|
||||
const TCollection_ExtendedString& Name) ;
|
||||
Standard_EXPORT TDF_Label AddContact(Kinematic_Contact& KContact,
|
||||
const TDF_Label& mainRefLab,
|
||||
const TCollection_ExtendedString& Name) ;
|
||||
Standard_EXPORT TDF_Label AddAnimation(Kinematic_Animation& KAnimation,
|
||||
const TCollection_ExtendedString& Name) ;
|
||||
Standard_EXPORT Standard_Boolean GetAssembly(const TDF_Label& aLabel,
|
||||
Kinematic_Assembly& returnAss) ;
|
||||
Standard_EXPORT Standard_Boolean GetContact(const TDF_Label& aLabel,
|
||||
Kinematic_Contact& returnContact) ;
|
||||
|
||||
protected:
|
||||
|
||||
// Methods PROTECTED
|
||||
|
@ -35,4 +35,4 @@
|
||||
#endif
|
||||
#ifndef _GEOMDS_Commands_HeaderFile
|
||||
#include "GEOMDS_Commands.hxx"
|
||||
#endif
|
||||
#endif
|
||||
|
@ -41,7 +41,7 @@ LIB_SRC = GEOM_ShapeTypeFilter.cxx \
|
||||
GEOM_FaceFilter.cxx \
|
||||
GEOM_EdgeFilter.cxx
|
||||
|
||||
LIB_CLIENT_IDL = SALOME_Component.idl SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Exception.idl GEOM_Shape.idl GEOM_Gen.idl
|
||||
LIB_CLIENT_IDL = SALOME_Component.idl SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Exception.idl GEOM_Shape.idl GEOM_Gen.idl GEOM_Kinematic.idl
|
||||
|
||||
# header files
|
||||
EXPORT_HEADERS= GEOM_ShapeTypeFilter.hxx \
|
||||
|
@ -43,6 +43,11 @@ using namespace std;
|
||||
|
||||
#include "SALOME_Selection.h"
|
||||
|
||||
// IDL Headers
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_SERVER_HEADER(SALOMEDS)
|
||||
#include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
|
||||
|
||||
/* The object itself created in the static method 'GetOrCreateGEOMBase()' */
|
||||
static GEOMContext* GeomGUI = 0;
|
||||
|
||||
@ -238,6 +243,25 @@ bool GeometryGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
|
||||
if(!GeomGUI->LoadLibrary("libRepairGUI.so"))
|
||||
return false;
|
||||
}
|
||||
else if(theCommandID == 611 || // MENU KINEMATIC - ASSEMBLY
|
||||
theCommandID == 61201 || // MENU KINEMATIC - EMBEDDING
|
||||
theCommandID == 61202 || // MENU KINEMATIC - PIVOT
|
||||
theCommandID == 61203 || // MENU KINEMATIC - SLIDE
|
||||
theCommandID == 61204 || // MENU KINEMATIC - SLIDING PIVOT
|
||||
theCommandID == 61205 || // MENU KINEMATIC - SPHERICAL
|
||||
theCommandID == 61206 || // MENU KINEMATIC - PLANE
|
||||
theCommandID == 61207 || // MENU KINEMATIC - ANNULAR
|
||||
theCommandID == 61208 || // MENU KINEMATIC - RECTILINEAR
|
||||
theCommandID == 61209 || // MENU KINEMATIC - PONCTUAL
|
||||
theCommandID == 61210 || // MENU KINEMATIC - HELICOIDAL
|
||||
theCommandID == 6131 || // MENU KINEMATIC - POSITION
|
||||
theCommandID == 6132 || // MENU KINEMATIC - ROTATION
|
||||
theCommandID == 6133 || // MENU KINEMATIC - TRANSLATION
|
||||
theCommandID == 614 || // MENU KINEMATIC - ANIMATION
|
||||
theCommandID == 6141) { // MENU KINEMATIC - RUN ANIMATION
|
||||
if(!GeomGUI->LoadLibrary("libKinematicGUI.so"))
|
||||
return false;
|
||||
}
|
||||
else if(theCommandID == 701 || // MENU MEASURE - PROPERTIES
|
||||
theCommandID == 702 || // MENU MEASURE - CDG
|
||||
theCommandID == 703 || // MENU MEASURE - INERTIA
|
||||
@ -443,7 +467,23 @@ void GeometryGUI::DefinePopup(QString & theContext, QString & theParent, QString
|
||||
if(strcmp(scomp->GetID(), IO->getEntry()) == 0) {
|
||||
// component is selected
|
||||
theObject = "Component";
|
||||
return;
|
||||
}
|
||||
|
||||
SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
|
||||
SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder();
|
||||
SALOMEDS::GenericAttribute_var anAttr;
|
||||
SALOMEDS::AttributeComment_var aType;
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(sobj, "AttributeComment");
|
||||
aType = SALOMEDS::AttributeComment::_narrow(anAttr);
|
||||
QString val = QString(strdup(aType->Value()));
|
||||
if(val == "Kinematic_Assembly")
|
||||
theObject = "Assembly";
|
||||
else if(val == "Kinematic_Contact")
|
||||
theObject = "Contact";
|
||||
else if(val == "Kinematic_Animation")
|
||||
theObject = "Animation";
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -48,7 +48,8 @@ LIB_MOC = \
|
||||
|
||||
LIB_CLIENT_IDL = SALOME_Exception.idl \
|
||||
SALOMEDS.idl \
|
||||
SALOMEDS_Attributes.idl
|
||||
SALOMEDS_Attributes.idl \
|
||||
GEOM_Kinematic.idl
|
||||
|
||||
LIB_SERVER_IDL =
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOMBase_Tools.cxx
|
||||
// File : GEOMToolsGUI.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
@ -213,7 +213,7 @@ bool GEOMToolsGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
|
||||
else
|
||||
IsoV = "1";
|
||||
|
||||
GEOMBase_NbIsosDlg* NbIsosDlg = new GEOMBase_NbIsosDlg(QAD_Application::getDesktop(), tr("GEOM_MEN_ISOS"), TRUE);
|
||||
GEOMToolsGUI_NbIsosDlg* NbIsosDlg = new GEOMToolsGUI_NbIsosDlg(QAD_Application::getDesktop(), tr("GEOM_MEN_ISOS"), TRUE);
|
||||
int UIso = IsoU.toInt();
|
||||
int VIso = IsoV.toInt();
|
||||
|
||||
@ -313,7 +313,7 @@ bool GEOMToolsGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
|
||||
{
|
||||
QAD_PyEditor* PyEditor = QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getRightFrame()->getPyEditor();
|
||||
PyEditor->setText("from GEOM_usinggeom import *\n");
|
||||
PyEditor->setText(">>> ");
|
||||
//PyEditor->setText(">>> ");
|
||||
PyEditor->handleReturn();
|
||||
break;
|
||||
}
|
||||
@ -396,13 +396,12 @@ bool GEOMToolsGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
|
||||
}
|
||||
case 8033: // TRANSPARENCY - POPUP VIEWER
|
||||
{
|
||||
OCCViewer_Viewer3d* v3d;
|
||||
Handle(AIS_InteractiveContext) ic;
|
||||
if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() > VIEW_OCC) {
|
||||
if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_OCC) {
|
||||
OCCViewer_Viewer3d* v3d = ((OCCViewer_ViewFrame*)QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getRightFrame()->getViewFrame())->getViewer();
|
||||
Handle (AIS_InteractiveContext) ic = v3d->getAISContext();
|
||||
ic = v3d->getAISContext();
|
||||
}
|
||||
GEOMBase_TransparencyDlg *aDlg = new GEOMBase_TransparencyDlg(parent, "", Sel, ic);
|
||||
GEOMToolsGUI_TransparencyDlg *aDlg = new GEOMToolsGUI_TransparencyDlg(parent, "", Sel, ic);
|
||||
break;
|
||||
}
|
||||
case 8034: // ISOS - POPUP VIEWER
|
||||
@ -428,8 +427,8 @@ bool GEOMToolsGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
|
||||
else
|
||||
IsoV = "1";
|
||||
|
||||
GEOMBase_NbIsosDlg * NbIsosDlg =
|
||||
new GEOMBase_NbIsosDlg(QAD_Application::getDesktop(), tr("GEOM_MEN_ISOS"), TRUE);
|
||||
GEOMToolsGUI_NbIsosDlg * NbIsosDlg =
|
||||
new GEOMToolsGUI_NbIsosDlg(QAD_Application::getDesktop(), tr("GEOM_MEN_ISOS"), TRUE);
|
||||
|
||||
NbIsosDlg->SpinBoxU->setValue(IsoU.toInt());
|
||||
NbIsosDlg->SpinBoxV->setValue(IsoV.toInt());
|
||||
@ -533,6 +532,9 @@ void GEOMToolsGUI::OnEditDelete()
|
||||
SALOMEDS::AttributeIOR_var anIOR;
|
||||
|
||||
SALOME_ListIteratorOfListIO It(Sel->StoredIObjects());
|
||||
QAD_Operation* op = new SALOMEGUI_ImportOperation( QAD_Application::getDesktop()->getActiveStudy() );
|
||||
op->start();
|
||||
Standard_Boolean deleted = false;
|
||||
for(;It.More();It.Next()) {
|
||||
Handle(SALOME_InteractiveObject) IObject = It.Value();
|
||||
if(IObject->hasEntry()) {
|
||||
@ -598,15 +600,16 @@ void GEOMToolsGUI::OnEditDelete()
|
||||
/* Erase objects in Study */
|
||||
SALOMEDS::SObject_var obj = aStudy->FindObjectID(IObject->getEntry());
|
||||
if(!obj->_is_nil()) {
|
||||
QAD_Operation* op = new SALOMEGUI_ImportOperation(QAD_Application::getDesktop()->getActiveStudy());
|
||||
op->start();
|
||||
aStudyBuilder->RemoveObject(obj);
|
||||
op->finish();
|
||||
deleted = true;
|
||||
}
|
||||
|
||||
} /* IObject->hasEntry() */
|
||||
} /* more/next */
|
||||
|
||||
if (deleted) op->finish();
|
||||
else op->abort();
|
||||
|
||||
/* Clear any previous selection */
|
||||
Sel->ClearIObjects();
|
||||
QAD_Application::getDesktop()->getActiveStudy()->updateObjBrowser();
|
||||
@ -742,11 +745,11 @@ bool GEOMToolsGUI::Import(int aState)
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(father, "AttributePixMap");
|
||||
aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
|
||||
aPixmap->SetPixMap( "ICON_OBJBROWSER_Geometry" );
|
||||
aStudyBuilder->DefineComponentInstance( father, myGeom );
|
||||
if (aLocked) aStudy->GetProperties()->SetLocked(true);
|
||||
op->finish();
|
||||
}
|
||||
// if (aLocked) return false;
|
||||
aStudyBuilder->DefineComponentInstance( father, myGeom );
|
||||
father->ComponentIOR(myGeomGUI->GetFatherior());
|
||||
|
||||
QString nameShape = QAD_Tools::getFileNameFromPath(file,false) + QString("_%1").arg(myGeomGUI->GetNbGeom()++);
|
||||
|
@ -21,7 +21,7 @@
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOMBase_NbIsosDlg.cxx
|
||||
// File : GEOMToolsGUI_NbIsosDlg.cxx
|
||||
// Author :
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
@ -37,17 +37,17 @@ using namespace std;
|
||||
#include <qspinbox.h>
|
||||
|
||||
//=================================================================================
|
||||
// class : GEOMBase_NbIsosDlg()
|
||||
// purpose : Constructs a GEOMBase_NbIsosDlg which is a child of 'parent', with the
|
||||
// class : GEOMToolsGUI_NbIsosDlg()
|
||||
// purpose : Constructs a GEOMToolsGUI_NbIsosDlg which is a child of 'parent', with the
|
||||
// name 'name' and widget flags set to 'f'.
|
||||
// The dialog will by default be modeless, unless you set 'modal' to
|
||||
// TRUE to construct a modal dialog.
|
||||
//=================================================================================
|
||||
GEOMBase_NbIsosDlg::GEOMBase_NbIsosDlg(QWidget* parent, const char* name, bool modal, WFlags fl)
|
||||
GEOMToolsGUI_NbIsosDlg::GEOMToolsGUI_NbIsosDlg(QWidget* parent, const char* name, bool modal, WFlags fl)
|
||||
:QDialog( parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu)
|
||||
{
|
||||
if( !name )
|
||||
setName("GEOMBase_NbIsosDlg");
|
||||
setName("GEOMToolsGUI_NbIsosDlg");
|
||||
setCaption(name);
|
||||
setSizeGripEnabled(TRUE);
|
||||
QGridLayout* MyDialogLayout = new QGridLayout(this);
|
||||
@ -122,10 +122,10 @@ GEOMBase_NbIsosDlg::GEOMBase_NbIsosDlg(QWidget* parent, const char* name, bool m
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ~GEOMBase_NbIsosDlg()
|
||||
// function : ~GEOMToolsGUI_NbIsosDlg()
|
||||
// purpose : Destroys the object and frees any allocated resources
|
||||
//=================================================================================
|
||||
GEOMBase_NbIsosDlg::~GEOMBase_NbIsosDlg()
|
||||
GEOMToolsGUI_NbIsosDlg::~GEOMToolsGUI_NbIsosDlg()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
||||
|
@ -21,13 +21,13 @@
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOMBase_NbIsosDlg.h
|
||||
// File : GEOMToolsGUI_NbIsosDlg.h
|
||||
// Author :
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef GEOMBASE_NBISOSDLG_H
|
||||
#define GEOMBASE_NBISOSDLG_H
|
||||
#ifndef GEOMTOOLSGUI_NBISOSDLG_H
|
||||
#define GEOMTOOLSGUI_NBISOSDLG_H
|
||||
|
||||
#include <qdialog.h>
|
||||
|
||||
@ -36,16 +36,16 @@ class QSpinBox;
|
||||
class QPushButton;
|
||||
|
||||
//=================================================================================
|
||||
// class : GEOMBase_NbIsosDlg
|
||||
// class : GEOMToolsGUI_NbIsosDlg
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
class GEOMBase_NbIsosDlg : public QDialog
|
||||
class GEOMToolsGUI_NbIsosDlg : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
GEOMBase_NbIsosDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0);
|
||||
~GEOMBase_NbIsosDlg();
|
||||
GEOMToolsGUI_NbIsosDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0);
|
||||
~GEOMToolsGUI_NbIsosDlg();
|
||||
|
||||
QPushButton* buttonOk;
|
||||
QPushButton* buttonCancel;
|
||||
@ -56,4 +56,4 @@ public:
|
||||
|
||||
};
|
||||
|
||||
#endif // GEOMETRYGUI_NBISOSDLG_H
|
||||
#endif // GEOMTOOLSGUI_NBISOSDLG_H
|
||||
|
@ -21,7 +21,7 @@
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOMBase_TransparencyDlg.cxx
|
||||
// File : GEOMToolsGUI_TransparencyDlg.cxx
|
||||
// Author : Lucien PIGNOLONI
|
||||
// Module : GEOM
|
||||
|
||||
@ -30,6 +30,7 @@ using namespace std;
|
||||
|
||||
#include "QAD_RightFrame.h"
|
||||
#include "SALOME_ListIteratorOfListIO.hxx"
|
||||
#include "OCCViewer_Viewer3d.h"
|
||||
#include <AIS_InteractiveContext.hxx>
|
||||
|
||||
#include <qframe.h>
|
||||
@ -47,24 +48,24 @@ using namespace std;
|
||||
#include "VTKViewer_RenderWindowInteractor.h"
|
||||
|
||||
//=================================================================================
|
||||
// class : GEOMBase_TransparencyDlg()
|
||||
// class : GEOMToolsGUI_TransparencyDlg()
|
||||
// purpose : Constructs a GEOMBase_SUBSHAPE which is a child of 'parent', with the
|
||||
// name 'name' and widget flags set to 'f'.
|
||||
//
|
||||
// : WARNING : this dialog is modal !
|
||||
//
|
||||
//=================================================================================
|
||||
GEOMBase_TransparencyDlg::GEOMBase_TransparencyDlg(QWidget* parent, const char* name, SALOME_Selection* Sel, const Handle(AIS_InteractiveContext)& ic, bool modal, WFlags fl)
|
||||
GEOMToolsGUI_TransparencyDlg::GEOMToolsGUI_TransparencyDlg(QWidget* parent, const char* name, SALOME_Selection* Sel, const Handle(AIS_InteractiveContext)& ic, bool modal, WFlags fl)
|
||||
:QDialog(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu)
|
||||
{
|
||||
if(!name)
|
||||
setName("GEOMBase_TransparencyDlg");
|
||||
setName("GEOMToolsGUI_TransparencyDlg");
|
||||
resize(152, 107);
|
||||
setCaption(tr("GEOM_TRANSPARENCY_TITLE"));
|
||||
setSizeGripEnabled(TRUE);
|
||||
GEOMBase_TransparencyDlgLayout = new QGridLayout(this);
|
||||
GEOMBase_TransparencyDlgLayout->setSpacing(6);
|
||||
GEOMBase_TransparencyDlgLayout->setMargin(11);
|
||||
GEOMToolsGUI_TransparencyDlgLayout = new QGridLayout(this);
|
||||
GEOMToolsGUI_TransparencyDlgLayout->setSpacing(6);
|
||||
GEOMToolsGUI_TransparencyDlgLayout->setMargin(11);
|
||||
|
||||
/*************************************************************************/
|
||||
QGroupBox* GroupButtons = new QGroupBox( this, "GroupButtons" );
|
||||
@ -111,8 +112,8 @@ GEOMBase_TransparencyDlg::GEOMBase_TransparencyDlg(QWidget* parent, const char*
|
||||
GroupC1Layout->addMultiCellWidget( Slider1, 1, 1, 0, 2 );
|
||||
/*************************************************************************/
|
||||
|
||||
GEOMBase_TransparencyDlgLayout->addWidget(GroupC1, 0, 0);
|
||||
GEOMBase_TransparencyDlgLayout->addWidget(GroupButtons, 1, 0);
|
||||
GEOMToolsGUI_TransparencyDlgLayout->addWidget(GroupC1, 0, 0);
|
||||
GEOMToolsGUI_TransparencyDlgLayout->addWidget(GroupButtons, 1, 0);
|
||||
|
||||
/* Initialisations */
|
||||
this->myGeomGUI = GEOMContext::GetGeomGUI();
|
||||
@ -140,10 +141,10 @@ GEOMBase_TransparencyDlg::GEOMBase_TransparencyDlg(QWidget* parent, const char*
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ~GEOMBase_TransparencyDlg()
|
||||
// function : ~GEOMToolsGUI_TransparencyDlg()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
GEOMBase_TransparencyDlg::~GEOMBase_TransparencyDlg()
|
||||
GEOMToolsGUI_TransparencyDlg::~GEOMToolsGUI_TransparencyDlg()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
||||
@ -153,7 +154,7 @@ GEOMBase_TransparencyDlg::~GEOMBase_TransparencyDlg()
|
||||
// function : ClickOnOk()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
void GEOMBase_TransparencyDlg::ClickOnOk()
|
||||
void GEOMToolsGUI_TransparencyDlg::ClickOnOk()
|
||||
{
|
||||
accept();
|
||||
return;
|
||||
@ -164,7 +165,7 @@ void GEOMBase_TransparencyDlg::ClickOnOk()
|
||||
// function : ClickOnClose()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
void GEOMBase_TransparencyDlg::ClickOnClose()
|
||||
void GEOMToolsGUI_TransparencyDlg::ClickOnClose()
|
||||
{
|
||||
accept();
|
||||
return;
|
||||
@ -176,7 +177,7 @@ void GEOMBase_TransparencyDlg::ClickOnClose()
|
||||
// purpose : Called when value of slider change
|
||||
// : or the first time as initilisation
|
||||
//=================================================================================
|
||||
void GEOMBase_TransparencyDlg::ValueHasChanged(int newValue)
|
||||
void GEOMToolsGUI_TransparencyDlg::ValueHasChanged(int newValue)
|
||||
{
|
||||
if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_VTK) {
|
||||
// VTK
|
||||
@ -221,6 +222,8 @@ void GEOMBase_TransparencyDlg::ValueHasChanged(int newValue)
|
||||
}
|
||||
|
||||
QApplication::setOverrideCursor(Qt::waitCursor);
|
||||
OCCViewer_Viewer3d* v3d = ((OCCViewer_ViewFrame*)QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getRightFrame()->getViewFrame())->getViewer();
|
||||
Handle (AIS_InteractiveContext) ic = v3d->getAISContext();
|
||||
for(;It.More(); It.Next()) {
|
||||
Handle(SALOME_InteractiveObject) IObject = It.Value();
|
||||
Standard_Boolean found;
|
||||
@ -229,10 +232,10 @@ void GEOMBase_TransparencyDlg::ValueHasChanged(int newValue)
|
||||
QApplication::restoreOverrideCursor();
|
||||
return;
|
||||
}
|
||||
this->myIc->SetTransparency(Shape, newValue / 10.0, false);
|
||||
myIc->Redisplay(Shape, Standard_False, Standard_True);
|
||||
ic->SetTransparency(Shape, newValue / 10.0, false);
|
||||
ic->Redisplay(Shape, Standard_False, Standard_True);
|
||||
}
|
||||
myIc->UpdateCurrentViewer();
|
||||
ic->UpdateCurrentViewer();
|
||||
}
|
||||
QApplication::restoreOverrideCursor();
|
||||
return;
|
||||
|
@ -21,7 +21,7 @@
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : GEOMBase_TransparencyDlg.h
|
||||
// File : GEOMToolsGUI_TransparencyDlg.h
|
||||
// Author : Lucien PIGNOLONI
|
||||
// Module : GEOM
|
||||
// $Header$
|
||||
@ -51,23 +51,23 @@ class QSlider;
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// class : GEOMBase_TransparencyDlg
|
||||
// class : GEOMToolsGUI_TransparencyDlg
|
||||
// purpose :
|
||||
// : WARNING : that is a MODAL dialog.
|
||||
//=================================================================================
|
||||
class GEOMBase_TransparencyDlg : public QDialog
|
||||
class GEOMToolsGUI_TransparencyDlg : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
GEOMBase_TransparencyDlg( QWidget* parent = 0,
|
||||
GEOMToolsGUI_TransparencyDlg( QWidget* parent = 0,
|
||||
const char* name = 0,
|
||||
SALOME_Selection* Sel = 0,
|
||||
const Handle(AIS_InteractiveContext)& ic = 0,
|
||||
bool modal = TRUE,
|
||||
WFlags fl = 0 );
|
||||
|
||||
~GEOMBase_TransparencyDlg();
|
||||
~GEOMToolsGUI_TransparencyDlg();
|
||||
|
||||
private :
|
||||
|
||||
@ -89,7 +89,7 @@ public slots:
|
||||
void ValueHasChanged( int newValue ) ;
|
||||
|
||||
protected:
|
||||
QGridLayout* GEOMBase_TransparencyDlgLayout;
|
||||
QGridLayout* GEOMToolsGUI_TransparencyDlgLayout;
|
||||
QHBoxLayout* Layout1;
|
||||
QHBoxLayout* Layout2;
|
||||
};
|
||||
|
@ -49,7 +49,7 @@ LIB_MOC = \
|
||||
GEOMToolsGUI_NbIsosDlg.h \
|
||||
GEOMToolsGUI_TransparencyDlg.h
|
||||
|
||||
LIB_CLIENT_IDL = SALOMEDS_Attributes.idl
|
||||
LIB_CLIENT_IDL = SALOMEDS_Attributes.idl GEOM_Kinematic.idl
|
||||
|
||||
LIB_SERVER_IDL =
|
||||
|
||||
|
@ -58,6 +58,7 @@ LIB_CLIENT_IDL = SALOMEDS.idl \
|
||||
SALOME_Exception.idl \
|
||||
GEOM_Gen.idl \
|
||||
GEOM_Shape.idl \
|
||||
GEOM_Kinematic.idl \
|
||||
SALOME_Component.idl
|
||||
|
||||
EXPORT_SHAREDPYSCRIPTS=\
|
||||
|
@ -115,7 +115,7 @@ def addToStudy(aShape, aName):
|
||||
|
||||
#NRI : BugID 1682 : sg = SALOMEGUI_Swig()
|
||||
#NRI : BugID 1682 : sg.updateObjBrowser(0)
|
||||
salome.sg.updateObjBrowser(0)
|
||||
# salome.sg.updateObjBrowser(0)
|
||||
return id
|
||||
|
||||
def addToStudyInFather(aFather, aShape, aName):
|
||||
@ -141,7 +141,7 @@ def addToStudyInFather(aFather, aShape, aName):
|
||||
addArguments( aShape )
|
||||
|
||||
#NRI : BugID 1682 : sg.updateObjBrowser(0)
|
||||
salome.sg.updateObjBrowser(0)
|
||||
# salome.sg.updateObjBrowser(0)
|
||||
return id
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
@ -53,7 +53,7 @@ LIB_MOC = \
|
||||
GenerationGUI_FillingDlg.h \
|
||||
GenerationGUI_PipeDlg.h
|
||||
|
||||
LIB_CLIENT_IDL =
|
||||
LIB_CLIENT_IDL = GEOM_Kinematic.idl
|
||||
|
||||
LIB_SERVER_IDL =
|
||||
|
||||
|
240
src/KINEMATIC/Kinematic_Animation.cxx
Normal file
240
src/KINEMATIC/Kinematic_Animation.cxx
Normal file
@ -0,0 +1,240 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Animation.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
using namespace std;
|
||||
#include "Kinematic_Animation.hxx"
|
||||
|
||||
#include <Geom_Transformation.hxx>
|
||||
#include <AIS_Shape.hxx>
|
||||
#include <unistd.h>
|
||||
|
||||
//=======================================================================
|
||||
// profile
|
||||
// command to build a profile
|
||||
//=======================================================================
|
||||
Kinematic_Animation::Kinematic_Animation(){}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// profile
|
||||
// command to build a profile
|
||||
//=======================================================================
|
||||
Kinematic_Animation::Kinematic_Animation(Kinematic_Assembly* Ass, TopoDS_Shape frame,
|
||||
double duration, int nbseq, bool isinloop)
|
||||
{
|
||||
myAss = Ass;
|
||||
myFrame = frame;
|
||||
myDuration = duration;
|
||||
myNbSeq = nbseq;
|
||||
myIsInLoop = isinloop;
|
||||
IsCreated = false;
|
||||
myNbAIS = 1;
|
||||
this->SetMap();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ~Kinematic_Animation()
|
||||
// purpose : Destroys the object and frees any allocated resources
|
||||
//=================================================================================
|
||||
Kinematic_Animation::~Kinematic_Animation() {}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : SetMap()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void Kinematic_Animation::SetMap()
|
||||
{
|
||||
list <Kinematic_Contact *> ContactList = myAss->GetContactList();
|
||||
Kinematic_Contact* aContact;
|
||||
|
||||
list <Kinematic_Contact *>::const_iterator it = ContactList.begin();
|
||||
while(it != ContactList.end()) {
|
||||
aContact = *it;
|
||||
if(!myIndexToShape.Contains(aContact->Shape1()))
|
||||
myIndexToShape.Add(aContact->Shape1());
|
||||
|
||||
if(!myIndexToShape.Contains(aContact->Shape2()))
|
||||
myIndexToShape.Add(aContact->Shape2());
|
||||
|
||||
it++;
|
||||
}
|
||||
|
||||
for(int i = 1; i <= myIndexToShape.Extent(); i++) {
|
||||
it = ContactList.begin();
|
||||
list <Kinematic_Contact *> ContactListOfShape;
|
||||
TopoDS_Shape myShape = myIndexToShape.FindKey(i);
|
||||
while(it != ContactList.end()) {
|
||||
aContact = *it;
|
||||
if(myShape == aContact->Shape1() || myShape == aContact->Shape2())
|
||||
ContactListOfShape.push_back(aContact);
|
||||
it++;
|
||||
}
|
||||
myStlMapofShapeListOfContact[i] = ContactListOfShape;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : Animate()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void Kinematic_Animation::Animate(const Handle(AIS_InteractiveContext)& ic)
|
||||
{
|
||||
bool IsOk = false;
|
||||
for(int cpt = 1; cpt <= myIndexToShape.Extent(); cpt++) {
|
||||
TopoDS_Shape myShape = myIndexToShape.FindKey(cpt);
|
||||
if(myShape == myFrame)
|
||||
IsOk = true;
|
||||
}
|
||||
if(!IsOk)
|
||||
return;
|
||||
|
||||
myMovedShape.Clear();
|
||||
myMovedShape.Add(myFrame);
|
||||
|
||||
IsCreated = false;
|
||||
gp_Trsf aLoc;
|
||||
GetNextShape(ic, aLoc, myFrame, 1);
|
||||
IsCreated = true;
|
||||
|
||||
Handle(AIS_Shape) mySimulationShape;
|
||||
mySimulationShape = new AIS_Shape(TopoDS_Shape());
|
||||
mySimulationShape->Set(myFrame);
|
||||
mySimulationShape->SetColor(Quantity_NOC_RED);
|
||||
ic->Deactivate(mySimulationShape);
|
||||
ic->Display(mySimulationShape, Standard_False);
|
||||
ic->UpdateCurrentViewer();
|
||||
|
||||
double Step, Val;
|
||||
Step = 1.0 / myNbSeq;
|
||||
for(int i = 0; i <= myNbSeq; i++) {
|
||||
Val = i * Step;
|
||||
|
||||
myMovedShape.Clear();
|
||||
myMovedShape.Add(myFrame);
|
||||
|
||||
myNbAIS = 1;
|
||||
GetNextShape(ic, aLoc, myFrame, Val);
|
||||
|
||||
ic->UpdateCurrentViewer();
|
||||
usleep(myDuration / myNbSeq * 1e6);
|
||||
}
|
||||
|
||||
ic->Erase(mySimulationShape, Standard_True, Standard_False);
|
||||
ic->ClearPrs(mySimulationShape);
|
||||
|
||||
for(int i = 1; i <= myNbAIS; i++) {
|
||||
Handle(AIS_Shape) myShape = Handle(AIS_Shape)::DownCast(ListOfAIS.Value(i));
|
||||
ic->Erase(myShape, Standard_True, Standard_False);
|
||||
ic->ClearPrs(myShape);
|
||||
}
|
||||
|
||||
ic->UpdateCurrentViewer();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetNextShape()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void Kinematic_Animation::GetNextShape(const Handle(AIS_InteractiveContext)& ic,
|
||||
gp_Trsf& aLoc, TopoDS_Shape Shape1, double Step)
|
||||
{
|
||||
int j = 0;
|
||||
list <Kinematic_Contact *> ContactListOfShape;
|
||||
Kinematic_Contact* aContact;
|
||||
TopoDS_Shape myShape, myShape2, aNewShape;
|
||||
|
||||
for(int i = 1; i <= myIndexToShape.Extent(); i++) {
|
||||
myShape = myIndexToShape.FindKey(i);
|
||||
if(myShape == Shape1) {
|
||||
gp_Trsf aNewLoc = aLoc;
|
||||
ContactListOfShape = myStlMapofShapeListOfContact[i];
|
||||
list <Kinematic_Contact *>::const_iterator it = ContactListOfShape.begin();
|
||||
while(it != ContactListOfShape.end()) {
|
||||
aContact = *it;
|
||||
if(aContact->Shape1() == Shape1)
|
||||
myShape2 = aContact->Shape2();
|
||||
else if(aContact->Shape2() == Shape1)
|
||||
myShape2 = aContact->Shape1();
|
||||
|
||||
if(!myMovedShape.Contains(myShape2)) {
|
||||
myMovedShape.Add(myShape2);
|
||||
|
||||
if(!IsCreated) {
|
||||
Handle(AIS_Shape) mySimulationShape;
|
||||
mySimulationShape = new AIS_Shape(TopoDS_Shape());
|
||||
mySimulationShape->Set(myShape2);
|
||||
mySimulationShape->SetColor(Quantity_NOC_GREEN);
|
||||
ic->Deactivate(mySimulationShape);
|
||||
ListOfAIS.Append(mySimulationShape);
|
||||
}
|
||||
else
|
||||
MoveShape(ic, aLoc, aContact, Step);
|
||||
|
||||
GetNextShape(ic, aLoc, myShape2, Step);
|
||||
}
|
||||
aLoc = aNewLoc;
|
||||
it++;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : CreateShape()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void Kinematic_Animation::MoveShape(const Handle(AIS_InteractiveContext)& ic,
|
||||
gp_Trsf& aLoc, Kinematic_Contact* aContact,
|
||||
double Step)
|
||||
{
|
||||
gp_Trsf aTrans = aContact->GetTransformation(Step);
|
||||
aLoc = aLoc * aTrans;
|
||||
|
||||
Handle(AIS_Shape) mySimulationShape = Handle(AIS_Shape)::DownCast(ListOfAIS.Value(myNbAIS));
|
||||
Handle(Geom_Transformation) aGTrans = new Geom_Transformation();
|
||||
aGTrans->SetTrsf(aLoc);
|
||||
mySimulationShape->SetTransformation(aGTrans, false, false);
|
||||
|
||||
ic->Display(mySimulationShape, Standard_False);
|
||||
|
||||
myNbAIS++;
|
||||
return;
|
||||
}
|
80
src/KINEMATIC/Kinematic_Animation.hxx
Normal file
80
src/KINEMATIC/Kinematic_Animation.hxx
Normal file
@ -0,0 +1,80 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Animation.hxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef _KINEMATIC_ANIMATION_HXX
|
||||
#define _KINEMATIC_ANIMATION_HXX
|
||||
|
||||
#include "Kinematic_Assembly.hxx"
|
||||
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TDF_Label.hxx>
|
||||
#include <TopTools_IndexedMapOfShape.hxx>
|
||||
#include <AIS_InteractiveContext.hxx>
|
||||
#include <AIS_SequenceOfInteractive.hxx>
|
||||
|
||||
#include <list>
|
||||
#include <map>
|
||||
|
||||
class Kinematic_Animation
|
||||
{
|
||||
public:
|
||||
Kinematic_Animation();
|
||||
Kinematic_Animation(Kinematic_Assembly* Ass, TopoDS_Shape frame,
|
||||
double duration, int nbseq, bool isinloop);
|
||||
~Kinematic_Animation();
|
||||
|
||||
private:
|
||||
AIS_SequenceOfInteractive ListOfAIS;
|
||||
TopTools_IndexedMapOfShape myIndexToShape;
|
||||
TopTools_IndexedMapOfShape myMovedShape;
|
||||
map <int, list <Kinematic_Contact *> > myStlMapofShapeListOfContact;
|
||||
Kinematic_Assembly* myAss;
|
||||
TopoDS_Shape myFrame;
|
||||
double myDuration;
|
||||
int myNbSeq;
|
||||
int myNbAIS;
|
||||
bool myIsInLoop;
|
||||
bool IsCreated;
|
||||
|
||||
public:
|
||||
void SetMap();
|
||||
void Animate(const Handle(AIS_InteractiveContext)& ic);
|
||||
void GetNextShape(const Handle (AIS_InteractiveContext)& ic,
|
||||
gp_Trsf& aLoc, TopoDS_Shape Shape1, double Step);
|
||||
void MoveShape(const Handle(AIS_InteractiveContext)& ic,
|
||||
gp_Trsf& aLoc, Kinematic_Contact* aContact,
|
||||
double Step);
|
||||
|
||||
TopoDS_Shape& Frame(){return myFrame;};
|
||||
double& Duration(){return myDuration;};
|
||||
int& NbSeq(){return myNbSeq;};
|
||||
bool& IsInLoop(){return myIsInLoop;};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
69
src/KINEMATIC/Kinematic_Assembly.cxx
Normal file
69
src/KINEMATIC/Kinematic_Assembly.cxx
Normal file
@ -0,0 +1,69 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Assembly.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
using namespace std;
|
||||
#include "Kinematic_Assembly.hxx"
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// profile
|
||||
// command to build a profile
|
||||
//=======================================================================
|
||||
Kinematic_Assembly::Kinematic_Assembly()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ~Kinematic_Assembly()
|
||||
// purpose : Destroys the object and frees any allocated resources
|
||||
//=================================================================================
|
||||
Kinematic_Assembly::~Kinematic_Assembly()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetContactList()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
list <Kinematic_Contact *> Kinematic_Assembly::GetContactList()
|
||||
{
|
||||
return ContactList;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : AddContact()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
void Kinematic_Assembly::AddContact(Kinematic_Contact* aContact)
|
||||
{
|
||||
ContactList.push_back(aContact);
|
||||
}
|
52
src/KINEMATIC/Kinematic_Assembly.hxx
Normal file
52
src/KINEMATIC/Kinematic_Assembly.hxx
Normal file
@ -0,0 +1,52 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Assembly.hxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef _KINEMATIC_ASSEMBLY_HXX
|
||||
#define _KINEMATIC_ASSEMBLY_HXX
|
||||
|
||||
#include "Kinematic_Contact.hxx"
|
||||
|
||||
#include <list>
|
||||
|
||||
class Kinematic_Assembly
|
||||
{
|
||||
|
||||
public:
|
||||
Kinematic_Assembly();
|
||||
~Kinematic_Assembly();
|
||||
|
||||
private:
|
||||
list <Kinematic_Contact *> ContactList;
|
||||
|
||||
public:
|
||||
list <Kinematic_Contact *> GetContactList();
|
||||
void AddContact(Kinematic_Contact* aContact);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
133
src/KINEMATIC/Kinematic_Contact.cxx
Normal file
133
src/KINEMATIC/Kinematic_Contact.cxx
Normal file
@ -0,0 +1,133 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Contact.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
using namespace std;
|
||||
#include "Kinematic_Contact.hxx"
|
||||
|
||||
//=======================================================================
|
||||
// profile
|
||||
// command to build a profile
|
||||
//=======================================================================
|
||||
Kinematic_Contact::Kinematic_Contact(){}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// profile
|
||||
// command to build a profile
|
||||
//=======================================================================
|
||||
Kinematic_Contact::Kinematic_Contact(TopoDS_Shape Shape1, TopoDS_Shape Shape2,
|
||||
int type, double step)
|
||||
{
|
||||
myType = type;
|
||||
myShape1 = Shape1;
|
||||
myShape2 = Shape2;
|
||||
myStep = step;
|
||||
|
||||
gp_Pnt Origin(0, 0, 0);
|
||||
gp_Dir DirX(1, 0, 0);
|
||||
gp_Dir DirY(0, 1, 0);
|
||||
gp_Dir DirZ(0, 0, 1);
|
||||
|
||||
Kinematic_Position Pos(Origin, DirX, DirY, DirZ);
|
||||
Kinematic_Rotation Rot(1, 2, 3, 0, 0, 0);
|
||||
Kinematic_Translation Trans(0, 0, 0);
|
||||
|
||||
myPosition = Pos;
|
||||
myRotation = Rot;
|
||||
myTranslation = Trans;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ~Kinematic_Contact()
|
||||
// purpose : Destroys the object and frees any allocated resources
|
||||
//=================================================================================
|
||||
Kinematic_Contact::~Kinematic_Contact() {}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetTransformation()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
gp_Trsf Kinematic_Contact::GetTransformation(double Step)
|
||||
{
|
||||
gp_Vec aVect;
|
||||
gp_Trsf aTransformation, aRot, aRot1, aRot2, aRot3;
|
||||
|
||||
aVect.SetCoord(Step * myTranslation.ValX(), Step * myTranslation.ValY(), Step * myTranslation.ValZ());
|
||||
aTransformation.SetTranslation(aVect);
|
||||
|
||||
if(myRotation.Rot1() == 1) { //Axe X
|
||||
aRot1.SetRotation(myPosition.AxeX(), Step * myRotation.ValX() * PI / 180);
|
||||
if(myRotation.Rot2() == 2) {
|
||||
aRot2.SetRotation(myPosition.AxeY(), Step * myRotation.ValY() * PI / 180);
|
||||
aRot3.SetRotation(myPosition.AxeZ(), Step * myRotation.ValZ() * PI / 180);
|
||||
} else {
|
||||
aRot2.SetRotation(myPosition.AxeZ(), Step * myRotation.ValZ() * PI / 180);
|
||||
aRot3.SetRotation(myPosition.AxeY(), Step * myRotation.ValY() * PI / 180);
|
||||
}
|
||||
} else if(myRotation.Rot1() == 2) { //Axe Y
|
||||
aRot1.SetRotation(myPosition.AxeY(), Step * myRotation.ValY() * PI / 180);
|
||||
if(myRotation.Rot2() == 1) {
|
||||
aRot2.SetRotation(myPosition.AxeX(), Step * myRotation.ValX() * PI / 180);
|
||||
aRot3.SetRotation(myPosition.AxeZ(), Step * myRotation.ValZ() * PI / 180);
|
||||
} else {
|
||||
aRot2.SetRotation(myPosition.AxeZ(), Step * myRotation.ValZ() * PI / 180);
|
||||
aRot3.SetRotation(myPosition.AxeX(), Step * myRotation.ValX() * PI / 180);
|
||||
}
|
||||
} else if(myRotation.Rot1() == 3) { //Axe Z
|
||||
aRot1.SetRotation(myPosition.AxeZ(), Step * myRotation.ValZ() * PI / 180);
|
||||
if(myRotation.Rot2() == 1) {
|
||||
aRot2.SetRotation(myPosition.AxeX(), Step * myRotation.ValX() * PI / 180);
|
||||
aRot3.SetRotation(myPosition.AxeY(), Step * myRotation.ValY() * PI / 180);
|
||||
} else {
|
||||
aRot2.SetRotation(myPosition.AxeY(), Step * myRotation.ValY() * PI / 180);
|
||||
aRot3.SetRotation(myPosition.AxeX(), Step * myRotation.ValX() * PI / 180);
|
||||
}
|
||||
}
|
||||
|
||||
aRot = aRot1 * aRot2 * aRot3;
|
||||
aTransformation = aTransformation * aRot;
|
||||
|
||||
return aTransformation;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : GetLocation()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
TopLoc_Location Kinematic_Contact::GetLocation()
|
||||
{
|
||||
gp_Trsf aTrans;
|
||||
|
||||
aTrans.SetTransformation(myPosition.Axe3());
|
||||
TopLoc_Location aLoc(aTrans);
|
||||
|
||||
return aLoc;
|
||||
}
|
80
src/KINEMATIC/Kinematic_Contact.hxx
Normal file
80
src/KINEMATIC/Kinematic_Contact.hxx
Normal file
@ -0,0 +1,80 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Contact.hxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef _KINEMATIC_CONTACT_HXX
|
||||
#define _KINEMATIC_CONTACT_HXX
|
||||
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <TDF_Label.hxx>
|
||||
#include <gp_Trsf.hxx>
|
||||
#include <TopLoc_Location.hxx>
|
||||
|
||||
#include "Kinematic_Position.hxx"
|
||||
#include "Kinematic_Rotation.hxx"
|
||||
#include "Kinematic_Translation.hxx"
|
||||
|
||||
class Kinematic_Contact
|
||||
{
|
||||
public:
|
||||
Kinematic_Contact();
|
||||
Kinematic_Contact(TopoDS_Shape Shape1, TopoDS_Shape Shape2,
|
||||
int type, double step);
|
||||
~Kinematic_Contact();
|
||||
|
||||
private:
|
||||
int myType;
|
||||
TopoDS_Shape myShape1;
|
||||
TopoDS_Shape myShape2;
|
||||
double myStep;
|
||||
Kinematic_Position myPosition;
|
||||
Kinematic_Rotation myRotation;
|
||||
Kinematic_Translation myTranslation;
|
||||
|
||||
public:
|
||||
gp_Trsf GetTransformation(double Step = 1);
|
||||
TopLoc_Location GetLocation();
|
||||
|
||||
void Type(int Type){myType = Type;};
|
||||
void Shape1(TopoDS_Shape Shape1){myShape1 = Shape1;};
|
||||
void Shape2(TopoDS_Shape Shape2){myShape2 = Shape2;};
|
||||
void Step(double Step){myStep = Step;};
|
||||
void Position(Kinematic_Position& Position){myPosition = Position;};
|
||||
void Rotation(Kinematic_Rotation& Rotation){myRotation = Rotation;};
|
||||
void Translation(Kinematic_Translation& Translation){myTranslation = Translation;};
|
||||
|
||||
int& Type(){return myType;};
|
||||
TopoDS_Shape& Shape1(){return myShape1;};
|
||||
TopoDS_Shape& Shape2(){return myShape2;};
|
||||
double& Step(){return myStep;};
|
||||
Kinematic_Position& Position(){return myPosition;};
|
||||
Kinematic_Rotation& Rotation(){return myRotation;};
|
||||
Kinematic_Translation& Translation(){return myTranslation;};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
107
src/KINEMATIC/Kinematic_Position.cxx
Normal file
107
src/KINEMATIC/Kinematic_Position.cxx
Normal file
@ -0,0 +1,107 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Position.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
using namespace std;
|
||||
#include "Kinematic_Position.hxx"
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// profile
|
||||
// command to build a profile
|
||||
//=======================================================================
|
||||
Kinematic_Position::Kinematic_Position(){}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// profile
|
||||
// command to build a profile
|
||||
//=======================================================================
|
||||
Kinematic_Position::Kinematic_Position(gp_Pnt Origin, gp_Dir DirX, gp_Dir DirY, gp_Dir DirZ)
|
||||
{
|
||||
myOrigin = Origin;
|
||||
myDirX = DirX;
|
||||
myDirY = DirY;
|
||||
myDirZ = DirZ;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ~Kinematic_Position()
|
||||
// purpose : Destroys the object and frees any allocated resources
|
||||
//=================================================================================
|
||||
Kinematic_Position::~Kinematic_Position() {}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : AxeX()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
gp_Ax1 Kinematic_Position::AxeX()
|
||||
{
|
||||
gp_Ax1 anAxe;
|
||||
anAxe.SetLocation(myOrigin);
|
||||
anAxe.SetDirection(myDirX);
|
||||
return anAxe;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : AxeY()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
gp_Ax1 Kinematic_Position::AxeY()
|
||||
{
|
||||
gp_Ax1 anAxe;
|
||||
anAxe.SetLocation(myOrigin);
|
||||
anAxe.SetDirection(myDirY);
|
||||
return anAxe;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : AxeZ()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
gp_Ax1 Kinematic_Position::AxeZ()
|
||||
{
|
||||
gp_Ax1 anAxe;
|
||||
anAxe.SetLocation(myOrigin);
|
||||
anAxe.SetDirection(myDirZ);
|
||||
return anAxe;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : Axe3()
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
gp_Ax3 Kinematic_Position::Axe3()
|
||||
{
|
||||
gp_Ax3 anAxe3(myOrigin, myDirZ, myDirX);
|
||||
return anAxe3;
|
||||
}
|
70
src/KINEMATIC/Kinematic_Position.hxx
Normal file
70
src/KINEMATIC/Kinematic_Position.hxx
Normal file
@ -0,0 +1,70 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Position.hxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef _KINEMATIC_POSITION_HXX
|
||||
#define _KINEMATIC_POSITION_HXX
|
||||
|
||||
#include <TopoDS_Shape.hxx>
|
||||
#include <gp_Dir.hxx>
|
||||
#include <gp_Pnt.hxx>
|
||||
#include <gp_Ax1.hxx>
|
||||
#include <gp_Ax3.hxx>
|
||||
|
||||
class Kinematic_Position
|
||||
{
|
||||
public:
|
||||
Kinematic_Position();
|
||||
Kinematic_Position(gp_Pnt Origin, gp_Dir DirX, gp_Dir DirY, gp_Dir DirZ);
|
||||
~Kinematic_Position();
|
||||
|
||||
private:
|
||||
gp_Pnt myOrigin;
|
||||
gp_Dir myDirX;
|
||||
gp_Dir myDirY;
|
||||
gp_Dir myDirZ;
|
||||
|
||||
public:
|
||||
void Origin(const gp_Pnt& Origin){myOrigin = Origin;};
|
||||
void DirX(const gp_Dir& DirX){myDirX = DirX;};
|
||||
void DirY(const gp_Dir& DirY){myDirY = DirY;};
|
||||
void DirZ(const gp_Dir& DirZ){myDirZ = DirZ;};
|
||||
|
||||
gp_Pnt& Origin(){return myOrigin;};
|
||||
gp_Dir& DirX(){return myDirX;};
|
||||
gp_Dir& DirY(){return myDirY;};
|
||||
gp_Dir& DirZ(){return myDirZ;};
|
||||
|
||||
gp_Ax1 AxeX();
|
||||
gp_Ax1 AxeY();
|
||||
gp_Ax1 AxeZ();
|
||||
|
||||
gp_Ax3 Axe3();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
60
src/KINEMATIC/Kinematic_Rotation.cxx
Normal file
60
src/KINEMATIC/Kinematic_Rotation.cxx
Normal file
@ -0,0 +1,60 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Rotation.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
using namespace std;
|
||||
#include "Kinematic_Rotation.hxx"
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// profile
|
||||
// command to build a profile
|
||||
//=======================================================================
|
||||
Kinematic_Rotation::Kinematic_Rotation(){}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// profile
|
||||
// command to build a profile
|
||||
//=======================================================================
|
||||
Kinematic_Rotation::Kinematic_Rotation(int Rot1, int Rot2, int Rot3, double ValX, double ValY, double ValZ)
|
||||
{
|
||||
myRot1 = Rot1;
|
||||
myRot2 = Rot2;
|
||||
myRot3 = Rot3;
|
||||
|
||||
myValX = ValX;
|
||||
myValY = ValY;
|
||||
myValZ = ValZ;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ~Kinematic_Rotation()
|
||||
// purpose : Destroys the object and frees any allocated resources
|
||||
//=================================================================================
|
||||
Kinematic_Rotation::~Kinematic_Rotation() {}
|
65
src/KINEMATIC/Kinematic_Rotation.hxx
Normal file
65
src/KINEMATIC/Kinematic_Rotation.hxx
Normal file
@ -0,0 +1,65 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Rotation.hxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef _KINEMATIC_ROTATION_HXX
|
||||
#define _KINEMATIC_ROTATION_HXX
|
||||
|
||||
class Kinematic_Rotation
|
||||
{
|
||||
public:
|
||||
Kinematic_Rotation();
|
||||
Kinematic_Rotation(int Rot1, int Rot2, int Rot3, double ValX, double ValY, double ValZ);
|
||||
~Kinematic_Rotation();
|
||||
|
||||
private:
|
||||
int myRot1;
|
||||
int myRot2;
|
||||
int myRot3;
|
||||
|
||||
double myValX;
|
||||
double myValY;
|
||||
double myValZ;
|
||||
|
||||
public:
|
||||
void Rot1(int Rot1){myRot1 = Rot1;};
|
||||
void Rot2(int Rot2){myRot2 = Rot2;};
|
||||
void Rot3(int Rot3){myRot3 = Rot3;};
|
||||
void ValX(double ValX){myValX = ValX;};
|
||||
void ValY(double ValY){myValY = ValY;};
|
||||
void ValZ(double ValZ){myValZ = ValZ;};
|
||||
|
||||
int& Rot1(){return myRot1;};
|
||||
int& Rot2(){return myRot2;};
|
||||
int& Rot3(){return myRot3;};
|
||||
double& ValX(){return myValX;};
|
||||
double& ValY(){return myValY;};
|
||||
double& ValZ(){return myValZ;};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
56
src/KINEMATIC/Kinematic_Translation.cxx
Normal file
56
src/KINEMATIC/Kinematic_Translation.cxx
Normal file
@ -0,0 +1,56 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Translation.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
using namespace std;
|
||||
#include "Kinematic_Translation.hxx"
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// profile
|
||||
// command to build a profile
|
||||
//=======================================================================
|
||||
Kinematic_Translation::Kinematic_Translation(){}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// profile
|
||||
// command to build a profile
|
||||
//=======================================================================
|
||||
Kinematic_Translation::Kinematic_Translation(double ValX, double ValY, double ValZ)
|
||||
{
|
||||
myValX = ValX;
|
||||
myValY = ValY;
|
||||
myValZ = ValZ;
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// function : ~Kinematic_Translation()
|
||||
// purpose : Destroys the object and frees any allocated resources
|
||||
//=================================================================================
|
||||
Kinematic_Translation::~Kinematic_Translation() {}
|
55
src/KINEMATIC/Kinematic_Translation.hxx
Normal file
55
src/KINEMATIC/Kinematic_Translation.hxx
Normal file
@ -0,0 +1,55 @@
|
||||
// GEOM KINEMATIC
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : Kinematic_Translation.hxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef _KINEMATIC_TRANSLATION_HXX
|
||||
#define _KINEMATIC_TRANSLATION_HXX
|
||||
|
||||
class Kinematic_Translation
|
||||
{
|
||||
public:
|
||||
Kinematic_Translation();
|
||||
Kinematic_Translation(double ValX, double ValY, double ValZ);
|
||||
~Kinematic_Translation();
|
||||
|
||||
private:
|
||||
double myValX;
|
||||
double myValY;
|
||||
double myValZ;
|
||||
|
||||
public:
|
||||
void ValX(double ValX){myValX = ValX;};
|
||||
void ValY(double ValY){myValY = ValY;};
|
||||
void ValZ(double ValZ){myValZ = ValZ;};
|
||||
|
||||
double& ValX(){return myValX;};
|
||||
double& ValY(){return myValY;};
|
||||
double& ValZ(){return myValZ;};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
61
src/KINEMATIC/Makefile.in
Normal file
61
src/KINEMATIC/Makefile.in
Normal file
@ -0,0 +1,61 @@
|
||||
# GEOM GEOMBASE :
|
||||
#
|
||||
# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2.1 of the License.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
#
|
||||
#
|
||||
#
|
||||
# File : Makefile.in
|
||||
# Author : Damien COQUERET (OCC)
|
||||
# Module : GEOM
|
||||
# $Header:
|
||||
|
||||
top_srcdir=@top_srcdir@
|
||||
top_builddir=../..
|
||||
srcdir=@srcdir@
|
||||
VPATH=.:@srcdir@:@top_srcdir@/idl
|
||||
|
||||
|
||||
@COMMENCE@
|
||||
|
||||
# Libraries targets
|
||||
LIB = libGEOMKinematic.la
|
||||
LIB_SRC = Kinematic_Position.cxx \
|
||||
Kinematic_Rotation.cxx \
|
||||
Kinematic_Translation.cxx \
|
||||
Kinematic_Contact.cxx \
|
||||
Kinematic_Assembly.cxx \
|
||||
Kinematic_Animation.cxx
|
||||
LIB_CLIENT_IDL =
|
||||
|
||||
# header files
|
||||
EXPORT_HEADERS = Kinematic_Position.hxx \
|
||||
Kinematic_Rotation.hxx \
|
||||
Kinematic_Translation.hxx \
|
||||
Kinematic_Contact.hxx \
|
||||
Kinematic_Assembly.hxx \
|
||||
Kinematic_Animation.hxx
|
||||
|
||||
# additionnal information to compil and link file
|
||||
CPPFLAGS += $(OCC_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome
|
||||
CXXFLAGS += $(OCC_CXXFLAGS) -I${KERNEL_ROOT_DIR}/include/salome
|
||||
|
||||
LDFLAGS += -L${KERNEL_ROOT_DIR}/lib/salome
|
||||
|
||||
@CONCLUDE@
|
708
src/KinematicGUI/KinematicGUI.cxx
Normal file
708
src/KinematicGUI/KinematicGUI.cxx
Normal file
@ -0,0 +1,708 @@
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : KinematicGUI.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
using namespace std;
|
||||
#include "KinematicGUI.h"
|
||||
|
||||
#include "QAD_RightFrame.h"
|
||||
#include "OCCViewer_Viewer3d.h"
|
||||
#include "SALOMEGUI_QtCatchCorbaException.hxx"
|
||||
#include "SALOMEGUI_ImportOperation.h"
|
||||
|
||||
#include <list>
|
||||
#include <map>
|
||||
|
||||
#include "KinematicGUI_ContactDlg.h" // Method CONTACT
|
||||
#include "KinematicGUI_ContactHDlg.h" // Method CONTACT HELICOIDAL
|
||||
#include "KinematicGUI_PositionDlg.h" // Method POSITION
|
||||
#include "KinematicGUI_RotationDlg.h" // Method ROTATION
|
||||
#include "KinematicGUI_TranslationDlg.h" // Method TRANSLATION
|
||||
#include "KinematicGUI_AnimationDlg.h" // Method ANIMATION
|
||||
|
||||
//=======================================================================
|
||||
// function : KinematicGUI()
|
||||
// purpose : Constructor
|
||||
//=======================================================================
|
||||
KinematicGUI::KinematicGUI() :
|
||||
QObject()
|
||||
{
|
||||
myGeomBase = new GEOMBase();
|
||||
myGeomGUI = GEOMContext::GetGeomGUI();
|
||||
myGeom = myGeomGUI->myComponentGeom;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : ~KinematicGUI()
|
||||
// purpose : Destructor
|
||||
//=======================================================================
|
||||
KinematicGUI::~KinematicGUI()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : OnGUIEvent()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
bool KinematicGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
|
||||
{
|
||||
KinematicGUI* myKinematicGUI = new KinematicGUI();
|
||||
myKinematicGUI->myGeomGUI->EmitSignalDeactivateDialog();
|
||||
SALOME_Selection* Sel = SALOME_Selection::Selection(QAD_Application::getDesktop()->getActiveStudy()->getSelection());
|
||||
|
||||
switch (theCommandID)
|
||||
{
|
||||
case 611: // ASSEMBLY
|
||||
{
|
||||
myKinematicGUI->AddNewAssembly();
|
||||
break;
|
||||
}
|
||||
case 61201: // EMBEDDING
|
||||
{
|
||||
KinematicGUI_ContactDlg *aDlg = new KinematicGUI_ContactDlg(parent, "", myKinematicGUI, Sel, 0);
|
||||
break;
|
||||
}
|
||||
case 61202: // PIVOT
|
||||
{
|
||||
KinematicGUI_ContactDlg *aDlg = new KinematicGUI_ContactDlg(parent, "", myKinematicGUI, Sel, 1);
|
||||
break;
|
||||
}
|
||||
case 61203: // SLIDE
|
||||
{
|
||||
KinematicGUI_ContactDlg *aDlg = new KinematicGUI_ContactDlg(parent, "", myKinematicGUI, Sel, 2);
|
||||
break;
|
||||
}
|
||||
case 61204: // SLIDING PIVOT
|
||||
{
|
||||
KinematicGUI_ContactDlg *aDlg = new KinematicGUI_ContactDlg(parent, "", myKinematicGUI, Sel, 3);
|
||||
break;
|
||||
}
|
||||
case 61205: // SPHERICAL
|
||||
{
|
||||
KinematicGUI_ContactDlg *aDlg = new KinematicGUI_ContactDlg(parent, "", myKinematicGUI, Sel, 4);
|
||||
break;
|
||||
}
|
||||
case 61206: // PLANE
|
||||
{
|
||||
KinematicGUI_ContactDlg *aDlg = new KinematicGUI_ContactDlg(parent, "", myKinematicGUI, Sel, 5);
|
||||
break;
|
||||
}
|
||||
case 61207: // ANNULAR
|
||||
{
|
||||
KinematicGUI_ContactDlg *aDlg = new KinematicGUI_ContactDlg(parent, "", myKinematicGUI, Sel, 6);
|
||||
break;
|
||||
}
|
||||
case 61208: // RECTILINEAR
|
||||
{
|
||||
KinematicGUI_ContactDlg *aDlg = new KinematicGUI_ContactDlg(parent, "", myKinematicGUI, Sel, 7);
|
||||
break;
|
||||
}
|
||||
case 61209: // PONCTUAL
|
||||
{
|
||||
KinematicGUI_ContactDlg *aDlg = new KinematicGUI_ContactDlg(parent, "", myKinematicGUI, Sel, 8);
|
||||
break;
|
||||
}
|
||||
case 61210: // HELICOIDAL
|
||||
{
|
||||
KinematicGUI_ContactHDlg *aDlg = new KinematicGUI_ContactHDlg(parent, "", myKinematicGUI, Sel);
|
||||
break;
|
||||
}
|
||||
case 6131: // ROTATION
|
||||
{
|
||||
KinematicGUI_PositionDlg *aDlg = new KinematicGUI_PositionDlg(parent, "", myKinematicGUI, Sel, true);
|
||||
break;
|
||||
}
|
||||
case 6132: // ROTATION
|
||||
{
|
||||
KinematicGUI_RotationDlg *aDlg = new KinematicGUI_RotationDlg(parent, "", myKinematicGUI, Sel, true);
|
||||
break;
|
||||
}
|
||||
case 6133: // TRANSLATION
|
||||
{
|
||||
KinematicGUI_TranslationDlg *aDlg = new KinematicGUI_TranslationDlg(parent, "", myKinematicGUI, Sel, true);
|
||||
break;
|
||||
}
|
||||
case 614: // ANIMATION
|
||||
{
|
||||
KinematicGUI_AnimationDlg *aDlg = new KinematicGUI_AnimationDlg(parent, "", myKinematicGUI, Sel);
|
||||
break;
|
||||
}
|
||||
case 6141: // RUN ANIMATION
|
||||
{
|
||||
if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() != VIEW_OCC)
|
||||
break;
|
||||
myKinematicGUI->RunAnimation(Sel);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
parent->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID));
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : AddNewAssembly()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
void KinematicGUI::AddNewAssembly()
|
||||
{
|
||||
try {
|
||||
GEOM::GEOM_Assembly_ptr result = myGeom->InitAssembly();
|
||||
if(result->_is_nil()) {
|
||||
QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_NULLSHAPE"));
|
||||
return;
|
||||
}
|
||||
|
||||
if(this->AddAssemblyInStudy(result))
|
||||
QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_DONE"));
|
||||
}
|
||||
catch(const SALOME::SALOME_Exception& S_ex) {
|
||||
QtCatchCorbaException(S_ex);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : AddContact()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
void KinematicGUI::AddContact(GEOM::GEOM_Assembly_ptr Ass, GEOM::GEOM_Shape_ptr Shape1,
|
||||
GEOM::GEOM_Shape_ptr Shape2, int type, double step)
|
||||
{
|
||||
try {
|
||||
GEOM::GEOM_Contact_ptr result = myGeom->AddContact(Ass, Shape1, Shape2, type, step);
|
||||
if(result->_is_nil()) {
|
||||
QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_NULLSHAPE"));
|
||||
return;
|
||||
}
|
||||
|
||||
Ass->AddContact(result);
|
||||
if(this->AddContactInStudy(Ass, result))
|
||||
QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_DONE"));
|
||||
}
|
||||
catch(const SALOME::SALOME_Exception& S_ex) {
|
||||
QtCatchCorbaException(S_ex);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : AddAnimation()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
void KinematicGUI::AddAnimation(GEOM::GEOM_Assembly_ptr Ass, GEOM::GEOM_Shape_ptr Shape1,
|
||||
double Duration, int NbSeq, bool IsInLoop)
|
||||
{
|
||||
try {
|
||||
GEOM::GEOM_Animation_ptr result = myGeom->AddAnimation(Ass, Shape1, Duration, NbSeq, IsInLoop);
|
||||
if(result->_is_nil()) {
|
||||
QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_NULLSHAPE"));
|
||||
return;
|
||||
}
|
||||
|
||||
if(this->AddAnimationInStudy(result))
|
||||
QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_DONE"));
|
||||
}
|
||||
catch(const SALOME::SALOME_Exception& S_ex) {
|
||||
QtCatchCorbaException(S_ex);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// function : AddAssemblyInStudy()
|
||||
// purpose :
|
||||
//=====================================================================================
|
||||
bool KinematicGUI::AddAssemblyInStudy(GEOM::GEOM_Assembly_ptr aAssembly)
|
||||
{
|
||||
SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
|
||||
SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder();
|
||||
SALOMEDS::GenericAttribute_var anAttr;
|
||||
SALOMEDS::AttributeName_var aName;
|
||||
SALOMEDS::AttributePixMap_var aPixmap;
|
||||
SALOMEDS::AttributeIOR_var anIOR;
|
||||
SALOMEDS::AttributeComment_var aType;
|
||||
|
||||
SALOMEDS::SComponent_var father = aStudy->FindComponent("GEOM");
|
||||
int aLocked = false;
|
||||
if(father->_is_nil()) {
|
||||
QAD_Operation* op = new SALOMEGUI_ImportOperation(QAD_Application::getDesktop()->getActiveStudy());
|
||||
op->start();
|
||||
aLocked = aStudy->GetProperties()->IsLocked();
|
||||
if(aLocked)
|
||||
aStudy->GetProperties()->SetLocked(false);
|
||||
father = aStudyBuilder->NewComponent("GEOM");
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(father, "AttributeName");
|
||||
aName = SALOMEDS::AttributeName::_narrow(anAttr);
|
||||
aName->SetValue(QAD_Application::getDesktop()->getComponentUserName("GEOM"));
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(father, "AttributePixMap");
|
||||
aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
|
||||
aPixmap->SetPixMap("ICON_OBJBROWSER_Geometry");
|
||||
if(aLocked)
|
||||
aStudy->GetProperties()->SetLocked(true);
|
||||
op->finish();
|
||||
}
|
||||
|
||||
aStudyBuilder->DefineComponentInstance(father, myGeom);
|
||||
father->ComponentIOR(myGeomGUI->GetFatherior());
|
||||
|
||||
SALOMEDS::SObject_var fatherSF = aStudy->FindObjectID(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->entry());
|
||||
|
||||
TCollection_AsciiString nameG("Assembly_");
|
||||
nameG += TCollection_AsciiString(myGeomGUI->GetNbGeom()++) + TCollection_AsciiString("\0");
|
||||
|
||||
// open transaction
|
||||
QAD_Operation* op = new SALOMEGUI_ImportOperation(QAD_Application::getDesktop()->getActiveStudy());
|
||||
op->start();
|
||||
|
||||
SALOMEDS::SObject_var newObj = aStudyBuilder->NewObject(father);
|
||||
/* For the shape inserted into the study we set its field 'studyshapeid' */
|
||||
/* so the shape will contain its corresponding entry in the study Ocaf doc. */
|
||||
aAssembly->StudyShapeId(newObj->GetID());
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeIOR");
|
||||
anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
|
||||
anIOR->SetValue(aAssembly->Name());
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeName");
|
||||
aName = SALOMEDS::AttributeName::_narrow(anAttr);
|
||||
aName->SetValue(nameG.ToCString());
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeComment");
|
||||
aType = SALOMEDS::AttributeComment::_narrow(anAttr);
|
||||
aType->SetValue("Kinematic_Assembly");
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributePixMap");
|
||||
aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
|
||||
aPixmap->SetPixMap("ICON_OBJBROWSER_ASSEMBLY");
|
||||
|
||||
SALOMEDS::SObject_var newObj1 = aStudyBuilder->NewObject(fatherSF);
|
||||
aStudyBuilder->Addreference(newObj1, newObj);
|
||||
|
||||
op->finish();
|
||||
|
||||
QAD_Application::getDesktop()->getActiveStudy()->updateObjBrowser();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// function : AddContactInStudy()
|
||||
// purpose :
|
||||
//=====================================================================================
|
||||
bool KinematicGUI::AddContactInStudy(GEOM::GEOM_Assembly_ptr Ass, GEOM::GEOM_Contact_ptr aContact)
|
||||
{
|
||||
SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
|
||||
SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder();
|
||||
SALOMEDS::GenericAttribute_var anAttr;
|
||||
SALOMEDS::AttributeName_var aName;
|
||||
SALOMEDS::AttributeName_var aTypeName;
|
||||
SALOMEDS::AttributePixMap_var aPixmap;
|
||||
SALOMEDS::AttributeIOR_var anIOR;
|
||||
SALOMEDS::AttributeComment_var aType;
|
||||
SALOMEDS::AttributeSelectable_var aSelAttr;
|
||||
|
||||
SALOMEDS::SObject_var fatherSF = aStudy->FindObjectID(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->entry());
|
||||
|
||||
TCollection_AsciiString nameG("Contact_");
|
||||
nameG += TCollection_AsciiString(myGeomGUI->GetNbGeom()++) + TCollection_AsciiString("\0");
|
||||
|
||||
// open transaction
|
||||
QAD_Operation* op = new SALOMEGUI_ImportOperation(QAD_Application::getDesktop()->getActiveStudy());
|
||||
op->start();
|
||||
|
||||
Standard_CString AssIOR = aStudy->ConvertObjectToIOR(Ass);
|
||||
SALOMEDS::SObject_var theAss = aStudy->FindObjectIOR(AssIOR);
|
||||
SALOMEDS::SObject_var newObj = aStudyBuilder->NewObject(theAss);
|
||||
/* For the shape inserted into the study we set its field 'studyshapeid' */
|
||||
/* so the shape will contain its corresponding entry in the study Ocaf doc. */
|
||||
aContact->StudyShapeId(newObj->GetID());
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeIOR");
|
||||
anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
|
||||
anIOR->SetValue(aContact->Name());
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeName");
|
||||
aName = SALOMEDS::AttributeName::_narrow(anAttr);
|
||||
aName->SetValue(nameG.ToCString());
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeComment");
|
||||
aType = SALOMEDS::AttributeComment::_narrow(anAttr);
|
||||
aType->SetValue("Kinematic_Contact");
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributePixMap");
|
||||
aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
|
||||
aPixmap->SetPixMap("ICON_OBJBROWSER_CONTACT");
|
||||
|
||||
SALOMEDS::SObject_var RefType = aStudyBuilder->NewObject(newObj);
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(RefType, "AttributeName");
|
||||
aTypeName = SALOMEDS::AttributeName::_narrow(anAttr);
|
||||
aTypeName->SetValue(this->GetNameFromType(aContact->GetType()).ToCString());
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(RefType, "AttributeSelectable");
|
||||
aSelAttr = SALOMEDS::AttributeSelectable::_narrow(anAttr);
|
||||
aSelAttr->SetSelectable(false);
|
||||
|
||||
Standard_CString Shape1IOR = aStudy->ConvertObjectToIOR(aContact->GetShape1());
|
||||
SALOMEDS::SObject_var theSh1 = aStudy->FindObjectIOR(Shape1IOR);
|
||||
if(!theSh1->_is_nil()) {
|
||||
SALOMEDS::SObject_var RefObject1 = aStudyBuilder->NewObject(newObj);
|
||||
aStudyBuilder->Addreference(RefObject1, theSh1);
|
||||
}
|
||||
|
||||
Standard_CString Shape2IOR = aStudy->ConvertObjectToIOR(aContact->GetShape2());
|
||||
SALOMEDS::SObject_var theSh2 = aStudy->FindObjectIOR(Shape2IOR);
|
||||
if(!theSh2->_is_nil()) {
|
||||
SALOMEDS::SObject_var RefObject2 = aStudyBuilder->NewObject(newObj);
|
||||
aStudyBuilder->Addreference(RefObject2, theSh2);
|
||||
}
|
||||
|
||||
SALOMEDS::SObject_var newObj1 = aStudyBuilder->NewObject(fatherSF);
|
||||
aStudyBuilder->Addreference(newObj1, newObj);
|
||||
|
||||
op->finish();
|
||||
|
||||
QAD_Application::getDesktop()->getActiveStudy()->updateObjBrowser();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// function : AddAnimationInStudy()
|
||||
// purpose :
|
||||
//=====================================================================================
|
||||
bool KinematicGUI::AddAnimationInStudy(GEOM::GEOM_Animation_ptr aAnimation)
|
||||
{
|
||||
SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
|
||||
SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder();
|
||||
SALOMEDS::GenericAttribute_var anAttr;
|
||||
SALOMEDS::AttributeName_var aName;
|
||||
SALOMEDS::AttributePixMap_var aPixmap;
|
||||
SALOMEDS::AttributeIOR_var anIOR;
|
||||
SALOMEDS::AttributeComment_var aType;
|
||||
|
||||
SALOMEDS::SComponent_var father = aStudy->FindComponent("GEOM");
|
||||
aStudyBuilder->DefineComponentInstance(father, myGeom);
|
||||
father->ComponentIOR(myGeomGUI->GetFatherior());
|
||||
|
||||
SALOMEDS::SObject_var fatherSF = aStudy->FindObjectID(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->entry());
|
||||
|
||||
TCollection_AsciiString nameG("Animation_");
|
||||
nameG += TCollection_AsciiString(myGeomGUI->GetNbGeom()++) + TCollection_AsciiString("\0");
|
||||
|
||||
// open transaction
|
||||
QAD_Operation* op = new SALOMEGUI_ImportOperation(QAD_Application::getDesktop()->getActiveStudy());
|
||||
op->start();
|
||||
|
||||
SALOMEDS::SObject_var newObj = aStudyBuilder->NewObject(father);
|
||||
/* For the shape inserted into the study we set its field 'studyshapeid' */
|
||||
/* so the shape will contain its corresponding entry in the study Ocaf doc. */
|
||||
aAnimation->StudyShapeId(newObj->GetID());
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeIOR");
|
||||
anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
|
||||
anIOR->SetValue(aAnimation->Name());
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeName");
|
||||
aName = SALOMEDS::AttributeName::_narrow(anAttr);
|
||||
aName->SetValue(nameG.ToCString());
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeComment");
|
||||
aType = SALOMEDS::AttributeComment::_narrow(anAttr);
|
||||
aType->SetValue("Kinematic_Animation");
|
||||
|
||||
anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributePixMap");
|
||||
aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr);
|
||||
aPixmap->SetPixMap("ICON_OBJBROWSER_ANIMATION");
|
||||
|
||||
Standard_CString assIOR = aStudy->ConvertObjectToIOR(aAnimation->GetAssembly());
|
||||
SALOMEDS::SObject_var theAss = aStudy->FindObjectIOR(assIOR);
|
||||
if(!theAss->_is_nil()) {
|
||||
SALOMEDS::SObject_var RefObject = aStudyBuilder->NewObject(newObj);
|
||||
aStudyBuilder->Addreference(RefObject, theAss);
|
||||
}
|
||||
|
||||
Standard_CString Shape1IOR = aStudy->ConvertObjectToIOR(aAnimation->GetFrame());
|
||||
SALOMEDS::SObject_var theSh1 = aStudy->FindObjectIOR(Shape1IOR);
|
||||
if(!theSh1->_is_nil()) {
|
||||
SALOMEDS::SObject_var RefObject1 = aStudyBuilder->NewObject(newObj);
|
||||
aStudyBuilder->Addreference(RefObject1, theSh1);
|
||||
}
|
||||
|
||||
SALOMEDS::SObject_var newObj1 = aStudyBuilder->NewObject(fatherSF);
|
||||
aStudyBuilder->Addreference(newObj1, newObj);
|
||||
|
||||
op->finish();
|
||||
|
||||
QAD_Application::getDesktop()->getActiveStudy()->updateObjBrowser();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : SetPosition()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
void KinematicGUI::SetPosition(GEOM::GEOM_Contact_ptr aContact, GEOM::PointStruct P0,
|
||||
GEOM::DirStruct VX, GEOM::DirStruct VY, GEOM::DirStruct VZ)
|
||||
{
|
||||
try {
|
||||
GEOM::GEOM_Position_var myGeomPosition = GEOM::GEOM_Position::_narrow(aContact->GetPosition());
|
||||
myGeomPosition->SetOrigin(P0);
|
||||
myGeomPosition->SetVX(VX);
|
||||
myGeomPosition->SetVY(VY);
|
||||
myGeomPosition->SetVZ(VZ);
|
||||
}
|
||||
catch(const SALOME::SALOME_Exception& S_ex) {
|
||||
QtCatchCorbaException(S_ex);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : SetRotation()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
void KinematicGUI::SetRotation(GEOM::GEOM_Contact_ptr aContact,
|
||||
int Rot1, int Rot2, int Rot3,
|
||||
double Val1, double Val2, double Val3)
|
||||
{
|
||||
try {
|
||||
GEOM::GEOM_Rotation_var myGeomRotation = GEOM::GEOM_Rotation::_narrow(aContact->GetRotation());
|
||||
myGeomRotation->SetRotation(Rot1, Rot2, Rot3, Val1, Val2, Val3);
|
||||
int type = aContact->GetType();
|
||||
if(type == 9) { //HELICOIDAL
|
||||
GEOM::GEOM_Translation_var myGeomTranslation = GEOM::GEOM_Translation::_narrow(aContact->GetTranslation());
|
||||
double aVal2 = myGeomTranslation->GetVal2();
|
||||
double aVal3 = myGeomTranslation->GetVal3();
|
||||
double aStep = aContact->GetStep();
|
||||
double aVal1 = aStep * Val1 / 360;
|
||||
myGeomTranslation->SetTranslation(aVal1, aVal2, aVal3);
|
||||
}
|
||||
}
|
||||
catch(const SALOME::SALOME_Exception& S_ex) {
|
||||
QtCatchCorbaException(S_ex);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : SetTranslation()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
void KinematicGUI::SetTranslation(GEOM::GEOM_Contact_ptr aContact,
|
||||
double Val1, double Val2, double Val3)
|
||||
{
|
||||
try {
|
||||
GEOM::GEOM_Translation_var myGeomTranslation = GEOM::GEOM_Translation::_narrow(aContact->GetTranslation());
|
||||
myGeomTranslation->SetTranslation(Val1, Val2, Val3);
|
||||
int type = aContact->GetType();
|
||||
if(type == 9) { //HELICOIDAL
|
||||
GEOM::GEOM_Rotation_var myGeomRotation = GEOM::GEOM_Rotation::_narrow(aContact->GetRotation());
|
||||
int aRot1 = myGeomRotation->GetRot1();
|
||||
int aRot2 = myGeomRotation->GetRot2();
|
||||
int aRot3 = myGeomRotation->GetRot3();
|
||||
double aVal2 = myGeomRotation->GetVal2();
|
||||
double aVal3 = myGeomRotation->GetVal3();
|
||||
double aStep = aContact->GetStep();
|
||||
double aVal1 = 360 * Val1 / aStep;
|
||||
myGeomRotation->SetRotation(aRot1, aRot2, aRot3, aVal1, aVal2, aVal3);
|
||||
}
|
||||
}
|
||||
catch(const SALOME::SALOME_Exception& S_ex) {
|
||||
QtCatchCorbaException(S_ex);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// function : AddContactInStudy()
|
||||
// purpose :
|
||||
//=====================================================================================
|
||||
TCollection_AsciiString KinematicGUI::GetNameFromType(int type)
|
||||
{
|
||||
TCollection_AsciiString name("");
|
||||
switch (type)
|
||||
{
|
||||
case 0:
|
||||
{ name = "Embedding"; break; }
|
||||
case 1:
|
||||
{ name = "Pivot"; break; }
|
||||
case 2:
|
||||
{ name = "Slide"; break; }
|
||||
case 3:
|
||||
{ name = "Sliding Pivot"; break; }
|
||||
case 4:
|
||||
{ name = "Spherical"; break; }
|
||||
case 5:
|
||||
{ name = "Plane"; break; }
|
||||
case 6:
|
||||
{ name = "Annular"; break; }
|
||||
case 7:
|
||||
{ name = "Rectilinear"; break; }
|
||||
case 8:
|
||||
{ name = "Ponctual"; break; }
|
||||
case 9:
|
||||
{ name = "Helicoidal"; break; }
|
||||
default:
|
||||
{ name = "Contact"; break; }
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : RunAnimation()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
void KinematicGUI::RunAnimation(SALOME_Selection* Sel)
|
||||
{
|
||||
QApplication::setOverrideCursor(Qt::waitCursor);
|
||||
Standard_Boolean testResult;
|
||||
Handle(SALOME_InteractiveObject) IO = Sel->firstIObject();
|
||||
|
||||
GEOM::GEOM_Animation_var myGeomAnimation = myGeomBase->ConvertIOinAnimation(IO, testResult);
|
||||
if(!testResult)
|
||||
return;
|
||||
|
||||
Handle(AIS_InteractiveContext) ic;
|
||||
OCCViewer_Viewer3d* v3d = ((OCCViewer_ViewFrame*)QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getRightFrame()->getViewFrame())->getViewer();
|
||||
ic = v3d->getAISContext();
|
||||
|
||||
Kinematic_Animation* KAnimation = CreateAnimation(myGeomAnimation);
|
||||
KAnimation->Animate(ic);
|
||||
QApplication::restoreOverrideCursor();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : CreateContact()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
Kinematic_Contact* KinematicGUI::CreateContact(GEOM::GEOM_Contact_ptr aContact)
|
||||
{
|
||||
GEOM::GEOM_Shape_var myShape1 = aContact->GetShape1();
|
||||
GEOM::GEOM_Shape_var myShape2 = aContact->GetShape2();
|
||||
GEOM::GEOM_Position_var myPosition = aContact->GetPosition();
|
||||
GEOM::GEOM_Rotation_var myRotation = aContact->GetRotation();
|
||||
GEOM::GEOM_Translation_var myTranslation = aContact->GetTranslation();
|
||||
int Type = aContact->GetType();
|
||||
double Step = aContact->GetStep();
|
||||
|
||||
TopoDS_Shape aShape1 = myGeomGUI->GetShapeReader().GetShape(myGeom, myShape1);
|
||||
TopoDS_Shape aShape2 = myGeomGUI->GetShapeReader().GetShape(myGeom, myShape2);
|
||||
Kinematic_Contact* KContact = new Kinematic_Contact(aShape1, aShape2, Type, Step);
|
||||
|
||||
gp_Pnt Origin(myPosition->GetOrigin().x, myPosition->GetOrigin().y, myPosition->GetOrigin().z);
|
||||
gp_Dir aDirX(myPosition->GetVX().PS.x, myPosition->GetVX().PS.y, myPosition->GetVX().PS.z);
|
||||
gp_Dir aDirY(myPosition->GetVY().PS.x, myPosition->GetVY().PS.y, myPosition->GetVY().PS.z);
|
||||
gp_Dir aDirZ(myPosition->GetVZ().PS.x, myPosition->GetVZ().PS.y, myPosition->GetVZ().PS.z);
|
||||
|
||||
KContact->Position().Origin(Origin);
|
||||
KContact->Position().DirX(aDirX);
|
||||
KContact->Position().DirY(aDirY);
|
||||
KContact->Position().DirZ(aDirZ);
|
||||
|
||||
KContact->Rotation().Rot1(myRotation->GetRot1());
|
||||
KContact->Rotation().Rot2(myRotation->GetRot2());
|
||||
KContact->Rotation().Rot3(myRotation->GetRot3());
|
||||
|
||||
KContact->Rotation().ValX(myRotation->GetVal1());
|
||||
KContact->Rotation().ValY(myRotation->GetVal2());
|
||||
KContact->Rotation().ValZ(myRotation->GetVal3());
|
||||
|
||||
KContact->Translation().ValX(myTranslation->GetVal1());
|
||||
KContact->Translation().ValY(myTranslation->GetVal2());
|
||||
KContact->Translation().ValZ(myTranslation->GetVal3());
|
||||
|
||||
return KContact;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : CreateAssembly()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
Kinematic_Assembly* KinematicGUI::CreateAssembly(GEOM::GEOM_Assembly_ptr aAssembly)
|
||||
{
|
||||
int NbContact = aAssembly->NbContacts();
|
||||
GEOM::ListOfContact_var aContactList = aAssembly->GetContactList();
|
||||
|
||||
Kinematic_Assembly* KAssembly = new Kinematic_Assembly();
|
||||
|
||||
for(int i = 0; i < NbContact; i++) {
|
||||
GEOM::GEOM_Contact_var myContact = aContactList[i];
|
||||
Kinematic_Contact* KContact = CreateContact(myContact);
|
||||
KAssembly->AddContact(KContact);
|
||||
}
|
||||
|
||||
return KAssembly;
|
||||
}
|
||||
|
||||
|
||||
//=======================================================================
|
||||
// function : ()
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
Kinematic_Animation* KinematicGUI::CreateAnimation(GEOM::GEOM_Animation_ptr aAnimation)
|
||||
{
|
||||
GEOM::GEOM_Shape_var aFrame = aAnimation->GetFrame();
|
||||
double Duration = aAnimation->GetDuration();
|
||||
int NbSeq = aAnimation->GetNbSeq();
|
||||
bool IsInLoop = aAnimation->GetIsInLoop();
|
||||
|
||||
GEOM::GEOM_Assembly_var myAssembly = aAnimation->GetAssembly();
|
||||
Kinematic_Assembly* KAssembly = CreateAssembly(myAssembly);
|
||||
|
||||
TopoDS_Shape myFrame = myGeomGUI->GetShapeReader().GetShape(myGeom, aFrame);
|
||||
Kinematic_Animation* KAnimation = new Kinematic_Animation(KAssembly, myFrame, Duration, NbSeq, IsInLoop);
|
||||
|
||||
return KAnimation;
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// EXPORTED METHODS
|
||||
//=====================================================================================
|
||||
extern "C"
|
||||
{
|
||||
bool OnGUIEvent(int theCommandID, QAD_Desktop* parent)
|
||||
{return KinematicGUI::OnGUIEvent(theCommandID, parent);}
|
||||
}
|
89
src/KinematicGUI/KinematicGUI.h
Normal file
89
src/KinematicGUI/KinematicGUI.h
Normal file
@ -0,0 +1,89 @@
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : KinematicGUI.h
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef KINEMATICGUI_H
|
||||
#define KINEMATICGUI_H
|
||||
|
||||
#include "GEOMBase.h"
|
||||
|
||||
// IDL headers
|
||||
#include <SALOMEconfig.h>
|
||||
#include CORBA_SERVER_HEADER(GEOM_Gen)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Shape)
|
||||
#include CORBA_SERVER_HEADER(GEOM_Kinematic)
|
||||
|
||||
#include "Kinematic_Animation.hxx"
|
||||
#include "Kinematic_Contact.hxx"
|
||||
|
||||
//=================================================================================
|
||||
// class : KinematicGUI
|
||||
// purpose :
|
||||
//=================================================================================
|
||||
class KinematicGUI : public QObject
|
||||
{
|
||||
Q_OBJECT /* for QT compatibility */
|
||||
|
||||
public :
|
||||
KinematicGUI();
|
||||
~KinematicGUI();
|
||||
|
||||
static bool OnGUIEvent(int theCommandID, QAD_Desktop* parent);
|
||||
|
||||
void AddNewAssembly();
|
||||
void AddContact(GEOM::GEOM_Assembly_ptr Ass, GEOM::GEOM_Shape_ptr Shape1,
|
||||
GEOM::GEOM_Shape_ptr Shape2, int type, double step = 0);
|
||||
void AddAnimation(GEOM::GEOM_Assembly_ptr Ass, GEOM::GEOM_Shape_ptr Shape1,
|
||||
double Duration, int NbSeq, bool IsInLoop);
|
||||
|
||||
bool AddContactInStudy(GEOM::GEOM_Assembly_ptr Ass,
|
||||
GEOM::GEOM_Contact_ptr aContact);
|
||||
bool AddAssemblyInStudy(GEOM::GEOM_Assembly_ptr aAssembly);
|
||||
bool AddAnimationInStudy(GEOM::GEOM_Animation_ptr aAnimation);
|
||||
TCollection_AsciiString GetNameFromType(int type);
|
||||
|
||||
void SetPosition(GEOM::GEOM_Contact_ptr aContact, GEOM::PointStruct P0,
|
||||
GEOM::DirStruct VX, GEOM::DirStruct VY, GEOM::DirStruct VZ);
|
||||
void SetRotation(GEOM::GEOM_Contact_ptr aContact,
|
||||
int Rot1, int Rot2, int Rot3,
|
||||
double Val1, double Val2, double Val3);
|
||||
void SetTranslation(GEOM::GEOM_Contact_ptr aContact,
|
||||
double Val1, double Val2, double Val3);
|
||||
|
||||
void RunAnimation(SALOME_Selection* Sel);
|
||||
|
||||
Kinematic_Contact* CreateContact(GEOM::GEOM_Contact_ptr aContact);
|
||||
Kinematic_Assembly* CreateAssembly(GEOM::GEOM_Assembly_ptr aAssembly);
|
||||
Kinematic_Animation* CreateAnimation(GEOM::GEOM_Animation_ptr aAnimation);
|
||||
|
||||
GEOMBase* myGeomBase;
|
||||
GEOMContext* myGeomGUI;
|
||||
GEOM::GEOM_Gen_var myGeom; /* Current Geom Component */
|
||||
|
||||
};
|
||||
|
||||
#endif
|
87
src/KinematicGUI/KinematicGUI_12Spin.cxx
Normal file
87
src/KinematicGUI/KinematicGUI_12Spin.cxx
Normal file
@ -0,0 +1,87 @@
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : KinematicGUI_12Spin.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#include "KinematicGUI_12Spin.h"
|
||||
|
||||
#include <qlayout.h>
|
||||
#include <qspinbox.h>
|
||||
#include <qgroupbox.h>
|
||||
|
||||
/*
|
||||
* Constructs a KinematicGUI_12Spin which is a child of 'parent', with the
|
||||
* name 'name' and widget flags set to 'f'
|
||||
*/
|
||||
KinematicGUI_12Spin::KinematicGUI_12Spin(QWidget* parent, const char* name, WFlags fl)
|
||||
:KinematicGUI_12Spin_QTD(parent, name, fl)
|
||||
{
|
||||
SpinBox1->close(TRUE);
|
||||
SpinBox2->close(TRUE);
|
||||
SpinBox3->close(TRUE);
|
||||
SpinBox4->close(TRUE);
|
||||
SpinBox5->close(TRUE);
|
||||
SpinBox6->close(TRUE);
|
||||
SpinBox7->close(TRUE);
|
||||
SpinBox8->close(TRUE);
|
||||
SpinBox9->close(TRUE);
|
||||
SpinBox10->close(TRUE);
|
||||
SpinBox11->close(TRUE);
|
||||
SpinBox12->close(TRUE);
|
||||
SpinBox_11 = new DlgRef_SpinBox(GroupBox1, "SpinBox_11");
|
||||
SpinBox_12 = new DlgRef_SpinBox(GroupBox1, "SpinBox_12");
|
||||
SpinBox_13 = new DlgRef_SpinBox(GroupBox1, "SpinBox_13");
|
||||
SpinBox_21 = new DlgRef_SpinBox(GroupBox1, "SpinBox_21");
|
||||
SpinBox_22 = new DlgRef_SpinBox(GroupBox1, "SpinBox_22");
|
||||
SpinBox_23 = new DlgRef_SpinBox(GroupBox1, "SpinBox_23");
|
||||
SpinBox_31 = new DlgRef_SpinBox(GroupBox1, "SpinBox_31");
|
||||
SpinBox_32 = new DlgRef_SpinBox(GroupBox1, "SpinBox_32");
|
||||
SpinBox_33 = new DlgRef_SpinBox(GroupBox1, "SpinBox_33");
|
||||
SpinBox_41 = new DlgRef_SpinBox(GroupBox1, "SpinBox_41");
|
||||
SpinBox_42 = new DlgRef_SpinBox(GroupBox1, "SpinBox_42");
|
||||
SpinBox_43 = new DlgRef_SpinBox(GroupBox1, "SpinBox_43");
|
||||
Layout1->addWidget(SpinBox_11, 0, 2);
|
||||
Layout1->addWidget(SpinBox_12, 0, 4);
|
||||
Layout1->addWidget(SpinBox_13, 0, 6);
|
||||
Layout1->addWidget(SpinBox_21, 1, 2);
|
||||
Layout1->addWidget(SpinBox_22, 1, 4);
|
||||
Layout1->addWidget(SpinBox_23, 1, 6);
|
||||
Layout1->addWidget(SpinBox_31, 2, 2);
|
||||
Layout1->addWidget(SpinBox_32, 2, 4);
|
||||
Layout1->addWidget(SpinBox_33, 2, 6);
|
||||
Layout1->addWidget(SpinBox_41, 3, 2);
|
||||
Layout1->addWidget(SpinBox_42, 3, 4);
|
||||
Layout1->addWidget(SpinBox_43, 3, 6);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Destroys the object and frees any allocated resources
|
||||
*/
|
||||
KinematicGUI_12Spin::~KinematicGUI_12Spin()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
58
src/KinematicGUI/KinematicGUI_12Spin.h
Normal file
58
src/KinematicGUI/KinematicGUI_12Spin.h
Normal file
@ -0,0 +1,58 @@
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : KinematicGUI_12Spin.h
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef KINEMATICGUI_12SPIN_H
|
||||
#define KINEMATICGUI_12SPIN_H
|
||||
|
||||
#include "KinematicGUI_12Spin_QTD.h"
|
||||
#include "DlgRef_SpinBox.h"
|
||||
|
||||
class KinematicGUI_12Spin : public KinematicGUI_12Spin_QTD
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KinematicGUI_12Spin( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
|
||||
~KinematicGUI_12Spin();
|
||||
|
||||
DlgRef_SpinBox* SpinBox_11;
|
||||
DlgRef_SpinBox* SpinBox_12;
|
||||
DlgRef_SpinBox* SpinBox_13;
|
||||
DlgRef_SpinBox* SpinBox_21;
|
||||
DlgRef_SpinBox* SpinBox_22;
|
||||
DlgRef_SpinBox* SpinBox_23;
|
||||
DlgRef_SpinBox* SpinBox_31;
|
||||
DlgRef_SpinBox* SpinBox_32;
|
||||
DlgRef_SpinBox* SpinBox_33;
|
||||
DlgRef_SpinBox* SpinBox_41;
|
||||
DlgRef_SpinBox* SpinBox_42;
|
||||
DlgRef_SpinBox* SpinBox_43;
|
||||
|
||||
};
|
||||
|
||||
#endif // KINEMATICGUI_12SPIN_H
|
213
src/KinematicGUI/KinematicGUI_12Spin_QTD.cxx
Normal file
213
src/KinematicGUI/KinematicGUI_12Spin_QTD.cxx
Normal file
@ -0,0 +1,213 @@
|
||||
/****************************************************************************
|
||||
** Form implementation generated from reading ui file 'KinematicGUI_12Spin_QTD.ui'
|
||||
**
|
||||
** Created: ven fév 6 12:39:44 2004
|
||||
** by: The User Interface Compiler (uic)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
****************************************************************************/
|
||||
#include "KinematicGUI_12Spin_QTD.h"
|
||||
|
||||
#include <qvariant.h>
|
||||
#include <qgroupbox.h>
|
||||
#include <qlabel.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qspinbox.h>
|
||||
#include <qlayout.h>
|
||||
#include <qtooltip.h>
|
||||
#include <qwhatsthis.h>
|
||||
|
||||
/*
|
||||
* Constructs a KinematicGUI_12Spin_QTD which is a child of 'parent', with the
|
||||
* name 'name' and widget flags set to 'f'.
|
||||
*/
|
||||
KinematicGUI_12Spin_QTD::KinematicGUI_12Spin_QTD( QWidget* parent, const char* name, WFlags fl )
|
||||
: QWidget( parent, name, fl )
|
||||
{
|
||||
if ( !name )
|
||||
setName( "KinematicGUI_12Spin_QTD" );
|
||||
resize( 396, 139 );
|
||||
setCaption( trUtf8( "KinematicGUI_12Spin_QTD" ) );
|
||||
KinematicGUI_12Spin_QTDLayout = new QGridLayout( this, 1, 1, 0, 6, "KinematicGUI_12Spin_QTDLayout");
|
||||
|
||||
GroupBox1 = new QGroupBox( this, "GroupBox1" );
|
||||
GroupBox1->setTitle( trUtf8( "" ) );
|
||||
GroupBox1->setColumnLayout(0, Qt::Vertical );
|
||||
GroupBox1->layout()->setSpacing( 6 );
|
||||
GroupBox1->layout()->setMargin( 11 );
|
||||
GroupBox1Layout = new QGridLayout( GroupBox1->layout() );
|
||||
GroupBox1Layout->setAlignment( Qt::AlignTop );
|
||||
|
||||
Layout1 = new QGridLayout( 0, 1, 1, 0, 6, "Layout1");
|
||||
|
||||
TextLabel15 = new QLabel( GroupBox1, "TextLabel15" );
|
||||
TextLabel15->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel15->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel15->setText( trUtf8( "TL15" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel15, 3, 3 );
|
||||
QSpacerItem* spacer = new QSpacerItem( 0, 80, QSizePolicy::Minimum, QSizePolicy::Expanding );
|
||||
Layout1->addItem( spacer, 4, 4 );
|
||||
|
||||
TextLabel14 = new QLabel( GroupBox1, "TextLabel14" );
|
||||
TextLabel14->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel14->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel14->setText( trUtf8( "TL14" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel14, 3, 1 );
|
||||
|
||||
SpinBox5 = new QSpinBox( GroupBox1, "SpinBox5" );
|
||||
SpinBox5->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox5->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox5, 1, 4 );
|
||||
|
||||
TextLabel3 = new QLabel( GroupBox1, "TextLabel3" );
|
||||
TextLabel3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel3->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel3->setText( trUtf8( "TL3" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel3, 0, 3 );
|
||||
|
||||
TextLabel11 = new QLabel( GroupBox1, "TextLabel11" );
|
||||
TextLabel11->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel11->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel11->setText( trUtf8( "TL11" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel11, 2, 3 );
|
||||
|
||||
TextLabel8 = new QLabel( GroupBox1, "TextLabel8" );
|
||||
TextLabel8->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel8->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel8->setText( trUtf8( "TL8" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel8, 1, 5 );
|
||||
|
||||
TextLabel4 = new QLabel( GroupBox1, "TextLabel4" );
|
||||
TextLabel4->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel4->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel4->setText( trUtf8( "TL4" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel4, 0, 5 );
|
||||
|
||||
TextLabel7 = new QLabel( GroupBox1, "TextLabel7" );
|
||||
TextLabel7->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel7->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel7->setText( trUtf8( "TL7" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel7, 1, 3 );
|
||||
|
||||
TextLabel12 = new QLabel( GroupBox1, "TextLabel12" );
|
||||
TextLabel12->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel12->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel12->setText( trUtf8( "TL12" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel12, 2, 5 );
|
||||
|
||||
TextLabel13 = new QLabel( GroupBox1, "TextLabel13" );
|
||||
TextLabel13->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel13->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel13->setText( trUtf8( "TL13" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel13, 3, 0 );
|
||||
|
||||
SpinBox12 = new QSpinBox( GroupBox1, "SpinBox12" );
|
||||
SpinBox12->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox12->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox12, 3, 6 );
|
||||
|
||||
SpinBox11 = new QSpinBox( GroupBox1, "SpinBox11" );
|
||||
SpinBox11->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox11->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox11, 3, 4 );
|
||||
|
||||
SpinBox9 = new QSpinBox( GroupBox1, "SpinBox9" );
|
||||
SpinBox9->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox9->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox9, 2, 6 );
|
||||
|
||||
SpinBox8 = new QSpinBox( GroupBox1, "SpinBox8" );
|
||||
SpinBox8->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox8->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox8, 2, 4 );
|
||||
|
||||
SpinBox7 = new QSpinBox( GroupBox1, "SpinBox7" );
|
||||
SpinBox7->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox7->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox7, 2, 2 );
|
||||
|
||||
SpinBox6 = new QSpinBox( GroupBox1, "SpinBox6" );
|
||||
SpinBox6->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox6->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox6, 1, 6 );
|
||||
|
||||
SpinBox3 = new QSpinBox( GroupBox1, "SpinBox3" );
|
||||
SpinBox3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox3->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox3, 0, 6 );
|
||||
|
||||
TextLabel16 = new QLabel( GroupBox1, "TextLabel16" );
|
||||
TextLabel16->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel16->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel16->setText( trUtf8( "TL16" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel16, 3, 5 );
|
||||
|
||||
TextLabel1 = new QLabel( GroupBox1, "TextLabel1" );
|
||||
TextLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel1->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel1->setText( trUtf8( "TL1" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel1, 0, 0 );
|
||||
|
||||
TextLabel10 = new QLabel( GroupBox1, "TextLabel10" );
|
||||
TextLabel10->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel10->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel10->setText( trUtf8( "TL10" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel10, 2, 1 );
|
||||
|
||||
SpinBox4 = new QSpinBox( GroupBox1, "SpinBox4" );
|
||||
SpinBox4->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox4->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox4, 1, 2 );
|
||||
|
||||
TextLabel6 = new QLabel( GroupBox1, "TextLabel6" );
|
||||
TextLabel6->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel6->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel6->setText( trUtf8( "TL6" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel6, 1, 1 );
|
||||
|
||||
SpinBox10 = new QSpinBox( GroupBox1, "SpinBox10" );
|
||||
SpinBox10->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox10->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox10, 3, 2 );
|
||||
|
||||
SpinBox2 = new QSpinBox( GroupBox1, "SpinBox2" );
|
||||
SpinBox2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox2->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox2, 0, 4 );
|
||||
|
||||
TextLabel2 = new QLabel( GroupBox1, "TextLabel2" );
|
||||
TextLabel2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel2->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel2->setText( trUtf8( "TL2" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel2, 0, 1 );
|
||||
|
||||
TextLabel9 = new QLabel( GroupBox1, "TextLabel9" );
|
||||
TextLabel9->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel9->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel9->setText( trUtf8( "TL9" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel9, 2, 0 );
|
||||
|
||||
TextLabel5 = new QLabel( GroupBox1, "TextLabel5" );
|
||||
TextLabel5->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel5->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel5->setText( trUtf8( "TL5" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel5, 1, 0 );
|
||||
|
||||
SpinBox1 = new QSpinBox( GroupBox1, "SpinBox1" );
|
||||
SpinBox1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox1->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox1, 0, 2 );
|
||||
|
||||
GroupBox1Layout->addLayout( Layout1, 0, 0 );
|
||||
|
||||
KinematicGUI_12Spin_QTDLayout->addWidget( GroupBox1, 0, 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
* Destroys the object and frees any allocated resources
|
||||
*/
|
||||
KinematicGUI_12Spin_QTD::~KinematicGUI_12Spin_QTD()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
||||
|
66
src/KinematicGUI/KinematicGUI_12Spin_QTD.h
Normal file
66
src/KinematicGUI/KinematicGUI_12Spin_QTD.h
Normal file
@ -0,0 +1,66 @@
|
||||
/****************************************************************************
|
||||
** Form interface generated from reading ui file 'KinematicGUI_12Spin_QTD.ui'
|
||||
**
|
||||
** Created: ven fév 6 12:39:44 2004
|
||||
** by: The User Interface Compiler (uic)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
****************************************************************************/
|
||||
#ifndef KINEMATICGUI_12SPIN_QTD_H
|
||||
#define KINEMATICGUI_12SPIN_QTD_H
|
||||
|
||||
#include <qvariant.h>
|
||||
#include <qwidget.h>
|
||||
class QVBoxLayout;
|
||||
class QHBoxLayout;
|
||||
class QGridLayout;
|
||||
class QGroupBox;
|
||||
class QLabel;
|
||||
class QSpinBox;
|
||||
|
||||
class KinematicGUI_12Spin_QTD : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KinematicGUI_12Spin_QTD( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
|
||||
~KinematicGUI_12Spin_QTD();
|
||||
|
||||
QGroupBox* GroupBox1;
|
||||
QLabel* TextLabel15;
|
||||
QLabel* TextLabel14;
|
||||
QSpinBox* SpinBox5;
|
||||
QLabel* TextLabel3;
|
||||
QLabel* TextLabel11;
|
||||
QLabel* TextLabel8;
|
||||
QLabel* TextLabel4;
|
||||
QLabel* TextLabel7;
|
||||
QLabel* TextLabel12;
|
||||
QLabel* TextLabel13;
|
||||
QSpinBox* SpinBox12;
|
||||
QSpinBox* SpinBox11;
|
||||
QSpinBox* SpinBox9;
|
||||
QSpinBox* SpinBox8;
|
||||
QSpinBox* SpinBox7;
|
||||
QSpinBox* SpinBox6;
|
||||
QSpinBox* SpinBox3;
|
||||
QLabel* TextLabel16;
|
||||
QLabel* TextLabel1;
|
||||
QLabel* TextLabel10;
|
||||
QSpinBox* SpinBox4;
|
||||
QLabel* TextLabel6;
|
||||
QSpinBox* SpinBox10;
|
||||
QSpinBox* SpinBox2;
|
||||
QLabel* TextLabel2;
|
||||
QLabel* TextLabel9;
|
||||
QLabel* TextLabel5;
|
||||
QSpinBox* SpinBox1;
|
||||
|
||||
|
||||
protected:
|
||||
QGridLayout* KinematicGUI_12Spin_QTDLayout;
|
||||
QGridLayout* GroupBox1Layout;
|
||||
QGridLayout* Layout1;
|
||||
};
|
||||
|
||||
#endif // KINEMATICGUI_12SPIN_QTD_H
|
57
src/KinematicGUI/KinematicGUI_2Sel2Spin1Check.cxx
Normal file
57
src/KinematicGUI/KinematicGUI_2Sel2Spin1Check.cxx
Normal file
@ -0,0 +1,57 @@
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : KinematicGUI_2Sel2Spin1Check.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#include "KinematicGUI_2Sel2Spin1Check.h"
|
||||
|
||||
#include <qlayout.h>
|
||||
#include <qspinbox.h>
|
||||
#include <qgroupbox.h>
|
||||
|
||||
/*
|
||||
* Constructs a KinematicGUI_2Sel2Spin1Check which is a child of 'parent', with the
|
||||
* name 'name' and widget flags set to 'f'
|
||||
*/
|
||||
KinematicGUI_2Sel2Spin1Check::KinematicGUI_2Sel2Spin1Check(QWidget* parent, const char* name, WFlags fl)
|
||||
:KinematicGUI_2Sel2Spin1Check_QTD(parent, name, fl)
|
||||
{
|
||||
SpinBox1->close(TRUE);
|
||||
SpinBox2->close(TRUE);
|
||||
SpinBox_DX = new DlgRef_SpinBox(GroupBox1, "SpinBox_DX");
|
||||
SpinBox_DY = new DlgRef_SpinBox(GroupBox1, "SpinBox_DY");
|
||||
Layout2->addWidget(SpinBox_DX, 0, 1);
|
||||
Layout2->addWidget(SpinBox_DY, 1, 1);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Destroys the object and frees any allocated resources
|
||||
*/
|
||||
KinematicGUI_2Sel2Spin1Check::~KinematicGUI_2Sel2Spin1Check()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
48
src/KinematicGUI/KinematicGUI_2Sel2Spin1Check.h
Normal file
48
src/KinematicGUI/KinematicGUI_2Sel2Spin1Check.h
Normal file
@ -0,0 +1,48 @@
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : KinematicGUI_2Sel2Spin1Check.h
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef KINEMATICGUI_2SEL2SPIN1CHECK_H
|
||||
#define KINEMATICGUI_2SEL2SPIN1CHECK_H
|
||||
|
||||
#include "KinematicGUI_2Sel2Spin1Check_QTD.h"
|
||||
#include "DlgRef_SpinBox.h"
|
||||
|
||||
class KinematicGUI_2Sel2Spin1Check : public KinematicGUI_2Sel2Spin1Check_QTD
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KinematicGUI_2Sel2Spin1Check( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
|
||||
~KinematicGUI_2Sel2Spin1Check();
|
||||
|
||||
DlgRef_SpinBox* SpinBox_DX;
|
||||
DlgRef_SpinBox* SpinBox_DY;
|
||||
|
||||
};
|
||||
|
||||
#endif // KINEMATICGUI_2SEL2SPIN1CHECK_H
|
122
src/KinematicGUI/KinematicGUI_2Sel2Spin1Check_QTD.cxx
Normal file
122
src/KinematicGUI/KinematicGUI_2Sel2Spin1Check_QTD.cxx
Normal file
@ -0,0 +1,122 @@
|
||||
/****************************************************************************
|
||||
** Form implementation generated from reading ui file 'KinematicGUI_2Sel2Spin1Check_QTD.ui'
|
||||
**
|
||||
** Created: ven fév 6 18:56:14 2004
|
||||
** by: The User Interface Compiler (uic)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
****************************************************************************/
|
||||
#include "KinematicGUI_2Sel2Spin1Check_QTD.h"
|
||||
|
||||
#include <qvariant.h>
|
||||
#include <qgroupbox.h>
|
||||
#include <qlabel.h>
|
||||
#include <qlineedit.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qradiobutton.h>
|
||||
#include <qspinbox.h>
|
||||
#include <qlayout.h>
|
||||
#include <qtooltip.h>
|
||||
#include <qwhatsthis.h>
|
||||
|
||||
/*
|
||||
* Constructs a KinematicGUI_2Sel2Spin1Check_QTD which is a child of 'parent', with the
|
||||
* name 'name' and widget flags set to 'f'.
|
||||
*/
|
||||
KinematicGUI_2Sel2Spin1Check_QTD::KinematicGUI_2Sel2Spin1Check_QTD( QWidget* parent, const char* name, WFlags fl )
|
||||
: QWidget( parent, name, fl )
|
||||
{
|
||||
if ( !name )
|
||||
setName( "KinematicGUI_2Sel2Spin1Check_QTD" );
|
||||
resize( 129, 164 );
|
||||
setCaption( trUtf8( "KinematicGUI_2Sel2Spin1Check_QTD" ) );
|
||||
KinematicGUI_2Sel2Spin1Check_QTDLayout = new QGridLayout( this, 1, 1, 0, 6, "KinematicGUI_2Sel2Spin1Check_QTDLayout");
|
||||
|
||||
GroupBox1 = new QGroupBox( this, "GroupBox1" );
|
||||
GroupBox1->setTitle( trUtf8( "" ) );
|
||||
GroupBox1->setColumnLayout(0, Qt::Vertical );
|
||||
GroupBox1->layout()->setSpacing( 6 );
|
||||
GroupBox1->layout()->setMargin( 11 );
|
||||
GroupBox1Layout = new QGridLayout( GroupBox1->layout() );
|
||||
GroupBox1Layout->setAlignment( Qt::AlignTop );
|
||||
|
||||
Layout1 = new QGridLayout( 0, 1, 1, 0, 6, "Layout1");
|
||||
|
||||
CheckButton1 = new QRadioButton( GroupBox1, "CheckButton1" );
|
||||
CheckButton1->setText( trUtf8( "" ) );
|
||||
|
||||
Layout1->addMultiCellWidget( CheckButton1, 3, 3, 0, 2 );
|
||||
|
||||
LineEdit1 = new QLineEdit( GroupBox1, "LineEdit1" );
|
||||
|
||||
Layout1->addWidget( LineEdit1, 0, 2 );
|
||||
|
||||
TextLabel1 = new QLabel( GroupBox1, "TextLabel1" );
|
||||
TextLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel1->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel1->setText( trUtf8( "TL1" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel1, 0, 0 );
|
||||
|
||||
PushButton2 = new QPushButton( GroupBox1, "PushButton2" );
|
||||
PushButton2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton2->sizePolicy().hasHeightForWidth() ) );
|
||||
PushButton2->setText( trUtf8( "" ) );
|
||||
|
||||
Layout1->addWidget( PushButton2, 1, 1 );
|
||||
|
||||
Layout2 = new QGridLayout( 0, 1, 1, 0, 6, "Layout2");
|
||||
|
||||
SpinBox2 = new QSpinBox( GroupBox1, "SpinBox2" );
|
||||
SpinBox2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox2->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout2->addWidget( SpinBox2, 1, 1 );
|
||||
|
||||
SpinBox1 = new QSpinBox( GroupBox1, "SpinBox1" );
|
||||
SpinBox1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox1->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout2->addWidget( SpinBox1, 0, 1 );
|
||||
|
||||
TextLabel4 = new QLabel( GroupBox1, "TextLabel4" );
|
||||
TextLabel4->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel4->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel4->setText( trUtf8( "TL4" ) );
|
||||
|
||||
Layout2->addWidget( TextLabel4, 1, 0 );
|
||||
|
||||
TextLabel3 = new QLabel( GroupBox1, "TextLabel3" );
|
||||
TextLabel3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel3->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel3->setText( trUtf8( "TL3" ) );
|
||||
|
||||
Layout2->addWidget( TextLabel3, 0, 0 );
|
||||
|
||||
Layout1->addMultiCellLayout( Layout2, 2, 2, 0, 2 );
|
||||
|
||||
PushButton1 = new QPushButton( GroupBox1, "PushButton1" );
|
||||
PushButton1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton1->sizePolicy().hasHeightForWidth() ) );
|
||||
PushButton1->setText( trUtf8( "" ) );
|
||||
|
||||
Layout1->addWidget( PushButton1, 0, 1 );
|
||||
QSpacerItem* spacer = new QSpacerItem( 0, 120, QSizePolicy::Minimum, QSizePolicy::Expanding );
|
||||
Layout1->addItem( spacer, 4, 2 );
|
||||
|
||||
TextLabel2 = new QLabel( GroupBox1, "TextLabel2" );
|
||||
TextLabel2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel2->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel2->setText( trUtf8( "TL2" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel2, 1, 0 );
|
||||
|
||||
LineEdit2 = new QLineEdit( GroupBox1, "LineEdit2" );
|
||||
|
||||
Layout1->addWidget( LineEdit2, 1, 2 );
|
||||
|
||||
GroupBox1Layout->addLayout( Layout1, 0, 0 );
|
||||
|
||||
KinematicGUI_2Sel2Spin1Check_QTDLayout->addWidget( GroupBox1, 0, 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
* Destroys the object and frees any allocated resources
|
||||
*/
|
||||
KinematicGUI_2Sel2Spin1Check_QTD::~KinematicGUI_2Sel2Spin1Check_QTD()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
||||
|
53
src/KinematicGUI/KinematicGUI_2Sel2Spin1Check_QTD.h
Normal file
53
src/KinematicGUI/KinematicGUI_2Sel2Spin1Check_QTD.h
Normal file
@ -0,0 +1,53 @@
|
||||
/****************************************************************************
|
||||
** Form interface generated from reading ui file 'KinematicGUI_2Sel2Spin1Check_QTD.ui'
|
||||
**
|
||||
** Created: ven fév 6 18:56:14 2004
|
||||
** by: The User Interface Compiler (uic)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
****************************************************************************/
|
||||
#ifndef KINEMATICGUI_2SEL2SPIN1CHECK_QTD_H
|
||||
#define KINEMATICGUI_2SEL2SPIN1CHECK_QTD_H
|
||||
|
||||
#include <qvariant.h>
|
||||
#include <qwidget.h>
|
||||
class QVBoxLayout;
|
||||
class QHBoxLayout;
|
||||
class QGridLayout;
|
||||
class QGroupBox;
|
||||
class QLabel;
|
||||
class QLineEdit;
|
||||
class QPushButton;
|
||||
class QRadioButton;
|
||||
class QSpinBox;
|
||||
|
||||
class KinematicGUI_2Sel2Spin1Check_QTD : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KinematicGUI_2Sel2Spin1Check_QTD( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
|
||||
~KinematicGUI_2Sel2Spin1Check_QTD();
|
||||
|
||||
QGroupBox* GroupBox1;
|
||||
QRadioButton* CheckButton1;
|
||||
QLineEdit* LineEdit1;
|
||||
QLabel* TextLabel1;
|
||||
QPushButton* PushButton2;
|
||||
QSpinBox* SpinBox2;
|
||||
QSpinBox* SpinBox1;
|
||||
QLabel* TextLabel4;
|
||||
QLabel* TextLabel3;
|
||||
QPushButton* PushButton1;
|
||||
QLabel* TextLabel2;
|
||||
QLineEdit* LineEdit2;
|
||||
|
||||
|
||||
protected:
|
||||
QGridLayout* KinematicGUI_2Sel2Spin1Check_QTDLayout;
|
||||
QGridLayout* GroupBox1Layout;
|
||||
QGridLayout* Layout1;
|
||||
QGridLayout* Layout2;
|
||||
};
|
||||
|
||||
#endif // KINEMATICGUI_2SEL2SPIN1CHECK_QTD_H
|
60
src/KinematicGUI/KinematicGUI_3List3Spin.cxx
Normal file
60
src/KinematicGUI/KinematicGUI_3List3Spin.cxx
Normal file
@ -0,0 +1,60 @@
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : KinematicGUI_3List3Spin.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#include "KinematicGUI_3List3Spin.h"
|
||||
|
||||
#include <qlayout.h>
|
||||
#include <qspinbox.h>
|
||||
#include <qgroupbox.h>
|
||||
|
||||
/*
|
||||
* Constructs a KinematicGUI_3List3Spin which is a child of 'parent', with the
|
||||
* name 'name' and widget flags set to 'f'
|
||||
*/
|
||||
KinematicGUI_3List3Spin::KinematicGUI_3List3Spin(QWidget* parent, const char* name, WFlags fl)
|
||||
:KinematicGUI_3List3Spin_QTD(parent, name, fl)
|
||||
{
|
||||
SpinBox1->close(TRUE);
|
||||
SpinBox2->close(TRUE);
|
||||
SpinBox3->close(TRUE);
|
||||
SpinBox_DX = new DlgRef_SpinBox(GroupBox1, "SpinBox_DX");
|
||||
SpinBox_DY = new DlgRef_SpinBox(GroupBox1, "SpinBox_DY");
|
||||
SpinBox_DZ = new DlgRef_SpinBox(GroupBox1, "SpinBox_DZ");
|
||||
Layout1->addWidget(SpinBox_DX, 0, 3);
|
||||
Layout1->addWidget(SpinBox_DY, 1, 3);
|
||||
Layout1->addWidget(SpinBox_DZ, 2, 3);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Destroys the object and frees any allocated resources
|
||||
*/
|
||||
KinematicGUI_3List3Spin::~KinematicGUI_3List3Spin()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
49
src/KinematicGUI/KinematicGUI_3List3Spin.h
Normal file
49
src/KinematicGUI/KinematicGUI_3List3Spin.h
Normal file
@ -0,0 +1,49 @@
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : KinematicGUI_3List3Spin.h
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef KINEMATICGUI_3LIST3SPIN_H
|
||||
#define KINEMATICGUI_3LIST3SPIN_H
|
||||
|
||||
#include "KinematicGUI_3List3Spin_QTD.h"
|
||||
#include "DlgRef_SpinBox.h"
|
||||
|
||||
class KinematicGUI_3List3Spin : public KinematicGUI_3List3Spin_QTD
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KinematicGUI_3List3Spin( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
|
||||
~KinematicGUI_3List3Spin();
|
||||
|
||||
DlgRef_SpinBox* SpinBox_DX;
|
||||
DlgRef_SpinBox* SpinBox_DY;
|
||||
DlgRef_SpinBox* SpinBox_DZ;
|
||||
|
||||
};
|
||||
|
||||
#endif // KINEMATICGUI_3LIST3SPIN_H
|
125
src/KinematicGUI/KinematicGUI_3List3Spin_QTD.cxx
Normal file
125
src/KinematicGUI/KinematicGUI_3List3Spin_QTD.cxx
Normal file
@ -0,0 +1,125 @@
|
||||
/****************************************************************************
|
||||
** Form implementation generated from reading ui file 'KinematicGUI_3List3Spin_QTD.ui'
|
||||
**
|
||||
** Created: mer fév 4 16:57:37 2004
|
||||
** by: The User Interface Compiler (uic)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
****************************************************************************/
|
||||
#include "KinematicGUI_3List3Spin_QTD.h"
|
||||
|
||||
#include <qvariant.h>
|
||||
#include <qcombobox.h>
|
||||
#include <qgroupbox.h>
|
||||
#include <qlabel.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qspinbox.h>
|
||||
#include <qlayout.h>
|
||||
#include <qtooltip.h>
|
||||
#include <qwhatsthis.h>
|
||||
|
||||
/*
|
||||
* Constructs a KinematicGUI_3List3Spin_QTD which is a child of 'parent', with the
|
||||
* name 'name' and widget flags set to 'f'.
|
||||
*/
|
||||
KinematicGUI_3List3Spin_QTD::KinematicGUI_3List3Spin_QTD( QWidget* parent, const char* name, WFlags fl )
|
||||
: QWidget( parent, name, fl )
|
||||
{
|
||||
if ( !name )
|
||||
setName( "KinematicGUI_3List3Spin_QTD" );
|
||||
resize( 279, 111 );
|
||||
setMinimumSize( QSize( 100, 0 ) );
|
||||
setCaption( trUtf8( "KinematicGUI_3List3Spin_QTD" ) );
|
||||
KinematicGUI_3List3Spin_QTDLayout = new QGridLayout( this, 1, 1, 0, 6, "KinematicGUI_3List3Spin_QTDLayout");
|
||||
|
||||
GroupBox1 = new QGroupBox( this, "GroupBox1" );
|
||||
GroupBox1->setTitle( trUtf8( "" ) );
|
||||
GroupBox1->setColumnLayout(0, Qt::Vertical );
|
||||
GroupBox1->layout()->setSpacing( 6 );
|
||||
GroupBox1->layout()->setMargin( 11 );
|
||||
GroupBox1Layout = new QGridLayout( GroupBox1->layout() );
|
||||
GroupBox1Layout->setAlignment( Qt::AlignTop );
|
||||
|
||||
Layout1 = new QGridLayout( 0, 1, 1, 0, 6, "Layout1");
|
||||
|
||||
TextLabel2 = new QLabel( GroupBox1, "TextLabel2" );
|
||||
TextLabel2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel2->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel2->setText( trUtf8( "TL2" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel2, 0, 2 );
|
||||
QSpacerItem* spacer = new QSpacerItem( 0, 100, QSizePolicy::Minimum, QSizePolicy::Expanding );
|
||||
Layout1->addItem( spacer, 3, 3 );
|
||||
|
||||
SpinBox1 = new QSpinBox( GroupBox1, "SpinBox1" );
|
||||
SpinBox1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox1->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox1, 0, 3 );
|
||||
|
||||
TextLabel4 = new QLabel( GroupBox1, "TextLabel4" );
|
||||
TextLabel4->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel4->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel4->setText( trUtf8( "TL4" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel4, 1, 2 );
|
||||
|
||||
TextLabel3 = new QLabel( GroupBox1, "TextLabel3" );
|
||||
TextLabel3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel3->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel3->setText( trUtf8( "TL3" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel3, 1, 0 );
|
||||
|
||||
TextLabel1 = new QLabel( GroupBox1, "TextLabel1" );
|
||||
TextLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel1->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel1->setText( trUtf8( "TL1" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel1, 0, 0 );
|
||||
|
||||
ComboBox3 = new QComboBox( FALSE, GroupBox1, "ComboBox3" );
|
||||
ComboBox3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, ComboBox3->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( ComboBox3, 2, 1 );
|
||||
|
||||
SpinBox2 = new QSpinBox( GroupBox1, "SpinBox2" );
|
||||
SpinBox2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox2->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox2, 1, 3 );
|
||||
|
||||
SpinBox3 = new QSpinBox( GroupBox1, "SpinBox3" );
|
||||
SpinBox3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox3->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( SpinBox3, 2, 3 );
|
||||
|
||||
TextLabel6 = new QLabel( GroupBox1, "TextLabel6" );
|
||||
TextLabel6->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel6->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel6->setText( trUtf8( "TL6" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel6, 2, 2 );
|
||||
|
||||
ComboBox1 = new QComboBox( FALSE, GroupBox1, "ComboBox1" );
|
||||
ComboBox1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, ComboBox1->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( ComboBox1, 0, 1 );
|
||||
|
||||
ComboBox2 = new QComboBox( FALSE, GroupBox1, "ComboBox2" );
|
||||
ComboBox2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, ComboBox2->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( ComboBox2, 1, 1 );
|
||||
|
||||
TextLabel5 = new QLabel( GroupBox1, "TextLabel5" );
|
||||
TextLabel5->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel5->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel5->setText( trUtf8( "TL5" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel5, 2, 0 );
|
||||
|
||||
GroupBox1Layout->addLayout( Layout1, 0, 0 );
|
||||
|
||||
KinematicGUI_3List3Spin_QTDLayout->addWidget( GroupBox1, 0, 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
* Destroys the object and frees any allocated resources
|
||||
*/
|
||||
KinematicGUI_3List3Spin_QTD::~KinematicGUI_3List3Spin_QTD()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
||||
|
51
src/KinematicGUI/KinematicGUI_3List3Spin_QTD.h
Normal file
51
src/KinematicGUI/KinematicGUI_3List3Spin_QTD.h
Normal file
@ -0,0 +1,51 @@
|
||||
/****************************************************************************
|
||||
** Form interface generated from reading ui file 'KinematicGUI_3List3Spin_QTD.ui'
|
||||
**
|
||||
** Created: mer fév 4 16:57:37 2004
|
||||
** by: The User Interface Compiler (uic)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
****************************************************************************/
|
||||
#ifndef KINEMATICGUI_3LIST3SPIN_QTD_H
|
||||
#define KINEMATICGUI_3LIST3SPIN_QTD_H
|
||||
|
||||
#include <qvariant.h>
|
||||
#include <qwidget.h>
|
||||
class QVBoxLayout;
|
||||
class QHBoxLayout;
|
||||
class QGridLayout;
|
||||
class QComboBox;
|
||||
class QGroupBox;
|
||||
class QLabel;
|
||||
class QSpinBox;
|
||||
|
||||
class KinematicGUI_3List3Spin_QTD : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KinematicGUI_3List3Spin_QTD( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
|
||||
~KinematicGUI_3List3Spin_QTD();
|
||||
|
||||
QGroupBox* GroupBox1;
|
||||
QLabel* TextLabel2;
|
||||
QSpinBox* SpinBox1;
|
||||
QLabel* TextLabel4;
|
||||
QLabel* TextLabel3;
|
||||
QLabel* TextLabel1;
|
||||
QComboBox* ComboBox3;
|
||||
QSpinBox* SpinBox2;
|
||||
QSpinBox* SpinBox3;
|
||||
QLabel* TextLabel6;
|
||||
QComboBox* ComboBox1;
|
||||
QComboBox* ComboBox2;
|
||||
QLabel* TextLabel5;
|
||||
|
||||
|
||||
protected:
|
||||
QGridLayout* KinematicGUI_3List3Spin_QTDLayout;
|
||||
QGridLayout* GroupBox1Layout;
|
||||
QGridLayout* Layout1;
|
||||
};
|
||||
|
||||
#endif // KINEMATICGUI_3LIST3SPIN_QTD_H
|
117
src/KinematicGUI/KinematicGUI_3Sel1List_QTD.cxx
Normal file
117
src/KinematicGUI/KinematicGUI_3Sel1List_QTD.cxx
Normal file
@ -0,0 +1,117 @@
|
||||
/****************************************************************************
|
||||
** Form implementation generated from reading ui file 'KinematicGUI_3Sel1List_QTD.ui'
|
||||
**
|
||||
** Created: mer fév 4 13:09:40 2004
|
||||
** by: The User Interface Compiler (uic)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
****************************************************************************/
|
||||
#include "KinematicGUI_3Sel1List_QTD.h"
|
||||
|
||||
#include <qvariant.h>
|
||||
#include <qcombobox.h>
|
||||
#include <qgroupbox.h>
|
||||
#include <qlabel.h>
|
||||
#include <qlineedit.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qlayout.h>
|
||||
#include <qtooltip.h>
|
||||
#include <qwhatsthis.h>
|
||||
|
||||
/*
|
||||
* Constructs a KinematicGUI_3Sel1List_QTD which is a child of 'parent', with the
|
||||
* name 'name' and widget flags set to 'f'.
|
||||
*/
|
||||
KinematicGUI_3Sel1List_QTD::KinematicGUI_3Sel1List_QTD( QWidget* parent, const char* name, WFlags fl )
|
||||
: QWidget( parent, name, fl )
|
||||
{
|
||||
if ( !name )
|
||||
setName( "KinematicGUI_3Sel1List_QTD" );
|
||||
resize( 129, 145 );
|
||||
setCaption( trUtf8( "KinematicGUI_3Sel1List_QTD" ) );
|
||||
KinematicGUI_3Sel1List_QTDLayout = new QGridLayout( this, 1, 1, 0, 6, "KinematicGUI_3Sel1List_QTDLayout");
|
||||
|
||||
GroupBox1 = new QGroupBox( this, "GroupBox1" );
|
||||
GroupBox1->setTitle( trUtf8( "" ) );
|
||||
GroupBox1->setColumnLayout(0, Qt::Vertical );
|
||||
GroupBox1->layout()->setSpacing( 6 );
|
||||
GroupBox1->layout()->setMargin( 11 );
|
||||
GroupBox1Layout = new QGridLayout( GroupBox1->layout() );
|
||||
GroupBox1Layout->setAlignment( Qt::AlignTop );
|
||||
|
||||
Layout1 = new QGridLayout( 0, 1, 1, 0, 6, "Layout1");
|
||||
QSpacerItem* spacer = new QSpacerItem( 0, 90, QSizePolicy::Minimum, QSizePolicy::Expanding );
|
||||
Layout1->addItem( spacer, 4, 2 );
|
||||
|
||||
PushButton2 = new QPushButton( GroupBox1, "PushButton2" );
|
||||
PushButton2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton2->sizePolicy().hasHeightForWidth() ) );
|
||||
PushButton2->setText( trUtf8( "" ) );
|
||||
|
||||
Layout1->addWidget( PushButton2, 2, 1 );
|
||||
|
||||
TextLabel1 = new QLabel( GroupBox1, "TextLabel1" );
|
||||
TextLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel1->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel1->setText( trUtf8( "TL1" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel1, 0, 0 );
|
||||
|
||||
TextLabel4 = new QLabel( GroupBox1, "TextLabel4" );
|
||||
TextLabel4->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel4->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel4->setText( trUtf8( "TL4" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel4, 3, 0 );
|
||||
|
||||
LineEdit1 = new QLineEdit( GroupBox1, "LineEdit1" );
|
||||
|
||||
Layout1->addWidget( LineEdit1, 0, 2 );
|
||||
|
||||
PushButton1 = new QPushButton( GroupBox1, "PushButton1" );
|
||||
PushButton1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton1->sizePolicy().hasHeightForWidth() ) );
|
||||
PushButton1->setText( trUtf8( "" ) );
|
||||
|
||||
Layout1->addWidget( PushButton1, 0, 1 );
|
||||
|
||||
TextLabel3 = new QLabel( GroupBox1, "TextLabel3" );
|
||||
TextLabel3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel3->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel3->setText( trUtf8( "TL3" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel3, 2, 0 );
|
||||
|
||||
PushButton3 = new QPushButton( GroupBox1, "PushButton3" );
|
||||
PushButton3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton3->sizePolicy().hasHeightForWidth() ) );
|
||||
PushButton3->setText( trUtf8( "" ) );
|
||||
|
||||
Layout1->addWidget( PushButton3, 3, 1 );
|
||||
|
||||
ComboBox1 = new QComboBox( FALSE, GroupBox1, "ComboBox1" );
|
||||
ComboBox1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, ComboBox1->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout1->addWidget( ComboBox1, 1, 2 );
|
||||
|
||||
LineEdit2 = new QLineEdit( GroupBox1, "LineEdit2" );
|
||||
|
||||
Layout1->addWidget( LineEdit2, 2, 2 );
|
||||
|
||||
LineEdit3 = new QLineEdit( GroupBox1, "LineEdit3" );
|
||||
|
||||
Layout1->addWidget( LineEdit3, 3, 2 );
|
||||
|
||||
TextLabel2 = new QLabel( GroupBox1, "TextLabel2" );
|
||||
TextLabel2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel2->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel2->setText( trUtf8( "TL2" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel2, 1, 0 );
|
||||
|
||||
GroupBox1Layout->addLayout( Layout1, 0, 0 );
|
||||
|
||||
KinematicGUI_3Sel1List_QTDLayout->addWidget( GroupBox1, 0, 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
* Destroys the object and frees any allocated resources
|
||||
*/
|
||||
KinematicGUI_3Sel1List_QTD::~KinematicGUI_3Sel1List_QTD()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
||||
|
51
src/KinematicGUI/KinematicGUI_3Sel1List_QTD.h
Normal file
51
src/KinematicGUI/KinematicGUI_3Sel1List_QTD.h
Normal file
@ -0,0 +1,51 @@
|
||||
/****************************************************************************
|
||||
** Form interface generated from reading ui file 'KinematicGUI_3Sel1List_QTD.ui'
|
||||
**
|
||||
** Created: mer fév 4 13:09:40 2004
|
||||
** by: The User Interface Compiler (uic)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
****************************************************************************/
|
||||
#ifndef KINEMATICGUI_3SEL1LIST_QTD_H
|
||||
#define KINEMATICGUI_3SEL1LIST_QTD_H
|
||||
|
||||
#include <qvariant.h>
|
||||
#include <qwidget.h>
|
||||
class QVBoxLayout;
|
||||
class QHBoxLayout;
|
||||
class QGridLayout;
|
||||
class QComboBox;
|
||||
class QGroupBox;
|
||||
class QLabel;
|
||||
class QLineEdit;
|
||||
class QPushButton;
|
||||
|
||||
class KinematicGUI_3Sel1List_QTD : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KinematicGUI_3Sel1List_QTD( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
|
||||
~KinematicGUI_3Sel1List_QTD();
|
||||
|
||||
QGroupBox* GroupBox1;
|
||||
QPushButton* PushButton2;
|
||||
QLabel* TextLabel1;
|
||||
QLabel* TextLabel4;
|
||||
QLineEdit* LineEdit1;
|
||||
QPushButton* PushButton1;
|
||||
QLabel* TextLabel3;
|
||||
QPushButton* PushButton3;
|
||||
QComboBox* ComboBox1;
|
||||
QLineEdit* LineEdit2;
|
||||
QLineEdit* LineEdit3;
|
||||
QLabel* TextLabel2;
|
||||
|
||||
|
||||
protected:
|
||||
QGridLayout* KinematicGUI_3Sel1List_QTDLayout;
|
||||
QGridLayout* GroupBox1Layout;
|
||||
QGridLayout* Layout1;
|
||||
};
|
||||
|
||||
#endif // KINEMATICGUI_3SEL1LIST_QTD_H
|
54
src/KinematicGUI/KinematicGUI_3Sel1Spin.cxx
Normal file
54
src/KinematicGUI/KinematicGUI_3Sel1Spin.cxx
Normal file
@ -0,0 +1,54 @@
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : KinematicGUI_3Sel1Spin.cxx
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#include "KinematicGUI_3Sel1Spin.h"
|
||||
|
||||
#include <qlayout.h>
|
||||
#include <qspinbox.h>
|
||||
#include <qgroupbox.h>
|
||||
|
||||
/*
|
||||
* Constructs a KinematicGUI_3Sel1Spin which is a child of 'parent', with the
|
||||
* name 'name' and widget flags set to 'f'
|
||||
*/
|
||||
KinematicGUI_3Sel1Spin::KinematicGUI_3Sel1Spin(QWidget* parent, const char* name, WFlags fl)
|
||||
:KinematicGUI_3Sel1Spin_QTD(parent, name, fl)
|
||||
{
|
||||
SpinBox1->close(TRUE);
|
||||
SpinBox_DX = new DlgRef_SpinBox(GroupBox1, "SpinBox_DX");
|
||||
Layout2->addWidget(SpinBox_DX, 0, 1);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Destroys the object and frees any allocated resources
|
||||
*/
|
||||
KinematicGUI_3Sel1Spin::~KinematicGUI_3Sel1Spin()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
47
src/KinematicGUI/KinematicGUI_3Sel1Spin.h
Normal file
47
src/KinematicGUI/KinematicGUI_3Sel1Spin.h
Normal file
@ -0,0 +1,47 @@
|
||||
// GEOM GEOMGUI : GUI for Geometry component
|
||||
//
|
||||
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2.1 of the License.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
//
|
||||
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||
//
|
||||
//
|
||||
//
|
||||
// File : KinematicGUI_3Sel1Spin.h
|
||||
// Author : Damien COQUERET
|
||||
// Module : GEOM
|
||||
// $Header:
|
||||
|
||||
#ifndef KINEMATICGUI_3SEL1SPIN_H
|
||||
#define KINEMATICGUI_3SEL1SPIN_H
|
||||
|
||||
#include "KinematicGUI_3Sel1Spin_QTD.h"
|
||||
#include "DlgRef_SpinBox.h"
|
||||
|
||||
class KinematicGUI_3Sel1Spin : public KinematicGUI_3Sel1Spin_QTD
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
KinematicGUI_3Sel1Spin( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
|
||||
~KinematicGUI_3Sel1Spin();
|
||||
|
||||
DlgRef_SpinBox* SpinBox_DX;
|
||||
|
||||
};
|
||||
|
||||
#endif // KINEMATICGUI_3SEL1SPIN_H
|
121
src/KinematicGUI/KinematicGUI_3Sel1Spin_QTD.cxx
Normal file
121
src/KinematicGUI/KinematicGUI_3Sel1Spin_QTD.cxx
Normal file
@ -0,0 +1,121 @@
|
||||
/****************************************************************************
|
||||
** Form implementation generated from reading ui file 'KinematicGUI_3Sel1Spin_QTD.ui'
|
||||
**
|
||||
** Created: mer fév 4 13:09:41 2004
|
||||
** by: The User Interface Compiler (uic)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
****************************************************************************/
|
||||
#include "KinematicGUI_3Sel1Spin_QTD.h"
|
||||
|
||||
#include <qvariant.h>
|
||||
#include <qgroupbox.h>
|
||||
#include <qlabel.h>
|
||||
#include <qlineedit.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qspinbox.h>
|
||||
#include <qlayout.h>
|
||||
#include <qtooltip.h>
|
||||
#include <qwhatsthis.h>
|
||||
|
||||
/*
|
||||
* Constructs a KinematicGUI_3Sel1Spin_QTD which is a child of 'parent', with the
|
||||
* name 'name' and widget flags set to 'f'.
|
||||
*/
|
||||
KinematicGUI_3Sel1Spin_QTD::KinematicGUI_3Sel1Spin_QTD( QWidget* parent, const char* name, WFlags fl )
|
||||
: QWidget( parent, name, fl )
|
||||
{
|
||||
if ( !name )
|
||||
setName( "KinematicGUI_3Sel1Spin_QTD" );
|
||||
resize( 129, 147 );
|
||||
setCaption( trUtf8( "KinematicGUI_3Sel1Spin_QTD" ) );
|
||||
KinematicGUI_3Sel1Spin_QTDLayout = new QGridLayout( this, 1, 1, 0, 6, "KinematicGUI_3Sel1Spin_QTDLayout");
|
||||
|
||||
GroupBox1 = new QGroupBox( this, "GroupBox1" );
|
||||
GroupBox1->setTitle( trUtf8( "" ) );
|
||||
GroupBox1->setColumnLayout(0, Qt::Vertical );
|
||||
GroupBox1->layout()->setSpacing( 6 );
|
||||
GroupBox1->layout()->setMargin( 11 );
|
||||
GroupBox1Layout = new QGridLayout( GroupBox1->layout() );
|
||||
GroupBox1Layout->setAlignment( Qt::AlignTop );
|
||||
|
||||
Layout1 = new QGridLayout( 0, 1, 1, 0, 6, "Layout1");
|
||||
|
||||
LineEdit1 = new QLineEdit( GroupBox1, "LineEdit1" );
|
||||
|
||||
Layout1->addWidget( LineEdit1, 0, 2 );
|
||||
|
||||
PushButton3 = new QPushButton( GroupBox1, "PushButton3" );
|
||||
PushButton3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton3->sizePolicy().hasHeightForWidth() ) );
|
||||
PushButton3->setText( trUtf8( "" ) );
|
||||
|
||||
Layout1->addWidget( PushButton3, 2, 1 );
|
||||
|
||||
Layout2 = new QGridLayout( 0, 1, 1, 0, 6, "Layout2");
|
||||
|
||||
TextLabel4 = new QLabel( GroupBox1, "TextLabel4" );
|
||||
TextLabel4->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel4->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel4->setText( trUtf8( "TL4" ) );
|
||||
|
||||
Layout2->addWidget( TextLabel4, 0, 0 );
|
||||
|
||||
SpinBox1 = new QSpinBox( GroupBox1, "SpinBox1" );
|
||||
SpinBox1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox1->sizePolicy().hasHeightForWidth() ) );
|
||||
|
||||
Layout2->addWidget( SpinBox1, 0, 1 );
|
||||
|
||||
Layout1->addMultiCellLayout( Layout2, 3, 3, 0, 2 );
|
||||
|
||||
TextLabel3 = new QLabel( GroupBox1, "TextLabel3" );
|
||||
TextLabel3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel3->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel3->setText( trUtf8( "TL3" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel3, 2, 0 );
|
||||
|
||||
LineEdit3 = new QLineEdit( GroupBox1, "LineEdit3" );
|
||||
|
||||
Layout1->addWidget( LineEdit3, 2, 2 );
|
||||
|
||||
LineEdit2 = new QLineEdit( GroupBox1, "LineEdit2" );
|
||||
|
||||
Layout1->addWidget( LineEdit2, 1, 2 );
|
||||
|
||||
PushButton2 = new QPushButton( GroupBox1, "PushButton2" );
|
||||
PushButton2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton2->sizePolicy().hasHeightForWidth() ) );
|
||||
PushButton2->setText( trUtf8( "" ) );
|
||||
|
||||
Layout1->addWidget( PushButton2, 1, 1 );
|
||||
|
||||
TextLabel2 = new QLabel( GroupBox1, "TextLabel2" );
|
||||
TextLabel2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel2->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel2->setText( trUtf8( "TL2" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel2, 1, 0 );
|
||||
QSpacerItem* spacer = new QSpacerItem( 0, 100, QSizePolicy::Minimum, QSizePolicy::Expanding );
|
||||
Layout1->addItem( spacer, 4, 2 );
|
||||
|
||||
TextLabel1 = new QLabel( GroupBox1, "TextLabel1" );
|
||||
TextLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel1->sizePolicy().hasHeightForWidth() ) );
|
||||
TextLabel1->setText( trUtf8( "TL1" ) );
|
||||
|
||||
Layout1->addWidget( TextLabel1, 0, 0 );
|
||||
|
||||
PushButton1 = new QPushButton( GroupBox1, "PushButton1" );
|
||||
PushButton1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton1->sizePolicy().hasHeightForWidth() ) );
|
||||
PushButton1->setText( trUtf8( "" ) );
|
||||
|
||||
Layout1->addWidget( PushButton1, 0, 1 );
|
||||
|
||||
GroupBox1Layout->addLayout( Layout1, 0, 0 );
|
||||
|
||||
KinematicGUI_3Sel1Spin_QTDLayout->addWidget( GroupBox1, 0, 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
* Destroys the object and frees any allocated resources
|
||||
*/
|
||||
KinematicGUI_3Sel1Spin_QTD::~KinematicGUI_3Sel1Spin_QTD()
|
||||
{
|
||||
// no need to delete child widgets, Qt does it all for us
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user