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

HasWedgeTexCoords 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 an vcl::comp::WedgeTexCoords component of a given element. More...

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

Concept definition

template<typename T>
concept vcl::comp::HasWedgeTexCoords = requires (
T&& obj,
typename RemoveRef<T>::WedgeTexCoordType t,
std::vector<typename RemoveRef<T>::WedgeTexCoordType> vec) {
RemoveRef<T>::WEDGE_TEX_COORD_NUMBER;
typename RemoveRef<T>::WedgeTexCoordType;
typename RemoveRef<T>::WedgeTexCoordsIterator;
typename RemoveRef<T>::ConstWedgeTexCoordsIterator;
{ obj.wedgeTexCoord(uint()) } -> TexCoordConcept;
{ obj.wedgeTexCoordMod(int()) } -> TexCoordConcept;
{ obj.textureIndex() } -> std::convertible_to<ushort>;
{ obj.wedgeTexCoordBegin() } -> InputIterator<decltype(t)>;
{ obj.wedgeTexCoordEnd() } -> InputIterator<decltype(t)>;
{ obj.wedgeTexCoords() } -> InputRange<decltype(t)>;
requires IsConst<T> || requires {
{ obj.setWedgeTexCoord(uint(), t) } -> std::same_as<void>;
{ obj.setWedgeTexCoords(vec) } -> std::same_as<void>;
{ obj.textureIndex() } -> std::same_as<ushort&>;
{ obj.wedgeTexCoordBegin() } -> OutputIterator<decltype(t)>;
{ obj.wedgeTexCoordEnd() } -> OutputIterator<decltype(t)>;
{ obj.wedgeTexCoords() } -> OutputRange<decltype(t)>;
};
}
A class representing a line segment in n-dimensional space. The class is parameterized by a PointConc...
Definition segment.h:43
A concept representing a Texture Coordinate.
Definition tex_coord.h:37
HasWedgeTexCoords concept is satisfied only if a Element class provides the types and member function...
Definition wedge_tex_coords.h:52

Detailed Description

HasWedgeTexCoords 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 an vcl::comp::WedgeTexCoords component of a given element.

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