Branch data Line data Source code
1 : : //- Class: CubitEntity
2 : : //- Description: CubitEntity class - the base class in the CUBIT Entity Tree.
3 : : //- Owner: Bill Bohnhoff
4 : : //- Checked by: Tim Tautges, 6/6/94
5 : : //- Version: $Id:
6 : :
7 : : #ifndef CUBITENTITY_HPP
8 : : #define CUBITENTITY_HPP
9 : :
10 : : #include "CubitDefines.h"
11 : : #include "InvalidEntity.hpp"
12 : :
13 : : #include <typeinfo>
14 : :
15 : : class CubitBox;
16 : : class CubitVector;
17 : : class CubitString;
18 : : #include "CGMUtilConfigure.h"
19 : : #include "DLIList.hpp"
20 : :
21 : : class CUBIT_UTIL_EXPORT CubitEntity
22 : : {
23 : : public:
24 : :
25 : : //- Heading: Constructors and Destructor
26 : 81482 : CubitEntity() : entityId(0) {}
27 : :
28 : : virtual ~CubitEntity() ;
29 : :
30 : : //- Heading: Set and Inquire functions
31 : : virtual int id() const;
32 : :
33 : : virtual void set_id(int i);
34 : : //- set the id of this entity to i
35 : :
36 : : //- Heading: Virtual functions
37 : : //virtual void list() const = 0; //- pure virtual
38 : :
39 : : virtual CubitBox bounding_box() = 0;
40 : : virtual CubitVector center_point();
41 : :
42 : : //@ The overloaded members color() and is_visible() are
43 : : //@ not pure virtual because mesh entities will NOT override these.
44 : : //@ Mesh entities rely on the RefEntity owner for this information.
45 : : virtual void color(int value);
46 : : virtual int color() const;
47 : :
48 : : virtual void is_visible(int flag);
49 : : virtual int is_visible() const;
50 : : virtual void is_transparent(int flag);
51 : : virtual int is_transparent() const;
52 : :
53 : : virtual const std::type_info& entity_type_info() const = 0;
54 : :
55 : : virtual const char* class_name() const = 0;
56 : : //- return class name string.
57 : :
58 : : virtual CubitString entity_name() const = 0;
59 : : //- return the name of this entity. If one not assigned, a default one will be generated.
60 : :
61 : : protected:
62 : : int entityId;
63 : :
64 : :
65 : : private:
66 : : CubitEntity( const CubitEntity& );
67 : : void operator=( const CubitEntity&);
68 : : };
69 : :
70 : : //template <> struct DLIListSorter<CubitEntity*>
71 : : //{
72 : : // bool operator()(CubitEntity* a, CubitEntity* b) { return a->id() < b->id(); }
73 : : //};
74 : :
75 : : #endif
76 : :
|