Loading...
Searching...
No Matches
tsTest_TsEvaluator.h
1//
2// Copyright 2024 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7
8#ifndef PXR_BASE_TS_TS_TEST_TS_EVALUATOR_H
9#define PXR_BASE_TS_TS_TEST_TS_EVALUATOR_H
10
11#include "pxr/pxr.h"
12#include "pxr/base/ts/api.h"
13#include "pxr/base/ts/spline.h"
14#include "pxr/base/ts/types.h"
15#include "pxr/base/ts/tsTest_Types.h"
16
17#include "pxr/base/tf/type.h"
18
19PXR_NAMESPACE_OPEN_SCOPE
20
21class TsTest_SampleTimes;
22class TsSpline;
23class GfInterval;
24
25// Perform test evaluation using Ts.
26//
27class TsTest_TsEvaluator
28{
29public:
31 // EVALUATION
32
33 // Evaluate at specified times.
34 TS_API
35 TsTest_SampleVec Eval(
36 const TsSpline& spline,
37 const TsTest_SampleTimes &sampleTimes) const;
38
39 // Produce bulk samples for drawing. Sample times are determined adaptively
40 // and cannot be controlled.
41 template <typename SampleData>
42 bool Sample(
43 const TsSpline& spline,
44 const GfInterval& timeInterval,
45 double timeScale,
46 double valueScale,
47 double tolerance,
48 SampleData* splineSamples) const;
49
51 // TEST DATA TRANSFORMATION
52
53 // Produce a copy of spline with inner loops, if any, baked out into
54 // ordinary knots.
55 /*
56 TS_API
57 TsSpline BakeInnerLoops(
58 const TsSpline &spline) const;
59 */
60};
61
62PXR_NAMESPACE_CLOSE_SCOPE
63
64#endif
A basic mathematical interval class.
Definition interval.h:33
A mathematical description of a curved function from time to value.
Definition spline.h:60