OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
ProtoMesh Class Reference

#include <protomesh.h>

Classes

struct  Attach
 
struct  Node
 
struct  Pos
 
struct  SubMesh
 
struct  SubMeshId
 

Public Types

using Vertex = Resources::VertexA
 
using Morph = StaticMesh::Morph
 

Public Member Functions

 ProtoMesh (PackedMesh &&pm, std::string_view fname)
 
 ProtoMesh (PackedMesh &&pm, const std::vector< zenkit::MorphAnimation > &aniList, std::string_view fname)
 
 ProtoMesh (const zenkit::Model &lib, std::unique_ptr< Skeleton > &&sk, std::string_view fname)
 
 ProtoMesh (const zenkit::ModelHierarchy &lib, std::unique_ptr< Skeleton > &&sk, std::string_view fname)
 
 ProtoMesh (const zenkit::ModelMesh &lib, std::unique_ptr< Skeleton > &&sk, std::string_view fname)
 
 ProtoMesh (const Material &mat, std::vector< Resources::Vertex > vbo, std::vector< uint32_t > ibo)
 
 ProtoMesh (ProtoMesh &&)=delete
 
ProtoMeshoperator= (ProtoMesh &&)=delete
 
 ~ProtoMesh ()
 
size_t skinedNodesCount () const
 
Tempest::Matrix4x4 mapToRoot (size_t node) const
 
size_t findNode (std::string_view name, size_t def=size_t(-1)) const
 

Public Attributes

std::unique_ptr< Skeletonskeleton
 
std::vector< AnimMeshskined
 
std::vector< Morphmorph
 
Tempest::StorageBuffer morphIndex
 
Tempest::StorageBuffer morphSamples
 
std::vector< Attachattach
 
std::vector< Nodenodes
 
std::vector< SubMeshIdsubmeshId
 
std::vector< Pospos
 
Tempest::Vec3 bbox [2]
 
std::string scheme
 
std::string fname
 

Detailed Description

Definition at line 21 of file protomesh.h.

Member Typedef Documentation

◆ Morph

Definition at line 73 of file protomesh.h.

◆ Vertex

Definition at line 23 of file protomesh.h.

Constructor & Destructor Documentation

◆ ProtoMesh() [1/7]

ProtoMesh::ProtoMesh ( PackedMesh &&  pm,
std::string_view  fname 
)

Definition at line 14 of file protomesh.cpp.

◆ ProtoMesh() [2/7]

ProtoMesh::ProtoMesh ( PackedMesh &&  pm,
const std::vector< zenkit::MorphAnimation > &  aniList,
std::string_view  fname 
)

Definition at line 45 of file protomesh.cpp.

◆ ProtoMesh() [3/7]

ProtoMesh::ProtoMesh ( const zenkit::Model &  lib,
std::unique_ptr< Skeleton > &&  sk,
std::string_view  fname 
)

Definition at line 88 of file protomesh.cpp.

◆ ProtoMesh() [4/7]

ProtoMesh::ProtoMesh ( const zenkit::ModelHierarchy &  lib,
std::unique_ptr< Skeleton > &&  sk,
std::string_view  fname 
)

Definition at line 167 of file protomesh.cpp.

◆ ProtoMesh() [5/7]

ProtoMesh::ProtoMesh ( const zenkit::ModelMesh &  lib,
std::unique_ptr< Skeleton > &&  sk,
std::string_view  fname 
)

Definition at line 203 of file protomesh.cpp.

◆ ProtoMesh() [6/7]

ProtoMesh::ProtoMesh ( const Material mat,
std::vector< Resources::Vertex vbo,
std::vector< uint32_t >  ibo 
)

Definition at line 284 of file protomesh.cpp.

◆ ProtoMesh() [7/7]

ProtoMesh::ProtoMesh ( ProtoMesh &&  )
delete

◆ ~ProtoMesh()

ProtoMesh::~ProtoMesh ( )

Definition at line 311 of file protomesh.cpp.

Member Function Documentation

◆ findNode()

size_t ProtoMesh::findNode ( std::string_view  name,
size_t  def = size_t(-1) 
) const

Definition at line 335 of file protomesh.cpp.

◆ mapToRoot()

Tempest::Matrix4x4 ProtoMesh::mapToRoot ( size_t  node) const

Definition at line 321 of file protomesh.cpp.

◆ operator=()

ProtoMesh & ProtoMesh::operator= ( ProtoMesh &&  )
delete

◆ skinedNodesCount()

size_t ProtoMesh::skinedNodesCount ( ) const

Definition at line 314 of file protomesh.cpp.

Member Data Documentation

◆ attach

std::vector<Attach> ProtoMesh::attach

Definition at line 82 of file protomesh.h.

◆ bbox

Tempest::Vec3 ProtoMesh::bbox[2]

Definition at line 87 of file protomesh.h.

◆ fname

std::string ProtoMesh::fname

Definition at line 89 of file protomesh.h.

◆ morph

std::vector<Morph> ProtoMesh::morph

Definition at line 78 of file protomesh.h.

◆ morphIndex

Tempest::StorageBuffer ProtoMesh::morphIndex

Definition at line 79 of file protomesh.h.

◆ morphSamples

Tempest::StorageBuffer ProtoMesh::morphSamples

Definition at line 80 of file protomesh.h.

◆ nodes

std::vector<Node> ProtoMesh::nodes

Definition at line 83 of file protomesh.h.

◆ pos

std::vector<Pos> ProtoMesh::pos

Definition at line 86 of file protomesh.h.

◆ scheme

std::string ProtoMesh::scheme

Definition at line 89 of file protomesh.h.

◆ skeleton

std::unique_ptr<Skeleton> ProtoMesh::skeleton

Definition at line 76 of file protomesh.h.

◆ skined

std::vector<AnimMesh> ProtoMesh::skined

Definition at line 77 of file protomesh.h.

◆ submeshId

std::vector<SubMeshId> ProtoMesh::submeshId

Definition at line 84 of file protomesh.h.


The documentation for this class was generated from the following files: