source: flair-dev/trunk/include/FlairCore/Vector3Ddata.h@ 7

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

initial commit 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.