|
|
@ -67,25 +67,24 @@ void primitive_data_center_t::release_transform_block(const internal::paired_mod |
|
|
|
|
|
|
|
void primitive_data_center_t::release_surface(surface_type type, const marked_subface_ptr_t<subface>& subface) |
|
|
|
{ |
|
|
|
auto subface_ptr = subface.get_ptr(); |
|
|
|
switch (type) { |
|
|
|
case surface_type::plane: |
|
|
|
{ |
|
|
|
auto model_matrices = subface_ptr->model_matrices; |
|
|
|
auto model_matrices = subface->model_matrices; |
|
|
|
std::get<plane_container_t>(this->surfaces[static_cast<uint8_t>(type)]).release(model_matrices); |
|
|
|
release_transform_block(model_matrices); |
|
|
|
break; |
|
|
|
} |
|
|
|
case surface_type::sphere: |
|
|
|
{ |
|
|
|
auto model_matrices = subface_ptr->model_matrices; |
|
|
|
auto model_matrices = subface->model_matrices; |
|
|
|
std::get<sphere_container_t>(this->surfaces[static_cast<uint8_t>(type)]).release(model_matrices); |
|
|
|
release_transform_block(model_matrices); |
|
|
|
break; |
|
|
|
} |
|
|
|
case surface_type::cylinder: |
|
|
|
{ |
|
|
|
auto model_matrices = subface_ptr->model_matrices; |
|
|
|
auto model_matrices = subface->model_matrices; |
|
|
|
std::get<cylinder_container_t>(this->surfaces[static_cast<uint8_t>(type)]).release(model_matrices); |
|
|
|
release_transform_block(model_matrices); |
|
|
|
break; |
|
|
|