27 #ifndef _SMDS_Position_HeaderFile
28 #define _SMDS_Position_HeaderFile
44 int GetDim()
const {
return GetTypeOfPosition(); }
62 SMDS_Ptr( T * pos = (T *) 0,
bool isOwner=
true ):
63 std::unique_ptr< T >( pos ),
myIsOwner( isOwner ) {}
66 { this->swap(
const_cast<SMDS_Ptr&
>( from )); }
71 this->swap(
const_cast<SMDS_Ptr&
>( from ));
78 if (
const T* p =
dynamic_cast<const T*
>( base.get() ))
80 this->reset(
const_cast<T*
>( p ));
81 this->myIsOwner = base.
IsOwner();
87 operator bool ()
const {
return bool( this->get() ); }
SMDS_Ptr< SMDS_EdgePosition > SMDS_EdgePositionPtr
Definition: SMDS_Position.hxx:94
SMDS_Ptr< SMDS_FacePosition > SMDS_FacePositionPtr
Definition: SMDS_Position.hxx:95
SMDS_Ptr< SMDS_Position > SMDS_PositionPtr
Definition: SMDS_Position.hxx:92
SMDS_TypeOfPosition
Definition: SMDS_TypeOfPosition.hxx:31
#define SMDS_EXPORT
Definition: SMESH_SMDS.hxx:37
Definition: SMDS_EdgePosition.hxx:35
Definition: SMDS_FacePosition.hxx:35
Definition: SMDS_Position.hxx:40
virtual SMDS_TypeOfPosition GetTypeOfPosition() const =0
virtual const double * GetParameters() const =0
virtual ~SMDS_Position()
Definition: SMDS_Position.hxx:46
int GetDim() const
Definition: SMDS_Position.hxx:44
Replace "typedef SMDS_Position* SMDS_PositionPtr" by a smart pointer allowing implicit casting to der...
Definition: SMDS_Position.hxx:58
SMDS_Ptr(const SMDS_Ptr &from)
Definition: SMDS_Position.hxx:65
~SMDS_Ptr()
Definition: SMDS_Position.hxx:85
SMDS_Ptr & operator=(const SMDS_Ptr &from)
Definition: SMDS_Position.hxx:68
SMDS_Ptr(T *pos=(T *) 0, bool isOwner=true)
Definition: SMDS_Position.hxx:62
bool IsOwner() const
Definition: SMDS_Position.hxx:88
bool myIsOwner
Definition: SMDS_Position.hxx:59
SMDS_Ptr(const SMDS_Ptr< Y > &base)
Definition: SMDS_Position.hxx:76