1 #if !defined(__DALI_INTERNAL_MODEL_ARCHIVE_H__)
2 #define __DALI_INTERNAL_MODEL_ARCHIVE_H__
5 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
25 #include <dali/internal/event/modeling/model-data-impl.h>
26 #include <dali/internal/event/modeling/material-impl.h>
27 #include <dali/internal/event/resources/archive.h>
34 * Vertex element types.
35 * Defines the shape of a vertex
37 enum VertexElementType
39 VET_Position, ///< Vector3
40 VET_BoneWeights, ///< Array of 4 floats
41 VET_BoneIndices, ///< Array of 4 uint8_t
42 VET_Normal, ///< Vector3
43 VET_Diffuse, ///< Vertex color - Vector4
44 VET_Specular, ///< Vertex color - Vector4
45 VET_UV, ///< Texture coordinate - Vector2
46 VET_Bitangent, ///< Bitangent (positive Y texture axis) - Vector3
47 VET_Tangent, ///< Tangent (positive X texture axis) - Vector3
48 VET_Custom ///< User defined 1 float
49 }; // VertexElementType
54 struct MaterialProperties;
60 //---------- MaterialProperties ----------//
61 Archive& operator<< (Archive& ar, const MaterialProperties& t);
62 Archive& operator>> (Archive& ar, MaterialProperties& t);
63 //---------- Material ----------//
64 Archive& operator<< (Archive& ar, const Material& t);
65 Archive& operator>> (Archive& ar, Material& t);
67 Archive& operator<< (Archive&, const Dali::MeshData::Vertex&);
68 Archive& operator>> (Archive&, Dali::MeshData::Vertex&);
70 Archive& operator<< (Archive&, const Dali::Light&);
71 Archive& operator>> (Archive&, Dali::Light&);
73 Archive& operator<< (Archive&, const Dali::Bone&);
74 Archive& operator>> (Archive&, Dali::Bone&);
75 /*---- MeshData ----*/
76 Archive& operator<< (Archive&, const Dali::MeshData&);
77 Archive& operator>> (Archive&, MeshData&);
78 /*---- EntityAnimatorMap ----*/
79 Archive& operator<< (Archive&, const Dali::EntityAnimatorMap&);
80 Archive& operator>> (Archive&, Dali::EntityAnimatorMap&);
81 /*---- ModelAnimationMap ----*/
82 Archive& operator<< (Archive&, const Dali::ModelAnimationMap&);
83 Archive& operator>> (Archive&, ModelAnimationMap&);
85 Archive& operator<< (Archive&, const Dali::Entity&);
86 Archive& operator>> (Archive&, Dali::Entity&);
87 /*---- ModelData ----*/
88 Archive& operator<< (Archive&, const ModelData&);
89 Archive& operator>> (Archive&, ModelData&);
91 } // namespace Serialize
97 #endif // !defined(__DALI_INTERNAL_MODEL_ARCHIVE_H__)