Version: 9.16.0
GEOM_Object_i.hh
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23#ifndef _GEOM_Object_i_HeaderFile
24#define _GEOM_Object_i_HeaderFile
25
26#include "GEOMImpl_Gen.hxx"
27#include "GEOM_BaseObject_i.hh"
28#include "GEOM_Object.hxx"
29
30#include <SALOMEconfig.h>
31#include CORBA_CLIENT_HEADER(SALOMEDS)
32#include CORBA_SERVER_HEADER(GEOM_Gen)
33
34#include <TopoDS_Shape.hxx>
35
36class GEOM_I_EXPORT GEOM_Object_i : public virtual POA_GEOM::GEOM_Object, public virtual GEOM_BaseObject_i
37{
38 public:
39 GEOM_Object_i(PortableServer::POA_ptr thePOA, GEOM::GEOM_Gen_ptr theEngine, Handle(::GEOM_Object) theImpl);
41
42 virtual GEOM::shape_type GetShapeType();
43
44 virtual GEOM::shape_type GetTopologyType();
45
47
48 virtual GEOM::shape_type GetMinShapeType();
49
50 virtual GEOM::shape_type GetMaxShapeType();
51
52 virtual char* GetSubShapeName(CORBA::Long subID);
53
54 virtual void SetColor(const SALOMEDS::Color& theColor);
55
56 virtual SALOMEDS::Color GetColor();
57
58 virtual void SetAutoColor(CORBA::Boolean theAutoColor);
59
60 virtual CORBA::Boolean GetAutoColor();
61
62 virtual void SetMarkerStd(GEOM::marker_type theType, GEOM::marker_size theSize);
63
64 virtual void SetMarkerTexture(CORBA::Long theTextureId);
65
66 virtual GEOM::marker_type GetMarkerType();
67
68 virtual GEOM::marker_size GetMarkerSize();
69
70 virtual CORBA::Long GetMarkerTexture();
71
72 virtual SALOMEDS::TMPFile* GetShapeStream();
73
74 virtual CORBA::LongLong getShape();
75
76 virtual bool IsMainShape() { return _impl->IsMainShape(); }
77
78 virtual GEOM::ListOfLong* GetSubShapeIndices();
79
80 virtual GEOM::GEOM_Object_ptr GetMainShape();
81
82 virtual bool IsSame(GEOM::GEOM_BaseObject_ptr other);
83
84 virtual bool IsShape();
85
86 virtual bool IsParametrical() { return false; }
87
88
89 Handle(::GEOM_Object) GetImpl() { return _impl; }
90
91 private:
92
93 Handle(::GEOM_Object) _impl;
94 TopoDS_Shape _geom;
95};
96
97#endif
#define GEOM_I_EXPORT
Definition: GEOM_GEOM_I.hxx:33
Definition: GEOM_BaseObject_i.hh:38
Handle(::GEOM_BaseObject) GetImpl()
Definition: GEOM_BaseObject_i.hh:71
virtual bool IsSame(GEOM::GEOM_BaseObject_ptr other)
Definition: GEOM_BaseObject_i.cc:218
Definition: GEOM_Object_i.hh:37
virtual bool IsParametrical()
Definition: GEOM_Object_i.hh:86
virtual bool IsMainShape()
Definition: GEOM_Object_i.hh:76
TopoDS_Shape _geom
Definition: GEOM_Object_i.hh:94
Handle(::GEOM_Object) _impl
Handle(::GEOM_Object) GetImpl()
Definition: GEOM_Object_i.hh:89
Standard_EXPORT TopAbs_ShapeEnum GetCommonShapeType(const TopoDS_Shape &theShape)
Get the common shape type of the top-level shapes contained in the given shape.
Definition: GEOMUtils.cxx:599
@ Color
Definition: GEOM_Constants.h:40
marker_type
Marker type.
Definition: GEOM_Gen.idl:67
shape_type
Topological types of shapes (like Open Cascade types)
Definition: GEOM_Gen.idl:41
sequence< long > ListOfLong
Definition: GEOM_Gen.idl:279
marker_size
Definition: GEOM_Gen.idl:73