Skip to main content

ObjectBrep

The ObjectBrep class provides brep-based geometry support to Object. It manages vertex, index, range, and face buffers and offers methods to efficiently load geometry from breps. Geometry can be loaded from brep files or embedded within *.scene files.

#include <scene/TellusimObjectBrep.h>

Inheritance

Constructors

explicit ObjectBrep(const char *name = nullptr)
explicit ObjectBrep(Scene &scene, const char *name = nullptr)

Methods

Object flags.

void setFlags(Flags flags)
Flags getFlags() const
bool hasFlag(Flags flags) const
bool hasFlags(Flags flags) const
String getFlagsName() const

Brep file name.

void setBrepName(const char *name)
void setBrepName(const String &name)
String getBrepName() const

Brep file scale.

void setBrepScale(float32_t scale)
float32_t getBrepScale() const

Brep file basis.

void setBrepBasis(Basis basis)
Basis getBrepBasis() const

Load object brep.

bool load(const char *name, Material *material, Flags flags, float32_t scale, Basis basis, Async *async = nullptr)
bool load(const String &name, Material *material, Flags flags, float32_t scale, Basis basis, Async *async = nullptr)
bool load(Stream &stream, Material *material, Flags flags, float32_t scale, Basis basis, Async *async = nullptr)
bool load(const char *name, Material *material = nullptr, Flags flags = DefaultFlags, Async *async = nullptr)
bool load(const String &name, Material *material = nullptr, Flags flags = DefaultFlags, Async *async = nullptr)
bool load(Stream &stream, Material *material = nullptr, Flags flags = DefaultFlags, Async *async = nullptr)

Create object with new materials.

bool create(const BrepGeometry &geometry, Material *material = nullptr, Flags flags = DefaultFlags)
bool create(Array<BrepGeometry> geometries, Material *material = nullptr, Flags flags = DefaultFlags)
bool create(const Brep &brep, Material *material = nullptr, Flags flags = DefaultFlags)

Create object with specified materials.

bool create(const BrepGeometry &geometry, Material *material, const Materials &materials, Flags flags = DefaultFlags)
bool create(Array<BrepGeometry> geometries, Material *material, const Materials &materials, Flags flags = DefaultFlags)
bool create(const Brep &brep, Material *material, const Materials &materials, Flags flags = DefaultFlags)

Load object geometries.

bool loadGeometries(const char *name, Async *async = nullptr)
bool loadGeometries(const String &name, Async *async = nullptr)
bool loadGeometries(Stream &stream, Async *async = nullptr)

Create object geometries.

bool createGeometries(Array<BrepGeometry> geometries)
bool createGeometries(const Brep &brep)

Vertices data.

void setVertexData(const void *src, size_t size)
void setVertexBuffer(Buffer &buffer, size_t offset, size_t size)
const void *getVertexData() const
Buffer getVertexBuffer() const
size_t getVertexOffset() const
size_t getVertexSize() const

Indices data.

void setIndexData(const void *src, size_t size)
void setIndexBuffer(Buffer &buffer, size_t offset, size_t size)
const void *getIndexData() const
Buffer getIndexBuffer() const
size_t getIndexOffset() const
size_t getIndexSize() const

Ranges data.

void setRangeData(const void *src, size_t size)
void setRangeBuffer(Buffer &buffer, size_t offset, size_t size)
const void *getRangeData() const
Buffer getRangeBuffer() const
size_t getRangeOffset() const
size_t getRangeSize() const

Faces data.

void setFaceData(const void *src, size_t size)
void setFaceBuffer(Buffer &buffer, size_t offset, size_t size)
const void *getFaceData() const
Buffer getFaceBuffer() const
size_t getFaceOffset() const
size_t getFaceSize() const

Types

using Materials = Map<BrepMaterial, Material>

Enums

Flags

NameValueDescription
FlagNone0
FlagUpdate(1 << 0)Update scene.
FlagVerbose(1 << 1)Verbose creation.
FlagMaterials(1 << 2)Create materials.
FlagTracing(1 << 3)Create tracing.
FlagCurve2(1 << 4)Maximum curve degree is 2.
FlagSurface2(1 << 5)Maximum surface degree is 2.
DefaultFlags(FlagUpdate)
NumFlags6