00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _GEOM_IShapesOperations_i_HeaderFile
00024 #define _GEOM_IShapesOperations_i_HeaderFile
00025
00026 #include "GEOMImpl_Gen.hxx"
00027
00028 #include <SALOMEconfig.h>
00029
00030 #include CORBA_SERVER_HEADER(GEOM_Gen)
00031 #include "GEOM_IOperations_i.hh"
00032 #include "GEOM_Object_i.hh"
00033
00034 #include "GEOMImpl_IShapesOperations.hxx"
00035
00036 class GEOM_I_EXPORT GEOM_IShapesOperations_i :
00037 public virtual POA_GEOM::GEOM_IShapesOperations,
00038 public virtual GEOM_IOperations_i
00039 {
00040 public:
00041 GEOM_IShapesOperations_i (PortableServer::POA_ptr thePOA,
00042 GEOM::GEOM_Gen_ptr theEngine,
00043 ::GEOMImpl_IShapesOperations* theImpl);
00044 ~GEOM_IShapesOperations_i();
00045
00046 GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
00047 GEOM::GEOM_Object_ptr thePnt2);
00048
00049 GEOM::GEOM_Object_ptr MakeEdgeOnCurveByLength (GEOM::GEOM_Object_ptr theCurve,
00050 CORBA::Double theLength,
00051 GEOM::GEOM_Object_ptr theStartPoint);
00052
00053 GEOM::GEOM_Object_ptr MakeEdgeWire (GEOM::GEOM_Object_ptr theWire,
00054 const CORBA::Double theLinearTolerance,
00055 const CORBA::Double theAngularTolerance);
00056
00057 GEOM::GEOM_Object_ptr MakeWire (const GEOM::ListOfGO& theEdgesAndWires,
00058 const CORBA::Double theTolerance);
00059
00060 GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire,
00061 CORBA::Boolean isPlanarWanted);
00062
00063 GEOM::GEOM_Object_ptr MakeFaceWires (const GEOM::ListOfGO& theWires,
00064 CORBA::Boolean isPlanarWanted);
00065
00066 GEOM::GEOM_Object_ptr MakeShell (const GEOM::ListOfGO& theFacesAndShells);
00067
00068 GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
00069
00070 GEOM::GEOM_Object_ptr MakeSolidShells (const GEOM::ListOfGO& theShells);
00071
00072 GEOM::GEOM_Object_ptr MakeCompound (const GEOM::ListOfGO& theShapes);
00073
00074 GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
00075 CORBA::Double theTolerance,
00076 CORBA::Boolean doKeepNonSolids);
00077
00078 GEOM::ListOfGO* GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
00079 CORBA::Double theTolerance);
00080
00081 GEOM::GEOM_Object_ptr MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
00082 CORBA::Double theTolerance,
00083 const GEOM::ListOfGO& theFaces,
00084 CORBA::Boolean doKeepNonSolids,
00085 CORBA::Boolean doGlueAllEdges);
00086
00087 GEOM::GEOM_Object_ptr MakeGlueEdges (GEOM::GEOM_Object_ptr theShape,
00088 CORBA::Double theTolerance);
00089
00090 GEOM::ListOfGO* GetGlueEdges (GEOM::GEOM_Object_ptr theShape,
00091 CORBA::Double theTolerance);
00092
00093 GEOM::GEOM_Object_ptr MakeGlueEdgesByList (GEOM::GEOM_Object_ptr theShape,
00094 CORBA::Double theTolerance,
00095 const GEOM::ListOfGO& theEdges);
00096
00097 GEOM::ListOfGO* GetExistingSubObjects (GEOM::GEOM_Object_ptr theShape,
00098 CORBA::Boolean theGroupsOnly);
00099
00100
00101
00102 GEOM::ListOfGO* MakeExplode (GEOM::GEOM_Object_ptr theShape,
00103 CORBA::Long theShapeType,
00104 CORBA::Boolean isSorted);
00105
00106 GEOM::ListOfGO* MakeAllSubShapes (GEOM::GEOM_Object_ptr theShape,
00107 CORBA::Long theShapeType,
00108 CORBA::Boolean isSorted);
00109
00110 GEOM::ListOfGO* ExtractSubShapes (GEOM::GEOM_Object_ptr theShape,
00111 CORBA::Long theShapeType,
00112 CORBA::Boolean isSorted);
00113
00114
00115 GEOM::ListOfLong* SubShapeAllIDs (GEOM::GEOM_Object_ptr theShape,
00116 CORBA::Long theShapeType,
00117 CORBA::Boolean isSorted);
00118
00119 GEOM::ListOfLong* GetAllSubShapesIDs (GEOM::GEOM_Object_ptr theShape,
00120 CORBA::Long theShapeType,
00121 CORBA::Boolean isSorted);
00122
00123 GEOM::GEOM_Object_ptr GetSubShape (GEOM::GEOM_Object_ptr theMainShape,
00124 CORBA::Long theID);
00125
00126 GEOM::ListOfGO* MakeSubShapes (GEOM::GEOM_Object_ptr theMainShape,
00127 const GEOM::ListOfLong& theIndices);
00128
00129 CORBA::Long GetSubShapeIndex (GEOM::GEOM_Object_ptr theMainShape,
00130 GEOM::GEOM_Object_ptr theSubShape);
00131
00132 CORBA::Long GetTopologyIndex (GEOM::GEOM_Object_ptr theMainShape,
00133 GEOM::GEOM_Object_ptr theSubShape);
00134
00135 char* GetShapeTypeString (GEOM::GEOM_Object_ptr theShape);
00136
00137 CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
00138 CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
00139 CORBA::Long NumberOfSubShapes (GEOM::GEOM_Object_ptr theShape,
00140 const CORBA::Long theShapeType);
00141
00142 GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
00143
00144 GEOM::ListOfLong* GetFreeFacesIDs (GEOM::GEOM_Object_ptr theShape);
00145
00146 GEOM::ListOfGO* GetSharedShapes (GEOM::GEOM_Object_ptr theShape1,
00147 GEOM::GEOM_Object_ptr theShape2,
00148 CORBA::Long theShapeType);
00149
00150 GEOM::ListOfGO* GetSharedShapesMulti (const GEOM::ListOfGO& theShapes,
00151 CORBA::Long theShapeType);
00152
00153 GEOM::ListOfGO* GetShapesOnPlane (GEOM::GEOM_Object_ptr theShape,
00154 CORBA::Long theShapeType,
00155 GEOM::GEOM_Object_ptr theAx1,
00156 GEOM::shape_state theState);
00157
00158 GEOM::ListOfGO* GetShapesOnPlaneWithLocation(GEOM::GEOM_Object_ptr theShape,
00159 CORBA::Long theShapeType,
00160 GEOM::GEOM_Object_ptr theAx1,
00161 GEOM::GEOM_Object_ptr thePnt,
00162 GEOM::shape_state theState);
00163
00164 GEOM::ListOfGO* GetShapesOnCylinder (GEOM::GEOM_Object_ptr theShape,
00165 CORBA::Long theShapeType,
00166 GEOM::GEOM_Object_ptr theAxis,
00167 CORBA::Double theRadius,
00168 GEOM::shape_state theState);
00169
00170 GEOM::ListOfGO* GetShapesOnCylinderWithLocation (GEOM::GEOM_Object_ptr theShape,
00171 CORBA::Long theShapeType,
00172 GEOM::GEOM_Object_ptr theAxis,
00173 GEOM::GEOM_Object_ptr thePnt,
00174 CORBA::Double theRadius,
00175 GEOM::shape_state theState);
00176
00177 GEOM::ListOfGO* GetShapesOnSphere (GEOM::GEOM_Object_ptr theShape,
00178 CORBA::Long theShapeType,
00179 GEOM::GEOM_Object_ptr theCenter,
00180 CORBA::Double theRadius,
00181 GEOM::shape_state theState);
00182
00183 GEOM::ListOfGO* GetShapesOnQuadrangle (GEOM::GEOM_Object_ptr theShape,
00184 CORBA::Long theShapeType,
00185 GEOM::GEOM_Object_ptr theTopLeftPoint,
00186 GEOM::GEOM_Object_ptr theTopRigthPoint,
00187 GEOM::GEOM_Object_ptr theBottomLeftPoint,
00188 GEOM::GEOM_Object_ptr theBottomRigthPoint,
00189 GEOM::shape_state theState);
00190
00191 GEOM::ListOfLong* GetShapesOnPlaneIDs (GEOM::GEOM_Object_ptr theShape,
00192 CORBA::Long theShapeType,
00193 GEOM::GEOM_Object_ptr theAx1,
00194 GEOM::shape_state theState);
00195
00196 GEOM::ListOfLong* GetShapesOnPlaneWithLocationIDs (GEOM::GEOM_Object_ptr theShape,
00197 CORBA::Long theShapeType,
00198 GEOM::GEOM_Object_ptr theAx1,
00199 GEOM::GEOM_Object_ptr thePnt,
00200 GEOM::shape_state theState);
00201
00202 GEOM::ListOfLong* GetShapesOnCylinderIDs (GEOM::GEOM_Object_ptr theShape,
00203 CORBA::Long theShapeType,
00204 GEOM::GEOM_Object_ptr theAxis,
00205 CORBA::Double theRadius,
00206 GEOM::shape_state theState);
00207
00208 GEOM::ListOfLong* GetShapesOnCylinderWithLocationIDs (GEOM::GEOM_Object_ptr theShape,
00209 CORBA::Long theShapeType,
00210 GEOM::GEOM_Object_ptr theAxis,
00211 GEOM::GEOM_Object_ptr thePnt,
00212 CORBA::Double theRadius,
00213 GEOM::shape_state theState);
00214
00215 GEOM::ListOfLong* GetShapesOnSphereIDs (GEOM::GEOM_Object_ptr theShape,
00216 CORBA::Long theShapeType,
00217 GEOM::GEOM_Object_ptr theCenter,
00218 CORBA::Double theRadius,
00219 GEOM::shape_state theState);
00220
00221 GEOM::ListOfLong* GetShapesOnQuadrangleIDs (GEOM::GEOM_Object_ptr theShape,
00222 CORBA::Long theShapeType,
00223 GEOM::GEOM_Object_ptr theTopLeftPoint,
00224 GEOM::GEOM_Object_ptr theTopRigthPoint,
00225 GEOM::GEOM_Object_ptr theBottomLeftPoint,
00226 GEOM::GEOM_Object_ptr theBottomRigthPoint,
00227 GEOM::shape_state theState);
00228
00229 GEOM::ListOfGO* GetShapesOnBox (GEOM::GEOM_Object_ptr theBox,
00230 GEOM::GEOM_Object_ptr theShape,
00231 CORBA::Long theShapeType,
00232 GEOM::shape_state theState);
00233
00234 GEOM::ListOfLong* GetShapesOnBoxIDs (GEOM::GEOM_Object_ptr theBox,
00235 GEOM::GEOM_Object_ptr theShape,
00236 CORBA::Long theShapeType,
00237 GEOM::shape_state theState);
00238
00239 GEOM::ListOfGO* GetShapesOnShape (GEOM::GEOM_Object_ptr theSheckShape,
00240 GEOM::GEOM_Object_ptr theShape,
00241 CORBA::Short theShapeType,
00242 GEOM::shape_state theState);
00243
00244 GEOM::GEOM_Object_ptr GetShapesOnShapeAsCompound
00245 (GEOM::GEOM_Object_ptr theSheckShape,
00246 GEOM::GEOM_Object_ptr theShape,
00247 CORBA::Short theShapeType,
00248 GEOM::shape_state theState);
00249
00250 GEOM::ListOfLong* GetShapesOnShapeIDs (GEOM::GEOM_Object_ptr theCheckShape,
00251 GEOM::GEOM_Object_ptr theShape,
00252 CORBA::Short theShapeType,
00253 GEOM::shape_state theState);
00254
00255 GEOM::GEOM_Object_ptr GetInPlace (GEOM::GEOM_Object_ptr theShapeWhere,
00256 GEOM::GEOM_Object_ptr theShapeWhat);
00257
00258 GEOM::GEOM_Object_ptr GetInPlaceByHistory (GEOM::GEOM_Object_ptr theShapeWhere,
00259 GEOM::GEOM_Object_ptr theShapeWhat);
00260
00261 GEOM::GEOM_Object_ptr GetSame (GEOM::GEOM_Object_ptr theShapeWhere,
00262 GEOM::GEOM_Object_ptr theShapeWhat);
00263
00264 ::GEOMImpl_IShapesOperations* GetOperations()
00265 { return (::GEOMImpl_IShapesOperations*)GetImpl(); }
00266 };
00267
00268 #endif