https://svn.lrde.epita.fr/svn/oln/branches/cleanup-2008/milena
Index: ChangeLog
from Nicolas Ballas <ballas(a)lrde.epita.fr>
Add new properties.
* mln/trait/image/props.hh: Add properties.
* mln/core/image/image2d.hh: Update image2d properties.
core/image/image2d.hh | 4 +
trait/image/props.hh | 115 ++++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 116 insertions(+), 3 deletions(-)
Index: mln/trait/image/props.hh
--- mln/trait/image/props.hh (revision 2541)
+++ mln/trait/image/props.hh (working copy)
@@ -76,10 +76,18 @@
// * value
+// pw_io: /any/
+// |
+// +-- read
+// |
+// +-- read_write
+
// value_access: /any/
// |
// + -- direct
// |
+// +-- indirect
+// |
// + -- computed
// value_storage:/any/
@@ -104,14 +112,36 @@
// \ |
// -- + -- cell_and_value_wise
-// * domain values
-
// value_io: /any/
// |
// + -- read_only
// |
// + -- read_write
+// value_alignement:/any/
+// |
+// +-- with_grid
+// |
+// +-- no_aligned
+// |
+// +-- irrelevant
+
+// vw_io: /any/
+// |
+// +-- read
+// |
+// +-- read_write
+
+// vw_set: /any/
+// |
+// +-- /some/
+// | |
+// | +-- uni
+// | |
+// | +-- multi
+// |
+// +-- none
+
// * site localization
// localization: /any/
@@ -264,7 +294,7 @@
{
struct any { protected: any() {} };
struct slow : any { std::string name() const { return "speed::slow"; } };
- struct fast : any { std::string name() const { return "speed::fast"; } };
+ struct fast : any { std::string name() const { return "speedw::fast"; } };
struct fastest
: fast { std::string name() const { return "speed::fastest"; } };
};
@@ -288,16 +318,21 @@
// |
// + -- direct
// |
+// +-- indirect
+// |
// + -- computed
struct value_access
{
struct any { protected: any() {} };
struct direct : any { std::string name() const { return
"value_access::direct"; } };
+ struct indirect : any { std::string name() const { return
"value_access::indirect"; } };
struct computed : any { std::string name() const { return
"value_access::computed"; } };
};
+
+
// value_storage:/any/
// |
// + -- /organized/
@@ -324,7 +359,80 @@
struct disrupted : any { std::string name() const { return
"value_storage::disrupted"; } };
};
+// value_alignement:/any/
+// |
+// +-- with_grid
+// |
+// +-- no_aligned
+// |
+// +-- irrelevant
+ struct value_alignement
+ {
+ struct any { protected: any() {} };
+ struct with_grid
+ : any { std::string name() const { return
"value_alignement::with_grid"; } };
+ struct not_aligned
+ : any { std::string name() const { return
"value_alignement::not_aligned"; } };
+ struct irrelevant
+ : any { std::string name() const { return
"value_alignement::irrelevant"; } };
+ };
+
+// pw_io: /any/
+// |
+// +-- read
+// |
+// +-- read_write
+
+ struct pw_io
+ {
+ struct any { protected: any() {} };
+ struct read
+ : any { std::string name() const { return "pw_io::read"; } };
+ struct read_write
+ : any { std::string name() const { return "pw_io::read_write"; } };
+ };
+
+// vw_io: /any/
+// |
+// +-- read
+// |
+// +-- read_write
+
+ struct vw_io
+ {
+ struct any { protected: any() {} };
+ struct some : any { protected: some() {} };
+ struct read
+ : some { std::string name() const { return "pw_io::read"; } };
+ struct read_write
+ : some { std::string name() const { return "pw_io::read_write"; } };
+ struct none
+ : any { std::string name() const { return "pw_io::none"; } };
+ };
+
+// vw_set: /any/
+// |
+// +-- /some/
+// | |
+// | +-- uni
+// | |
+// | +-- multi
+// |
+// +-- none
+
+ struct vw_set
+ {
+ struct any { protected: any() {} };
+ struct some : any { protected: some() {} };
+ struct none : any { protected: none() {} };
+ struct uni
+ : some { std::string name() const { return "vw_set::uni";} };
+ struct multi
+ : some { std::string name() const { return "vw_set::multi";} };
+ };
+
+// DEPRECATED PROPERTY
// value_browsing:/any/
// |
// + -- site_wise_only
@@ -351,6 +459,7 @@
};
+// DEPRECATED PROPERTY
// value_io: /any/
// |
// + -- read_only
Index: mln/core/image/image2d.hh
--- mln/core/image/image2d.hh (revision 2541)
+++ mln/core/image/image2d.hh (working copy)
@@ -98,12 +98,16 @@
typedef trait::image::size::regular size;
// value
+ typedef trait::image::vw_io::none vw_io;
+ typedef trait::image::vw_set::none vw_set;
typedef trait::image::value_access::direct value_access;
typedef trait::image::value_storage::one_block value_storage;
typedef trait::image::value_browsing::site_wise_only value_browsing;
+ typedef trait::image::value_alignement::with_grid value_alignement;
typedef trait::image::value_io::read_write value_io;
// site / domain
+ typedef trait::image::pw_io::read_write pw_io;
typedef trait::image::localization::basic_grid localization;
typedef trait::image::dimension::two_d dimension;