Branch data Line data Source code
1 : : #ifndef PARTITION_POINT_HPP
2 : : #define PARTITION_POINT_HPP
3 : :
4 : : #include "Point.hpp"
5 : : #include "PartitionEntity.hpp"
6 : :
7 : : class CubitPointData;
8 : : class PartitionCurve;
9 : :
10 : : class PartitionPoint : public TBPoint, public PartitionEntity
11 : : {
12 : :
13 : : friend class PartitionCurve;
14 : :
15 : : public:
16 : :
17 : : PartitionPoint( const CubitVector& position, PartitionEntity* owner );
18 : : PartitionPoint( const CubitSimpleAttrib& attrib, PartitionEntity* owner );
19 : : PartitionPoint( TBPoint* real_point );
20 : :
21 : : ~PartitionPoint();
22 : :
23 : : virtual CubitVector coordinates() const;
24 : : virtual CubitBox bounding_box() const;
25 : : virtual CubitStatus move_to_geometry( CubitVector& );
26 : :
27 : : TBPoint* real_point() const;
28 : :
29 : : CubitStatus move( CubitVector& delta );
30 : :
31 : : void append_simple_attribute_virt( const CubitSimpleAttrib& );
32 : : void remove_simple_attribute_virt( const CubitSimpleAttrib& );
33 : : void remove_all_simple_attribute_virt();
34 : : CubitStatus get_simple_attribute( DLIList<CubitSimpleAttrib>& );
35 : : CubitStatus get_simple_attribute( const CubitString& name,
36 : : DLIList<CubitSimpleAttrib>& );
37 : :
38 : : void get_parents_virt( DLIList<TopologyBridge*>& parents );
39 : : void get_children_virt( DLIList<TopologyBridge*>& children );
40 : 0 : int layer() const { return sub_entity_set().get_owner_layer(); }
41 : : GeometryQueryEngine* get_geometry_query_engine() const;
42 : :
43 : : int num_curves() const;
44 : : PartitionCurve* next_curve( PartitionCurve* prev = 0 ) const;
45 : :
46 : : PartitionCurve* common_curve( PartitionPoint* other ) const;
47 : :
48 : : virtual void print_debug_info( const char* prefix = 0,
49 : : bool print_subentity_set = true ) const;
50 : :
51 : : virtual void reverse_sense();
52 : :
53 : : virtual void notify_split( FacetEntity*, FacetEntity* );
54 : 0 : CubitPointData* facet_point() const { return facetPoint; }
55 : : void facet_point( CubitPointData* set );
56 : :
57 : : virtual CubitStatus save( CubitSimpleAttrib& attrib );
58 : :
59 : :
60 : : virtual void transform( const CubitTransformMatrix& );
61 : : private:
62 : :
63 : : PartitionCurve* firstCurve;
64 : : int curveCount;
65 : :
66 : : CubitVector myPosition;
67 : : CubitPointData* facetPoint;
68 : : };
69 : :
70 : 0 : inline int PartitionPoint::num_curves() const
71 : 0 : { return curveCount; }
72 : :
73 : : #endif
|