Visual Computing Library
Loading...
Searching...
No Matches
vcl::comp::HasNormal Concept Reference

HasNormal concept is satisfied only if a Element class provides the types and member functions specified in this concept. These types and member functions allow to access to a vcl::comp::Normal component of a given element. More...

#include <vclib/concepts/mesh/components/normal.h>

Concept definition

template<typename T>
concept vcl::comp::HasNormal = requires (T&& obj) {
typename RemoveRef<T>::NormalType;
{ obj.normal() } -> PointConcept;
}
Concept for types representing points in Euclidean space.
Definition point.h:40
HasNormal concept is satisfied only if a Element class provides the types and member functions specif...
Definition normal.h:47

Detailed Description

HasNormal concept is satisfied only if a Element class provides the types and member functions specified in this concept. These types and member functions allow to access to a vcl::comp::Normal component of a given element.

Note that this concept does not discriminate between the Horizontal Normal component and the vertical OptionalNormal component, therefore it does not guarantee that a template Element type that satisfies this concept provides Normal component at runtime (it is guaranteed only that the proper member functions are available at compile time).