<commit_before>#pragma once
//------------------------------------------------------------------------------
/**
    @class Oryol::Render::meshBase
    @brief private: base class for platform-specific mesh implementations
*/
#include "Resource/resourceBase.h"
#include "Render/Attrs/VertexBufferAttrs.h"
#include "Render/Attrs/IndexBufferAttrs.h"
#include "Render/Core/PrimitiveGroup.h"
#include "Render/Setup/MeshSetup.h"
#include "Render/Types/ResourceType.h"
#include "Core/Assert.h"
#include "IO/IOProtocol.h"

namespace Oryol {
namespace Render {
    
class meshBase : public Resource::resourceBase<MeshSetup> {
public:
    /// constructor
    meshBase();
    
    /// max number of primitive groups in the mesh
    static const int32 MaxNumPrimitiveGroups = 16;
    /// get the resource type of this resource class
    static uint16 GetResourceType();
    
    /// get (optional) IORequest
    const Core::Ptr<IO::IOProtocol::Request>& GetIORequest() const;
    /// get vertex buffer attributes
    const VertexBufferAttrs& GetVertexBufferAttrs() const;
    /// get the index buffer attributes
    const IndexBufferAttrs& GetIndexBufferAttrs() const;
    /// get number of primitive groups
    int32 GetNumPrimitiveGroups() const;
    /// get primitive group at index
    const PrimitiveGroup& GetPrimitiveGroup(int32 index) const;

    /// clear the object
    void clear();
    /// set IO request for asynchronous loading
    void setIORequest(const Core::Ptr<IO::IOProtocol::Request>& ioRequest);
    /// set vertex buffer attrs at index
    void setVertexBufferAttrs(const VertexBufferAttrs& attrs);
    /// set index buffer attrs
    void setIndexBufferAttrs(const IndexBufferAttrs& attrs);
    /// set number of primitive groups
    void setNumPrimitiveGroups(int32 num);
    /// set primitive group at index
    void setPrimitiveGroup(int32 index, const PrimitiveGroup& group);
    
protected:
    Core::Ptr<IO::IOProtocol::Request> ioRequest;
    VertexBufferAttrs vertexBufferAttrs;
    IndexBufferAttrs indexBufferAttrs;
    int numPrimitiveGroups;<commit_msg>Comment typo<commit_after>#pragma once
//------------------------------------------------------------------------------
/**
    @class Oryol::Render::meshBase
    @brief private: base class for platform-specific mesh implementations
*/
#include "Resource/resourceBase.h"
#include "Render/Attrs/VertexBufferAttrs.h"
#include "Render/Attrs/IndexBufferAttrs.h"
#include "Render/Core/PrimitiveGroup.h"
#include "Render/Setup/MeshSetup.h"
#include "Render/Types/ResourceType.h"
#include "Core/Assert.h"
#include "IO/IOProtocol.h"

namespace Oryol {
namespace Render {
    
class meshBase : public Resource::resourceBase<MeshSetup> {
public:
    /// constructor
    meshBase();
    
    /// max number of primitive groups in the mesh
    static const int32 MaxNumPrimitiveGroups = 16;
    /// get the resource type of this resource class
    static uint16 GetResourceType();
    
    /// get (optional) IORequest
    const Core::Ptr<IO::IOProtocol::Request>& GetIORequest() const;
    /// get vertex buffer attributes
    const VertexBufferAttrs& GetVertexBufferAttrs() const;
    /// get the index buffer attributes
    const IndexBufferAttrs& GetIndexBufferAttrs() const;
    /// get number of primitive groups
    int32 GetNumPrimitiveGroups() const;
    /// get primitive group at index
    const PrimitiveGroup& GetPrimitiveGroup(int32 index) const;

    /// clear the object
    void clear();
    /// set IO request for asynchronous loading
    void setIORequest(const Core::Ptr<IO::IOProtocol::Request>& ioRequest);
    /// set vertex buffer attrs
    void setVertexBufferAttrs(const VertexBufferAttrs& attrs);
    /// set index buffer attrs
    void setIndexBufferAttrs(const IndexBufferAttrs& attrs);
    /// set number of primitive groups
    void setNumPrimitiveGroups(int32 num);
    /// set primitive group at index
    void setPrimitiveGroup(int32 index, const PrimitiveGroup& group);
    
protected:
    Core::Ptr<IO::IOProtocol::Request> ioRequest;
    VertexBufferAttrs vertexBufferAttrs;
    IndexBufferAttrs indexBufferAttrs;
    int numPrimitiveGroups;
{'fraction_non_alphanumeric': 0.13230323515210043, 'fraction_numerical': 0.006760019314340898, 'mean_word_length': 3.218940936863544, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4494229', 'n_tokens_mistral': 1129, 'n_tokens_neox': 1121, 'n_words': 330}