27 #ifndef SCRIBO_PRIMITIVE_LINK_COMPUTE_HH
28 # define SCRIBO_PRIMITIVE_LINK_COMPUTE_HH
35 # include <scribo/core/macros.hh>
36 # include <scribo/core/component_set.hh>
37 # include <scribo/core/object_links.hh>
38 # include <scribo/core/concept/link_functor.hh>
39 # include <scribo/primitive/link/internal/find_link.hh>
85 object_links<scribo_support(F)>
86 compute(Link_Functor<F>& functor, anchor::Type anchor);
91 object_links<scribo_support(F)>
92 compute(Link_Functor<F>& functor);
94 # ifndef MLN_INCLUDE_ONLY
98 object_links<scribo_support(F)>
99 compute(Link_Functor<F>& functor_, anchor::Type anchor)
101 mln_trace(
"scribo::primitive::link::compute");
103 F& functor =
exact(functor_);
104 const typename F::component_set_t&
105 comp_set = functor.components();
107 for_all_ncomponents(current_object, comp_set.nelements())
110 functor.start_processing_object(current_object);
114 return functor.links();
118 template <
typename F>
119 object_links<scribo_support(F)>
120 compute(Link_Functor<F>& functor)
122 return compute(functor, anchor::MassCenter);
126 # endif // ! MLN_INCLUDE_ONLY
134 #endif // ! SCRIBO_PRIMITIVE_LINK_COMPUTE_HH