KiCad PCB EDA Suite
Loading...
Searching...
No Matches
c3dmodel.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2015 Mario Luzeiro <[email protected]>
5 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, you may find one here:
19 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20 * or you may search the http://www.gnu.org website for the version 2 license,
21 * or you may write to the Free Software Foundation, Inc.,
22 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23 */
24
31#ifndef C3DMODEL_H
32#define C3DMODEL_H
33
35
36
38{
43 float m_Shininess; //
45
46 // !TODO: to be implemented
47 /*struct textures
48 {
49 wxString m_Ambient; // map_Ka
50 wxString m_Diffuse; // map_Kd
51 wxString m_Specular; // map_Ks
52 wxString m_Specular_highlight; // map_Ns
53 wxString m_Bump; // map_bump, bump
54 wxString m_Displacement; // disp
55 wxString m_Alpha; // map_d
56 };*/
57};
58
59
80struct SMESH
81{
82 unsigned int m_VertexSize;
87 unsigned int m_FaceIdxSize;
88 unsigned int *m_FaceIdx;
89 unsigned int m_MaterialIdx;
90};
91
92
95{
96 unsigned int m_MeshesSize;
98
99 unsigned int m_MaterialsSize;
101};
102
103#endif // C3DMODEL_H
Store the a model based on meshes and materials.
Definition: c3dmodel.h:95
SMATERIAL * m_Materials
The materials list of this model.
Definition: c3dmodel.h:100
unsigned int m_MeshesSize
Number of meshes in the array.
Definition: c3dmodel.h:96
SMESH * m_Meshes
The meshes list of this model.
Definition: c3dmodel.h:97
unsigned int m_MaterialsSize
Number of materials in the material array.
Definition: c3dmodel.h:99
float m_Shininess
Definition: c3dmodel.h:43
SFVEC3F m_Specular
Definition: c3dmodel.h:42
SFVEC3F m_Ambient
Definition: c3dmodel.h:39
float m_Transparency
1.0 is completely transparent, 0.0 completely opaque
Definition: c3dmodel.h:44
SFVEC3F m_Emissive
Definition: c3dmodel.h:41
SFVEC3F m_Diffuse
Default diffuse color if m_Color is NULL.
Definition: c3dmodel.h:40
Per-vertex normal/color/texcoors structure.
Definition: c3dmodel.h:81
unsigned int * m_FaceIdx
Triangle Face Indexes.
Definition: c3dmodel.h:88
SFVEC3F * m_Normals
Vertex normals array.
Definition: c3dmodel.h:84
unsigned int m_MaterialIdx
Material Index to be used in this mesh (must be < m_MaterialsSize )
Definition: c3dmodel.h:89
unsigned int m_VertexSize
Number of vertex in the arrays.
Definition: c3dmodel.h:82
SFVEC2F * m_Texcoords
Vertex texture coordinates array, can be NULL.
Definition: c3dmodel.h:85
unsigned int m_FaceIdxSize
Number of elements of the m_FaceIdx array.
Definition: c3dmodel.h:87
SFVEC3F * m_Color
Vertex color array, can be NULL.
Definition: c3dmodel.h:86
SFVEC3F * m_Positions
Vertex position array.
Definition: c3dmodel.h:83
glm::vec2 SFVEC2F
Definition: xv3d_types.h:42
glm::vec3 SFVEC3F
Definition: xv3d_types.h:44