10 #include <bnb/utils/defs.hpp>
14 namespace bnb {
namespace interfaces {
16 enum class eyewear_type;
18 struct camera_position;
26 static std::shared_ptr<face_data> create();
28 virtual std::vector<float> get_landmarks()
const = 0;
30 virtual void set_landmarks(
const std::vector<float> & lms) = 0;
32 virtual std::vector<float> get_latents()
const = 0;
34 virtual void set_latents(
const std::vector<float> & lats) = 0;
36 virtual std::vector<float> get_vertices()
const = 0;
38 virtual void set_vertices(
const std::vector<float> & verts) = 0;
40 virtual std::vector<float> get_ears_landmarks()
const = 0;
42 virtual void set_ears_landmarks(
const std::vector<float> & lms) = 0;
44 virtual std::vector<float> get_ears_latents()
const = 0;
46 virtual void set_ears_latents(
const std::vector<float> & lats) = 0;
48 virtual std::vector<float> get_brows_lms()
const = 0;
50 virtual void set_brows_lms(
const std::vector<float> & lms) = 0;
57 virtual std::vector<float> get_embeddings()
const = 0;
59 virtual bool has_lips_detected()
const = 0;
61 virtual bool has_face() = 0;
65 virtual void set_face_rect(
const pixel_rect & rect) = 0;
67 virtual gender get_gender()
const = 0;
69 virtual void set_gender(gender g) = 0;
71 virtual eyewear_type get_eyewear()
const = 0;
73 virtual void set_eyewear(eyewear_type eyewear) = 0;
75 virtual bool get_is_smile() = 0;
77 virtual bool get_is_mouth_open() = 0;
79 virtual bool get_are_brows_raised() = 0;
81 virtual bool get_are_brows_shifted() = 0;