Project

General

Profile

Download (3.92 KB) Statistics
| Branch: | Revision:

library / src / main / java / org / distorted / library / type / Static1D.java @ ece89b28

1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2016 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Distorted.                                                               //
5
//                                                                                               //
6
// Distorted is free software: you can redistribute it and/or modify                             //
7
// it under the terms of the GNU General Public License as published by                          //
8
// the Free Software Foundation, either version 2 of the License, or                             //
9
// (at your option) any later version.                                                           //
10
//                                                                                               //
11
// Distorted is distributed in the hope that it will be useful,                                  //
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
14
// GNU General Public License for more details.                                                  //
15
//                                                                                               //
16
// You should have received a copy of the GNU General Public License                             //
17
// along with Distorted.  If not, see <http://www.gnu.org/licenses/>.                            //
18
///////////////////////////////////////////////////////////////////////////////////////////////////
19

    
20
package org.distorted.library.type;
21

    
22
///////////////////////////////////////////////////////////////////////////////////////////////////
23
/**
24
 * A 1-dimensional data structure containing a single float. The float has no particular meaning; 
25
 * when this data structure is used in Dynamics, we can think of it as a 1-dimensional Point
26
 * a few of which the Dynamic interpolates between.
27
 */
28

    
29
public class Static1D extends Static implements Data1D
30
  {
31
  float x;
32

    
33
///////////////////////////////////////////////////////////////////////////////////////////////////
34
/**
35
 * Constructor that initialises the value of the single float to ox.   
36
 *   
37
 * @param ox value of the single float.
38
 */  
39
  public Static1D(float ox)
40
    {
41
    super(1);
42
    x = ox;
43
    }
44

    
45
///////////////////////////////////////////////////////////////////////////////////////////////////
46
/**
47
 * Resets the value of the single float.
48
 * 
49
 * @param ox new value of the single float.
50
 */
51
  public void set(float ox)
52
    {
53
    x = ox;
54
    }
55

    
56
///////////////////////////////////////////////////////////////////////////////////////////////////
57
/**
58
 * Copy a Static1D.
59
 */
60
  public void set(Static1D s)
61
    {
62
    x = s.x;
63
    }
64

    
65
///////////////////////////////////////////////////////////////////////////////////////////////////
66
/**
67
 * Resets the value of the first float.
68
 *
69
 * @param ox new value of the first float.
70
 */
71
  public void set0(float ox)
72
    {
73
    x = ox;
74
    }
75

    
76
///////////////////////////////////////////////////////////////////////////////////////////////////
77
/**
78
 * Return the value of the float contained.
79
 * 
80
 * @return The single float.
81
 */
82
  public float get0()
83
    {
84
    return x;  
85
    }
86

    
87
///////////////////////////////////////////////////////////////////////////////////////////////////
88
/**
89
 * 'Interpolation' between the single Point (i.e. always this very value) returned to the buffer.
90
 *
91
 * @param buffer Float buffer we will write the results to.
92
 * @param offset Offset in the buffer where to write the result.
93
 * @param time not used
94
 * @param step not used
95
 * @return <code>false</code>
96
 */
97
  public boolean get(float[] buffer, int offset, long time, long step)
98
    {
99
    buffer[offset] = x;
100
    return false;
101
    }
102
  }
(14-14/18)