cgv
Loading...
Searching...
No Matches
colored_model.h
1#pragma once
2
3#include <vector>
4#include "color_storage.h"
5
6#include "lib_begin.h"
7
8namespace cgv {
9 namespace media {
11 class CGV_API colored_model
12 {
13 protected:
16 public:
24 colored_model& operator=(const colored_model& cm);
26 colored_model& operator=(colored_model&& cm);
28 virtual ~colored_model();
32 bool has_colors() const;
34 void set_color(size_t i, const void* col_ptr);
36 void set_color(size_t i, const rgb& col);
38 void set_color(size_t i, const rgb8& col);
40 void set_color(size_t i, const rgba& col);
42 void set_color(size_t i, const rgba8& col);
44 void put_color(size_t i, void* col_ptr) const;
46 void put_color(size_t i, rgb& col) const;
48 void put_color(size_t i, rgba& col) const;
50 void put_color(size_t i, rgb8& col) const;
52 void put_color(size_t i, rgba8& col) const;
54 size_t get_nr_colors() const;
56 void resize_colors(size_t nr_colors);
58 size_t get_color_size() const;
60 ColorType get_color_storage_type() const;
61
62 const void* get_color_data_ptr() const;
63 const void* get_color_data_vector_ptr() const;
64 void* ref_color_data_ptr();
65 void* ref_color_data_vector_ptr();
66
68
69 void ensure_colors(ColorType _color_type, size_t nr_colors = -1);
71 void destruct_colors();
72 };
73 }
74}
75
76#include <cgv/config/lib_end.h>
interface for color storage of different internal types
coordinate type independent base class of simple mesh data structure that handles indices and colors.
abst_color_storage * color_storage_ptr
pointer to color storage
the cgv namespace
Definition print.h:11