draco_core/
keyframe_animation_encoder.rs1use crate::encoder_buffer::EncoderBuffer;
8use crate::encoder_options::EncoderOptions;
9use crate::keyframe_animation::KeyframeAnimation;
10use crate::point_cloud_encoder::PointCloudEncoder;
11use crate::status::Status;
12
13#[derive(Debug, Default)]
15pub struct KeyframeAnimationEncoder;
16
17impl KeyframeAnimationEncoder {
18 pub fn new() -> Self {
20 Self
21 }
22
23 pub fn encode_keyframe_animation(
26 &mut self,
27 animation: &KeyframeAnimation,
28 options: &EncoderOptions,
29 out_buffer: &mut EncoderBuffer,
30 ) -> Status {
31 let mut options = options.clone();
34 options.set_encoding_method(0);
35
36 let mut encoder = PointCloudEncoder::new();
37 encoder.set_point_cloud(animation.point_cloud().clone());
38 encoder.encode(&options, out_buffer)
39 }
40}