Ocean
Loading...
Searching...
No Matches
PositionInterpolator.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7
8#ifndef META_OCEAN_SCENEDESCRIPTION_SDX_X3D_POSITION_INTERPOLATOR_H
9#define META_OCEAN_SCENEDESCRIPTION_SDX_X3D_POSITION_INTERPOLATOR_H
10
13
14namespace Ocean
15{
16
17namespace SceneDescription
18{
19
20namespace SDX
21{
22
23namespace X3D
24{
25
26/**
27 * This class implements a position interpolator node.
28 * @ingroup scenedescriptionsdxx3d
29 */
30class OCEAN_SCENEDESCRIPTION_SDX_X3D_EXPORT PositionInterpolator : virtual public X3DInterpolatorNode
31{
32 public:
33
34 /**
35 * Creates a new position interpolator node.
36 * @param environment Node environment
37 */
38 explicit PositionInterpolator(const SDXEnvironment* environment);
39
40 protected:
41
42 /**
43 * Specifies the node type and the fields of this node.
44 * @return Unique node specification of this node
45 */
47
48 /**
49 * Event function for single value 'interpolates'.
50 * @see X3DInterpolationNode::onSingleValue().
51 */
52 void onSingleValue(const size_t index, const Timestamp eventTimestamp) override;
53
54 /**
55 * Event function to interpolate between two values.
56 * @see X3DInterpolationNode::onInterpolate().
57 */
58 void onInterpolate(const size_t leftIndex, const size_t rightIndex, const Scalar interpolationFactor, const Timestamp eventTimestamp) override;
59
60 /**
61 * Returns the address of the most derived object.
62 * @see Node::objectAddress().
63 */
64 size_t objectAddress() const override;
65
66 protected:
67
68 /// KeyValue field.
70
71 /// Value_changed field.
73};
74
75}
76
77}
78
79}
80
81}
82
83#endif // META_OCEAN_SCENEDESCRIPTION_SDX_X3D_POSITION_INTERPOLATOR_H
This class implements a node specification object.
Definition scenedescription/Node.h:77
This class implements a position interpolator node.
Definition PositionInterpolator.h:31
void onInterpolate(const size_t leftIndex, const size_t rightIndex, const Scalar interpolationFactor, const Timestamp eventTimestamp) override
Event function to interpolate between two values.
SingleVector3 valueChanged_
Value_changed field.
Definition PositionInterpolator.h:72
size_t objectAddress() const override
Returns the address of the most derived object.
NodeSpecification specifyNode()
Specifies the node type and the fields of this node.
PositionInterpolator(const SDXEnvironment *environment)
Creates a new position interpolator node.
void onSingleValue(const size_t index, const Timestamp eventTimestamp) override
Event function for single value 'interpolates'.
MultiVector3 keyValue_
KeyValue field.
Definition PositionInterpolator.h:69
This class implements an abstract x3d interpolator node object.
Definition X3DInterpolatorNode.h:33
This class implements a node environment container.
Definition SDXNode.h:62
This class implements a timestamp.
Definition Timestamp.h:36
float Scalar
Definition of a scalar type.
Definition Math.h:129
The namespace covering the entire Ocean framework.
Definition Accessor.h:15