Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extern/draco/dracoenc/src/draco/point_cloud/point_cloud_test.cc')
-rw-r--r--extern/draco/dracoenc/src/draco/point_cloud/point_cloud_test.cc131
1 files changed, 0 insertions, 131 deletions
diff --git a/extern/draco/dracoenc/src/draco/point_cloud/point_cloud_test.cc b/extern/draco/dracoenc/src/draco/point_cloud/point_cloud_test.cc
deleted file mode 100644
index 00491b7309a..00000000000
--- a/extern/draco/dracoenc/src/draco/point_cloud/point_cloud_test.cc
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright 2017 The Draco Authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-#include "draco/core/draco_test_base.h"
-#include "draco/core/draco_test_utils.h"
-
-#include "draco/point_cloud/point_cloud.h"
-
-namespace {
-
-class PointCloudTest : public ::testing::Test {
- protected:
- PointCloudTest() {}
-};
-
-TEST_F(PointCloudTest, TestAttributeDeletion) {
- draco::PointCloud pc;
- // Test whether we can correctly delete an attribute from a point cloud.
- // Create some attributes for the point cloud.
- draco::GeometryAttribute pos_att;
- pos_att.Init(draco::GeometryAttribute::POSITION, nullptr, 3,
- draco::DT_FLOAT32, false, 12, 0);
- draco::GeometryAttribute norm_att;
- norm_att.Init(draco::GeometryAttribute::NORMAL, nullptr, 3, draco::DT_FLOAT32,
- false, 12, 0);
- draco::GeometryAttribute gen_att;
- gen_att.Init(draco::GeometryAttribute::GENERIC, nullptr, 3, draco::DT_FLOAT32,
- false, 12, 0);
-
- // Add one position, two normal and two generic attributes.
- pc.AddAttribute(pos_att, false, 0);
- pc.AddAttribute(gen_att, false, 0);
- pc.AddAttribute(norm_att, false, 0);
- pc.AddAttribute(gen_att, false, 0);
- pc.AddAttribute(norm_att, false, 0);
-
- ASSERT_EQ(pc.num_attributes(), 5);
- ASSERT_EQ(pc.attribute(0)->attribute_type(),
- draco::GeometryAttribute::POSITION);
- ASSERT_EQ(pc.attribute(3)->attribute_type(),
- draco::GeometryAttribute::GENERIC);
-
- // Delete generic attribute.
- pc.DeleteAttribute(1);
- ASSERT_EQ(pc.num_attributes(), 4);
- ASSERT_EQ(pc.attribute(1)->attribute_type(),
- draco::GeometryAttribute::NORMAL);
- ASSERT_EQ(pc.NumNamedAttributes(draco::GeometryAttribute::NORMAL), 2);
- ASSERT_EQ(pc.GetNamedAttributeId(draco::GeometryAttribute::NORMAL, 1), 3);
-
- // Delete the first normal attribute.
- pc.DeleteAttribute(1);
- ASSERT_EQ(pc.num_attributes(), 3);
- ASSERT_EQ(pc.attribute(1)->attribute_type(),
- draco::GeometryAttribute::GENERIC);
- ASSERT_EQ(pc.NumNamedAttributes(draco::GeometryAttribute::NORMAL), 1);
- ASSERT_EQ(pc.GetNamedAttributeId(draco::GeometryAttribute::NORMAL, 0), 2);
-}
-
-TEST_F(PointCloudTest, TestPointCloudWithMetadata) {
- draco::PointCloud pc;
- std::unique_ptr<draco::GeometryMetadata> metadata =
- std::unique_ptr<draco::GeometryMetadata>(new draco::GeometryMetadata());
-
- // Add a position attribute metadata.
- draco::GeometryAttribute pos_att;
- pos_att.Init(draco::GeometryAttribute::POSITION, nullptr, 3,
- draco::DT_FLOAT32, false, 12, 0);
- const uint32_t pos_att_id = pc.AddAttribute(pos_att, false, 0);
- ASSERT_EQ(pos_att_id, 0);
- std::unique_ptr<draco::AttributeMetadata> pos_metadata =
- std::unique_ptr<draco::AttributeMetadata>(new draco::AttributeMetadata());
- pos_metadata->AddEntryString("name", "position");
- pc.AddAttributeMetadata(pos_att_id, std::move(pos_metadata));
- const draco::GeometryMetadata *pc_metadata = pc.GetMetadata();
- ASSERT_NE(pc_metadata, nullptr);
- // Add a generic material attribute metadata.
- draco::GeometryAttribute material_att;
- material_att.Init(draco::GeometryAttribute::GENERIC, nullptr, 3,
- draco::DT_FLOAT32, false, 12, 0);
- const uint32_t material_att_id = pc.AddAttribute(material_att, false, 0);
- ASSERT_EQ(material_att_id, 1);
- std::unique_ptr<draco::AttributeMetadata> material_metadata =
- std::unique_ptr<draco::AttributeMetadata>(new draco::AttributeMetadata());
- material_metadata->AddEntryString("name", "material");
- // The material attribute has id of 1 now.
- pc.AddAttributeMetadata(material_att_id, std::move(material_metadata));
-
- // Test if the attribute metadata is correctly added.
- const draco::AttributeMetadata *requested_pos_metadata =
- pc.GetAttributeMetadataByStringEntry("name", "position");
- ASSERT_NE(requested_pos_metadata, nullptr);
- const draco::AttributeMetadata *requested_mat_metadata =
- pc.GetAttributeMetadataByStringEntry("name", "material");
- ASSERT_NE(requested_mat_metadata, nullptr);
-
- // Attribute id should be preserved.
- ASSERT_EQ(
- pc.GetAttributeIdByUniqueId(requested_pos_metadata->att_unique_id()), 0);
- ASSERT_EQ(
- pc.GetAttributeIdByUniqueId(requested_mat_metadata->att_unique_id()), 1);
-
- // Test deleting attribute with metadata.
- pc.DeleteAttribute(pos_att_id);
- ASSERT_EQ(pc.GetAttributeMetadataByStringEntry("name", "position"), nullptr);
-
- requested_mat_metadata =
- pc.GetAttributeMetadataByStringEntry("name", "material");
- // The unique id should not be changed.
- ASSERT_EQ(requested_mat_metadata->att_unique_id(), 1);
- // Now position attribute is removed, material attribute should have the
- // attribute id of 0.
- ASSERT_EQ(
- pc.GetAttributeIdByUniqueId(requested_mat_metadata->att_unique_id()), 0);
- // Should be able to get metadata using the current attribute id.
- // Attribute id of material attribute is changed from 1 to 0.
- ASSERT_NE(pc.GetAttributeMetadataByAttributeId(0), nullptr);
-}
-
-} // namespace