OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
objparser.hpp File Reference
#include <string>
#include <vector>
#include <array>
#include <unordered_map>
#include <istream>
#include <memory>
Include dependency graph for objparser.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ObjParser::ObjVertex
struct  ObjParser::ObjUseMtl
struct  ObjParser::ObjNewMtl
struct  ObjParser::ObjObject
struct  ObjParser::ObjGroup
struct  ObjParser::ObjSmoothingGroup
struct  ObjParser::ObjData
struct  ObjParser::MtlData

Namespaces

namespace  ObjParser

Macros

#define OBJ_VERTEX_COLOR_ALPHA   6
#define OBJ_VERTEX_LENGTH   7
#define OBJ_TEXCOORD_LENGTH   2
#define ONE_FACE_SIZE   4

Functions

bool ObjParser::operator== (const ObjVertex &v1, const ObjVertex &v2)
bool ObjParser::operator== (const ObjUseMtl &v1, const ObjUseMtl &v2)
bool ObjParser::operator== (const ObjObject &v1, const ObjObject &v2)
bool ObjParser::operator== (const ObjGroup &v1, const ObjGroup &v2)
bool ObjParser::operator== (const ObjSmoothingGroup &v1, const ObjSmoothingGroup &v2)
bool ObjParser::objparse (const char *path, ObjData &data)
bool ObjParser::mtlparse (const char *path, MtlData &data)
bool ObjParser::objparse (std::istream &stream, ObjData &data)
bool ObjParser::objbinsave (const char *path, const ObjData &data)
bool ObjParser::objbinload (const char *path, ObjData &data)
bool ObjParser::objequal (const ObjData &data1, const ObjData &data2)

Class Documentation

◆ ObjParser::ObjVertex

struct ObjParser::ObjVertex
Class Members
int coordIdx
int normalIdx
int textureCoordIdx

◆ ObjParser::ObjUseMtl

struct ObjParser::ObjUseMtl
Collaboration diagram for ObjParser::ObjUseMtl:
Class Members
int face_end {-1}
int face_start
string name
int vertexIdxEnd {-1}
int vertexIdxFirst

◆ ObjParser::ObjNewMtl

struct ObjParser::ObjNewMtl
Collaboration diagram for ObjParser::ObjNewMtl:
Class Members
float d
float illum
array< float, 3 > Ka
array< float, 3 > Kd
array< float, 3 > Ke
array< float, 3 > Ks
string map_Kd
string name
float Ni
float Ns
array< float, 3 > Tf
float Tr {1.0f}

◆ ObjParser::ObjObject

struct ObjParser::ObjObject
Collaboration diagram for ObjParser::ObjObject:
Class Members
string name
int vertexIdxFirst

◆ ObjParser::ObjGroup

struct ObjParser::ObjGroup
Collaboration diagram for ObjParser::ObjGroup:
Class Members
string name
int vertexIdxFirst

◆ ObjParser::ObjSmoothingGroup

struct ObjParser::ObjSmoothingGroup
Class Members
int smoothingGroupID
int vertexIdxFirst

◆ ObjParser::ObjData

struct ObjParser::ObjData
Collaboration diagram for ObjParser::ObjData:
Class Members
vector< float > coordinates
vector< ObjGroup > groups
bool has_vertex_color {false}
vector< string > mtllibs
vector< float > normals
vector< ObjObject > objects
vector< float > parameters
vector< ObjSmoothingGroup > smoothingGroups
vector< float > textureCoordinates
vector< ObjUseMtl > usemtls
int version
vector< ObjVertex > vertices

◆ ObjParser::MtlData

struct ObjParser::MtlData
Collaboration diagram for ObjParser::MtlData:
Class Members
vector< string > mtl_orders
unordered_map< string, shared_ptr< ObjNewMtl > > new_mtl_unmap
int version

Macro Definition Documentation

◆ OBJ_TEXCOORD_LENGTH

#define OBJ_TEXCOORD_LENGTH   2

◆ OBJ_VERTEX_COLOR_ALPHA

#define OBJ_VERTEX_COLOR_ALPHA   6

◆ OBJ_VERTEX_LENGTH

#define OBJ_VERTEX_LENGTH   7

◆ ONE_FACE_SIZE

#define ONE_FACE_SIZE   4

Referenced by Slic3r::load_obj().