diff --git a/network_process/src/prim_gen/filter_tet_by_subface.cpp b/network_process/src/prim_gen/filter_tet_by_subface.cpp index 991ff51..ff8dded 100644 --- a/network_process/src/prim_gen/filter_tet_by_subface.cpp +++ b/network_process/src/prim_gen/filter_tet_by_subface.cpp @@ -140,6 +140,7 @@ void filter_tet_by_subface(const btree_map_mp> filtered_vertex_lexigraphical_adjacency.emplace(vertex_index, vertex_indices_mapping.at(vertex_index)); filtered_vert_infos_iter++; } + vertex_infos.resize(filtered_vert_infos.rows(), filtered_vert_infos.cols()); vertex_infos = std::move(filtered_vert_infos); vertex_lexigraphical_adjacency = std::move(filtered_vertex_lexigraphical_adjacency); } \ No newline at end of file diff --git a/primitive_process/interface/data/data_type.hpp b/primitive_process/interface/data/data_type.hpp index e5ce164..7348ad2 100644 --- a/primitive_process/interface/data/data_type.hpp +++ b/primitive_process/interface/data/data_type.hpp @@ -25,7 +25,17 @@ const auto plane_to_z_pos_1_model_matrix = []() { res.world_to_local.linear().col(2) = Eigen::Vector3d{1, 0, 0}; res.world_to_local.translation() = Eigen::Vector3d{-1, 0, 0}; res.local_to_world = res.world_to_local; - res.local_to_world.translation() = Eigen::Vector3d{1, 0, 0}; + res.local_to_world.translation() = Eigen::Vector3d{0, 0, 1}; + return res; +}(); +const auto plane_to_z_model_matrix = []() { + paired_model_matrix res{}; + Eigen::Matrix3d::Identity(); + res.world_to_local.linear().col(0) = Eigen::Vector3d{0, 0, 1}; + res.world_to_local.linear().col(1) = Eigen::Vector3d{0, 1, 0}; + res.world_to_local.linear().col(2) = Eigen::Vector3d{1, 0, 0}; + res.world_to_local.translation() = Eigen::Vector3d{0, 0, 0}; + res.local_to_world = res.world_to_local; return res; }(); const auto plane_to_z_neg_1_model_matrix = []() { @@ -35,7 +45,7 @@ const auto plane_to_z_neg_1_model_matrix = []() { res.world_to_local.linear().col(2) = Eigen::Vector3d{1, 0, 0}; res.world_to_local.translation() = Eigen::Vector3d{1, 0, 0}; res.local_to_world = res.world_to_local; - res.local_to_world.translation() = Eigen::Vector3d{-1, 0, 0}; + res.local_to_world.translation() = Eigen::Vector3d{0, 0, -1}; return res; }(); diff --git a/primitive_process/src/primitive/simple/cylinder.cpp b/primitive_process/src/primitive/simple/cylinder.cpp index 32243c9..da6c6c5 100644 --- a/primitive_process/src/primitive/simple/cylinder.cpp +++ b/primitive_process/src/primitive/simple/cylinder.cpp @@ -4,7 +4,7 @@ namespace internal { void cylinder_t::initialize(primitive_data_center_t &data_center) { - auto [bottom_plane_iter, _] = data_center.transform_blocks.acquire(internal::plane_to_z_neg_1_model_matrix); + auto [bottom_plane_iter, _] = data_center.transform_blocks.acquire(internal::plane_to_z_model_matrix); auto [cylinder_iter, __] = data_center.transform_blocks.acquire(internal::identity_model_matrix); auto [top_plane_iter, ___] = data_center.transform_blocks.acquire(internal::plane_to_z_pos_1_model_matrix); initialize(data_center,