// File : GEOM_Shape.idl // Created : 29 november 2001 // Author : Lucien PIGNOLONI // Project : SALOME // Copyright : OPEN CASCADE // $HEADERS: #ifndef __GEOM_Shape__ #define __GEOM_Shape__ module GEOM { //-----------------------------------------------------------------// // Topological types for shapes (like Open Cascade types) // //-----------------------------------------------------------------// enum shape_type { COMPOUND, COMPSOLID, SOLID, SHELL, FACE, WIRE, EDGE, VERTEX, SHAPE } ; //----------------------------------------------------------------// // Structures // //--------------------------------------------------- ------------// struct PointStruct { double x; double y; double z; } ; struct DirStruct { PointStruct PS ; } ; // analog to Occ Direction struct AxisStruct { double x; double y; double z; double vx; double vy; double vz; } ; //----------------------------------------------------------------// // interface GEOM_Shape methods // //----------------------------------------------------------------// interface GEOM_Gen; interface GEOM_Shape { typedef sequence ListOfSubShapeID ; typedef sequence TMPFile; attribute string Name; // (to set and get) the name of shape (= CORBA IOR converted into a string) attribute string MainName; // (to set and get) the name of mainshape (= CORBA IOR converted into a string) attribute boolean IsMainShape; // (...) true if this is a main shape (not a sub shape) attribute string ShapeId; // (...) the entry of the shape in geom/OCAF document attribute string StudyShapeId; // (...) the entry of the shape in the study/OCAF when added attribute ListOfSubShapeID Index; // (...) list of references (number) identifing the sub shapes in the main shape attribute shape_type ShapeType; // (...) a topological type of the shape attribute string NameType; // (...) a topological/geometrical name of the shape //Transfer resulting shape to client as sequence of bytes //client can extract shape from stream using BrepTools::Read function TMPFile GetShapeStream(); // the generator engine GEOM_Gen Engine(); }; }; #endif