111 |
111 |
112 Q_DECLARE_METATYPE(gl::Polygon) |
112 Q_DECLARE_METATYPE(gl::Polygon) |
113 |
113 |
114 namespace gl |
114 namespace gl |
115 { |
115 { |
116 inline Polygon edgeLine(const glm::vec3& v_1, const glm::vec3& v_2, ldraw::Color color, ldraw::Id id) |
116 inline Polygon edgeLine(const glm::vec3& v_1, const glm::vec3& v_2, ldraw::Color color, ldraw::id_t id) |
117 { |
117 { |
118 return {Polygon::EdgeLine, {v_1, v_2}, color, id}; |
118 return {Polygon::EdgeLine, {v_1, v_2}, color, id}; |
119 } |
119 } |
120 |
120 |
121 inline Polygon triangle( |
121 inline Polygon triangle( |
122 const glm::vec3& v_1, |
122 const glm::vec3& v_1, |
123 const glm::vec3& v_2, |
123 const glm::vec3& v_2, |
124 const glm::vec3& v_3, |
124 const glm::vec3& v_3, |
125 ldraw::Color color, |
125 ldraw::Color color, |
126 ldraw::Id id) |
126 ldraw::id_t id) |
127 { |
127 { |
128 return {Polygon::Triangle, {v_1, v_2, v_3}, color, id}; |
128 return {Polygon::Triangle, {v_1, v_2, v_3}, color, id}; |
129 } |
129 } |
130 |
130 |
131 inline Polygon quadrilateral( |
131 inline Polygon quadrilateral( |
132 const glm::vec3& v_1, |
132 const glm::vec3& v_1, |
133 const glm::vec3& v_2, |
133 const glm::vec3& v_2, |
134 const glm::vec3& v_3, |
134 const glm::vec3& v_3, |
135 const glm::vec3& v_4, |
135 const glm::vec3& v_4, |
136 ldraw::Color color, |
136 ldraw::Color color, |
137 ldraw::Id id) |
137 ldraw::id_t id) |
138 { |
138 { |
139 return {Polygon::Quadrilateral, {v_1, v_2, v_3, v_4}, color, id}; |
139 return {Polygon::Quadrilateral, {v_1, v_2, v_3, v_4}, color, id}; |
140 } |
140 } |
141 |
141 |
142 inline Polygon conditionalEdge( |
142 inline Polygon conditionalEdge( |
143 const glm::vec3& v_1, |
143 const glm::vec3& v_1, |
144 const glm::vec3& v_2, |
144 const glm::vec3& v_2, |
145 const glm::vec3& control_1, |
145 const glm::vec3& control_1, |
146 const glm::vec3& control_2, |
146 const glm::vec3& control_2, |
147 ldraw::Color color, |
147 ldraw::Color color, |
148 ldraw::Id id) |
148 ldraw::id_t id) |
149 { |
149 { |
150 return {Polygon::ConditionalEdge, {v_1, v_2, control_1, control_2}, color, id}; |
150 return {Polygon::ConditionalEdge, {v_1, v_2, control_1, control_2}, color, id}; |
151 } |
151 } |
152 |
152 |
153 // Vbo names |
153 // Vbo names |