3 #include "testing/testing.h"
77 params.shutter_close = 1.0;
80 params.frame_samples_xform =
params.frame_samples_shape = 5;
82 std::vector<double> frames(abc_archive->frames_begin(), abc_archive->frames_end());
84 EXPECT_NEAR(31.0, frames[0], 1
e-5);
85 EXPECT_NEAR(31.2, frames[1], 1
e-5);
86 EXPECT_NEAR(31.4, frames[2], 1
e-5);
87 EXPECT_NEAR(31.6, frames[3], 1
e-5);
88 EXPECT_NEAR(31.8, frames[4], 1
e-5);
89 EXPECT_NEAR(32.0, frames[5], 1
e-5);
90 EXPECT_NEAR(32.2, frames[6], 1
e-5);
91 EXPECT_NEAR(32.4, frames[7], 1
e-5);
92 EXPECT_NEAR(32.6, frames[8], 1
e-5);
93 EXPECT_NEAR(32.8, frames[9], 1
e-5);
95 for (
double frame : frames) {
96 EXPECT_TRUE(abc_archive->is_xform_frame(frame));
97 EXPECT_TRUE(abc_archive->is_shape_frame(frame));
104 params.shutter_open = 0.0;
105 params.shutter_close = 1.0;
106 params.frame_start = 31.0;
108 params.frame_samples_xform = 3;
109 params.frame_samples_shape = 2;
111 std::vector<double> frames(abc_archive->frames_begin(), abc_archive->frames_end());
113 EXPECT_NEAR(31.0, frames[0], 1
e-5);
114 EXPECT_TRUE(abc_archive->is_xform_frame(frames[0]));
115 EXPECT_TRUE(abc_archive->is_shape_frame(frames[0]));
116 EXPECT_NEAR(31.33333, frames[1], 1
e-5);
117 EXPECT_TRUE(abc_archive->is_xform_frame(frames[1]));
118 EXPECT_FALSE(abc_archive->is_shape_frame(frames[1]));
119 EXPECT_NEAR(31.5, frames[2], 1
e-5);
120 EXPECT_FALSE(abc_archive->is_xform_frame(frames[2]));
121 EXPECT_TRUE(abc_archive->is_shape_frame(frames[2]));
122 EXPECT_NEAR(31.66666, frames[3], 1
e-5);
123 EXPECT_TRUE(abc_archive->is_xform_frame(frames[3]));
124 EXPECT_FALSE(abc_archive->is_shape_frame(frames[3]));
125 EXPECT_NEAR(32.0, frames[4], 1
e-5);
126 EXPECT_TRUE(abc_archive->is_xform_frame(frames[4]));
127 EXPECT_TRUE(abc_archive->is_shape_frame(frames[4]));
128 EXPECT_NEAR(32.33333, frames[5], 1
e-5);
129 EXPECT_TRUE(abc_archive->is_xform_frame(frames[5]));
130 EXPECT_FALSE(abc_archive->is_shape_frame(frames[5]));
131 EXPECT_NEAR(32.5, frames[6], 1
e-5);
132 EXPECT_FALSE(abc_archive->is_xform_frame(frames[6]));
133 EXPECT_TRUE(abc_archive->is_shape_frame(frames[6]));
134 EXPECT_NEAR(32.66666, frames[7], 1
e-5);
135 EXPECT_TRUE(abc_archive->is_xform_frame(frames[7]));
136 EXPECT_FALSE(abc_archive->is_shape_frame(frames[7]));
142 params.shutter_open = -0.25;
143 params.shutter_close = 0.25;
144 params.frame_start = 31.0;
146 params.frame_samples_xform =
params.frame_samples_shape = 5;
148 std::vector<double> frames(abc_archive->frames_begin(), abc_archive->frames_end());
150 EXPECT_NEAR(31 - 0.25, frames[0], 1
e-5);
151 EXPECT_NEAR(31 - 0.15, frames[1], 1
e-5);
152 EXPECT_NEAR(31 - 0.05, frames[2], 1
e-5);
153 EXPECT_NEAR(31 + 0.05, frames[3], 1
e-5);
154 EXPECT_NEAR(31 + 0.15, frames[4], 1
e-5);
155 EXPECT_NEAR(32 - 0.25, frames[5], 1
e-5);
156 EXPECT_NEAR(32 - 0.15, frames[6], 1
e-5);
157 EXPECT_NEAR(32 - 0.05, frames[7], 1
e-5);
158 EXPECT_NEAR(32 + 0.05, frames[8], 1
e-5);
159 EXPECT_NEAR(32 + 0.15, frames[9], 1
e-5);
struct Main * BKE_main_new(void)
void BKE_main_free(struct Main *mainvar)
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
File and directory operations.
int BLI_exists(const char *path) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
int BLI_delete(const char *file, bool dir, bool recursive) ATTR_NONNULL()
Depsgraph * DEG_graph_new(struct Main *bmain, struct Scene *scene, struct ViewLayer *view_layer, eEvaluationMode mode)
struct Depsgraph Depsgraph
void DEG_free_node_types(void)
void DEG_graph_free(Depsgraph *graph)
void DEG_register_node_types(void)
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
AlembicExportParams params
TEST_F(AlembicExportTest, TimeSamplesFullShutterUniform)