OpenCAX/entry/src/main/cpp/include/opencascade/RWGltf_GltfAccessor.hxx
2026-02-19 19:05:41 +08:00

52 lines
1.8 KiB
C++

// Author: Kirill Gavrilov
// Copyright (c) 2016-2019 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _RWGltf_GltfAccessor_HeaderFile
#define _RWGltf_GltfAccessor_HeaderFile
#include "Graphic3d_BndBox3d.hxx"
#include "RWGltf_GltfAccessorCompType.hxx"
#include "RWGltf_GltfAccessorLayout.hxx"
#include "Standard_TypeDef.hxx"
//! Low-level glTF data structure defining Accessor.
struct RWGltf_GltfAccessor
{
static const int INVALID_ID = -1;
public:
int Id; //!< identifier
int64_t ByteOffset; //!< byte offset
int64_t Count; //!< size
int32_t ByteStride; //!< [0, 255] for glTF 1.0
RWGltf_GltfAccessorLayout Type; //!< layout type
RWGltf_GltfAccessorCompType ComponentType; //!< component type
Graphic3d_BndBox3d BndBox; //!< bounding box
bool IsCompressed; //!< flag indicating KHR_draco_mesh_compression
//! Empty constructor.
RWGltf_GltfAccessor()
: Id(INVALID_ID),
ByteOffset(0),
Count(0),
ByteStride(0),
Type(RWGltf_GltfAccessorLayout_UNKNOWN),
ComponentType(RWGltf_GltfAccessorCompType_UNKNOWN),
IsCompressed(false)
{
}
};
#endif // _RWGltf_GltfAccessor_HeaderFile