source: flair-src/trunk/lib/FlairCore/src/Vector3Ddata.h @ 2

Last change on this file since 2 was 2, checked in by Sanahuja Guillaume, 6 years ago

flaircore

File size: 2.3 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5
6/*!
7 * \file Vector3Ddata.h
8 * \brief Class defining a 3D vector and a io_data
9 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
10 * \date 2013/05/02
11 * \version 4.0
12 */
13#ifndef VECTOR3DDATA_H
14#define VECTOR3DDATA_H
15
16#include <io_data.h>
17#include <IODataElement.h>
18#include <Vector3D.h>
19
20namespace flair
21{
22namespace core
23{
24
25    /*! \class Vector3Ddata
26    *
27    * \brief Class defining a 3D vector and a io_data
28    * User must manually use the io_data's Mutex to access to Vector3D values.
29    */
30    class Vector3Ddata: public io_data, public Vector3D
31    {
32        public:
33            /*!
34            * \brief Constructor
35            *
36            * Construct a Vector3D using specified values.
37            *
38            * \param x
39            * \param y
40            * \param z
41            */
42            Vector3Ddata(const Object* parent, std::string name,float x=0,float y=0,float z=0,uint32_t n=1);
43
44            /*!
45            * \brief Destructor
46            *
47            */
48            ~Vector3Ddata();
49
50            /*!
51            * \brief X Element
52            *
53            * Get a vectorer to x element. This pointer can be used for plotting.
54            *
55            * \return pointer to the element
56            */
57            IODataElement* XElement(void) const;
58
59            /*!
60            * \brief Y Element
61            *
62            * Get a pointer to y element. This pointer can be used for plotting.
63            *
64            * \return pointer to the element
65            */
66            IODataElement* YElement(void) const;
67
68            /*!
69            * \brief Z Element
70            *
71            * Get a pointer to z element. This pointer can be used for plotting.
72            *
73            * \return pointer to the element
74            */
75            IODataElement* ZElement(void) const;
76
77        private:
78            /*!
79            * \brief Copy datas
80            *
81            * Reimplemented from io_data. \n
82            * See io_data::CopyDatas.
83            *
84            * \param dst destination buffer
85            */
86            void CopyDatas(char* dst) const;
87    };
88
89} // end namespace core
90} // end namespace flair
91
92#endif // VECTOR3DDATA_H
Note: See TracBrowser for help on using the repository browser.