API Documentation
MeshInputLayout.h
1 // MeshInputLayout.h
3 //
5 
6 namespace nkGraphics
7 {
11  class MeshInputLayout final
12  {
13  public :
14 
15  // Constructor, destructor
19  MeshInputLayout () noexcept ;
20 
21  // Getters
25  unsigned long long getHash () const ;
29  nkMemory::StringView getPositionAttributeName () const ;
33  nkMemory::StringView getNormalAttributeName () const ;
37  nkMemory::StringView getTexCoordAttributeName () const ;
47  unsigned int getComputedAttributeOffset (nkMemory::StringView name) const ;
48 
49  // Setters
56  void setAttribute (const MeshInputLayoutAttribute& attribute, unsigned int index) ;
62  void setPositionAttributeName (nkMemory::StringView value) ;
68  void setNormalAttributeName (nkMemory::StringView value) ;
74  void setTexCoordAttributeName (nkMemory::StringView value) ;
75 
76  // Attribute management
86  void addAttribute (const MeshInputLayoutAttribute& attribute) ;
93  const MeshInputLayoutAttribute* getAttribute (unsigned int index) const ;
100  const MeshInputLayoutAttribute* getAttribute (nkMemory::StringView name) const ;
104  unsigned int getAttributeCount () const ;
112  unsigned int getTotalDeclarationSlots () const ;
118  void removeAttribute (unsigned int index) ;
124  void removeAttribute (nkMemory::StringView name) ;
132  bool hasAttribute (nkMemory::StringView name, unsigned int semanticIndex = 0u) const ;
133 
134  // Operators
139  bool operator< (const MeshInputLayout& other) const ;
144  bool operator== (const MeshInputLayout& other) const ;
145  } ;
146 }
nkGraphics::MeshInputLayout::hasAttribute
bool hasAttribute(nkMemory::StringView name, unsigned int semanticIndex=0u) const
nkGraphics::MeshInputLayout::getComputedAttributeOffset
unsigned int getComputedAttributeOffset(nkMemory::StringView name) const
nkGraphics::MeshInputLayout::setNormalAttributeName
void setNormalAttributeName(nkMemory::StringView value)
nkGraphics::MeshInputLayout::addAttribute
void addAttribute(const MeshInputLayoutAttribute &attribute)
nkGraphics::MeshInputLayout::setAttribute
void setAttribute(const MeshInputLayoutAttribute &attribute, unsigned int index)
nkGraphics::MeshInputLayout::removeAttribute
void removeAttribute(unsigned int index)
nkGraphics::MeshInputLayoutAttribute
Describes an attribute in a mesh layout.
Definition: MeshInputLayoutAttribute.h:12
nkGraphics::MeshInputLayout
Describes the layout of data inside a mesh.
Definition: MeshInputLayout.h:12
nkGraphics::MeshInputLayout::getNormalAttributeName
nkMemory::StringView getNormalAttributeName() const
nkGraphics::MeshInputLayout::getTotalDeclarationSlots
unsigned int getTotalDeclarationSlots() const
nkGraphics::MeshInputLayout::MeshInputLayout
MeshInputLayout() noexcept
nkGraphics::MeshInputLayout::getAttribute
const MeshInputLayoutAttribute * getAttribute(unsigned int index) const
nkGraphics::MeshInputLayout::getHash
unsigned long long getHash() const
nkGraphics::MeshInputLayout::getTexCoordAttributeName
nkMemory::StringView getTexCoordAttributeName() const
nkGraphics::MeshInputLayout::getPositionAttributeName
nkMemory::StringView getPositionAttributeName() const
nkGraphics::MeshInputLayout::setPositionAttributeName
void setPositionAttributeName(nkMemory::StringView value)
nkGraphics::MeshInputLayout::setTexCoordAttributeName
void setTexCoordAttributeName(nkMemory::StringView value)
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::MeshInputLayout::getAttributeCount
unsigned int getAttributeCount() const
nkMemory
Encompasses all API of component NilkinsMemory.
Definition: Allocator.h:7