Dali 3D User Interface Engine
geometry.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use *this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17 
18 // CLASS HEADER
19 #include <dali/devel-api/rendering/geometry.h> // Dali::Geometry
20 
21 // INTERNAL INCLUDES
22 #include <dali/internal/event/rendering/geometry-impl.h> // Dali::Internal::Geometry
23 
24 namespace Dali
25 {
26 
28 {
30  return Geometry( geometry.Get() );
31 }
32 
34 {
35 }
36 
38 {
39 }
40 
41 Geometry::Geometry( const Geometry& handle )
42 : Handle( handle )
43 {
44 }
45 
47 {
48  return Geometry( dynamic_cast<Dali::Internal::Geometry*>(handle.GetObjectPtr()));
49 }
50 
52 {
53  BaseHandle::operator=( handle );
54  return *this;
55 }
56 
57 std::size_t Geometry::AddVertexBuffer( PropertyBuffer& vertexBuffer )
58 {
59  DALI_ASSERT_ALWAYS( vertexBuffer && "VertexBuffer is not initialized ");
60  return GetImplementation(*this).AddVertexBuffer( GetImplementation( vertexBuffer ) );
61 }
62 
64 {
65  return GetImplementation(*this).GetNumberOfVertexBuffers();
66 }
67 
68 void Geometry::RemoveVertexBuffer( std::size_t index )
69 {
70  GetImplementation(*this).RemoveVertexBuffer( index );
71 }
72 
74 {
75  DALI_ASSERT_ALWAYS( indexBuffer && "indexBuffer is not initialized ");
76  GetImplementation(*this).SetIndexBuffer( GetImplementation( indexBuffer ) );
77 }
78 
80 {
81  GetImplementation(*this).SetGeometryType( geometryType );
82 }
83 
85 {
86  return GetImplementation(*this).GetGeometryType();
87 }
88 
89 void Geometry::SetRequiresDepthTesting( bool requiresDepthTest )
90 {
91  GetImplementation(*this).SetRequiresDepthTesting( requiresDepthTest );
92 }
93 
95 {
96  return GetImplementation(*this).GetRequiresDepthTesting();
97 }
98 
100 : Handle( pointer )
101 {
102 }
103 
104 } //namespace Dali
Dali Docs Home
Read more about Dali