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

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

m

File size: 1.8 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 {
21namespace core {
22
23/*! \class Vector3Ddata
24*
25* \brief Class defining a 3D vector and a io_data
26* User must manually use the io_data's Mutex to access to Vector3D values.
27*/
28class Vector3Ddata : public io_data, public Vector3Df {
29public:
30 /*!
31 * \brief Constructor
32 *
33 * Construct a Vector3D using specified values.
34 *
35 * \param x
36 * \param y
37 * \param z
38 */
39 Vector3Ddata(const Object *parent, std::string name, float x = 0, float y = 0,
40 float z = 0, uint32_t n = 1);
41
42 /*!
43 * \brief Destructor
44 *
45 */
46 ~Vector3Ddata();
47
48 /*!
49 * \brief X Element
50 *
51 * Get a vectorer to x element. This pointer can be used for plotting.
52 *
53 * \return pointer to the element
54 */
55 IODataElement *XElement(void) const;
56
57 /*!
58 * \brief Y Element
59 *
60 * Get a pointer to y element. This pointer can be used for plotting.
61 *
62 * \return pointer to the element
63 */
64 IODataElement *YElement(void) const;
65
66 /*!
67 * \brief Z Element
68 *
69 * Get a pointer to z element. This pointer can be used for plotting.
70 *
71 * \return pointer to the element
72 */
73 IODataElement *ZElement(void) const;
74
75private:
76 /*!
77 * \brief Copy datas
78 *
79 * Reimplemented from io_data. \n
80 * See io_data::RawRead.
81 *
82 * \param dst destination buffer
83 */
84 void CopyDatas(char *dst) const;
85};
86
87} // end namespace core
88} // end namespace flair
89
90#endif // VECTOR3DDATA_H
Note: See TracBrowser for help on using the repository browser.