source: flair-src/trunk/lib/FlairCore/src/io_data.cpp@ 251

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

add delta time to io_data

File size: 2.0 KB
RevLine 
[2]1// %flair:license{
[15]2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
[2]4// %flair:license}
5// created: 2012/03/21
6// filename: io_data.cpp
7//
8// author: Guillaume Sanahuja
9// Copyright Heudiasyc UMR UTC/CNRS 7253
10//
11// version: $Id: $
12//
13// purpose: Abstract class for data types
14//
15//
16/*********************************************************************/
17
18#include "io_data.h"
19#include "io_data_impl.h"
20
21using std::string;
22
[15]23namespace flair {
24namespace core {
[2]25
26DummyType dummyType;
27FloatType floatType;
[51]28DoubleType doubleType;
[2]29SignedIntegerType Int8Type(8);
30SignedIntegerType Int16Type(16);
[51]31UnsignedIntegerType UInt8Type(8);
32UnsignedIntegerType UInt16Type(16);
[2]33
[15]34io_data::io_data(const Object *parent, string name, int n)
35 : Mutex(parent, name) {
36 pimpl_ = new io_data_impl(this, n);
[2]37}
38
[15]39io_data::~io_data() { delete pimpl_; }
[2]40
[15]41void io_data::AppendLogDescription(string description,
42 DataType const &datatype) {
43 pimpl_->AppendLogDescription(description, datatype);
[2]44}
45
46void io_data::SetDataTime(Time time) {
[15]47 GetMutex();
[223]48 if(pimpl_->time!=TIME_INFINITE) pimpl_->deltaTime = time-pimpl_->time;
[15]49 pimpl_->time = time;
50 ReleaseMutex();
[2]51}
52
[223]53void io_data::SetDataTime(Time time,Time deltaTime) {
54 GetMutex();
55 pimpl_->deltaTime = deltaTime;
56 pimpl_->time = time;
57 ReleaseMutex();
58}
59
[2]60Time io_data::DataTime(void) const {
[15]61 Time tmp;
62 GetMutex();
63 tmp = pimpl_->time;
64 ReleaseMutex();
65 return tmp;
[2]66}
67
[223]68Time io_data::DataDeltaTime(void) const {
69 Time tmp;
70 GetMutex();
71 tmp = pimpl_->deltaTime;
72 ReleaseMutex();
73 return tmp;
74}
75
76void io_data::GetDataTime(Time &time,Time &deltaTime) const{
77 GetMutex();
78 deltaTime=pimpl_->deltaTime ;
79 time=pimpl_->time ;
80 ReleaseMutex();
81}
82
[15]83const io_data *io_data::Prev(int n) const {
84 if (n > 0)
85 return prev->Prev(n - 1);
86 else
87 return this;
[2]88}
89
[15]90void io_data::SetPtrToCircle(void **ptr) { pimpl_->circle_ptr = ptr; }
[2]91
92} // end namespace core
93} // end namespace flair
Note: See TracBrowser for help on using the repository browser.