fix: resolve all compilation errors — 0 build errors
Fixes: - src/CMakeLists.txt: add tolerant_modeling.cpp to vde_brep (was missing) - tests/core/test_cam_5axis.cpp: fix curves namespace, replace curves::NurbsSurface → NurbsSurface - tests/brep/test_constraint_solver_3d.cpp: add brep_drawing.h include, replace core:: prefixes (core::Point3D→Point3D etc) - src/CMakeLists.txt: revert vde_capi SHARED→STATIC (fix PIC relocation error) Build: Docker vde-builder, 4 CPUs, 8GB, GCC 11.4 — 0 errors Test: benchmarks timeout in container (expected), core tests pass
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include "vde/brep/constraint_solver.h"
|
||||
#include "vde/brep/drawing_standards.h"
|
||||
#include "vde/brep/brep_drawing.h"
|
||||
#include "vde/brep/modeling.h"
|
||||
#include "vde/core/transform.h"
|
||||
#include "vde/core/aabb.h"
|
||||
@@ -974,8 +975,8 @@ TEST(KinematicChainTest, InverseKinematicsReachable) {
|
||||
};
|
||||
|
||||
// Target at (0, 2) — reachable by 2 links of length 1
|
||||
core::Transform3D target = core::Transform3D::Identity();
|
||||
target.translation() = core::Vector3D(0.0, 2.0, 0.0);
|
||||
Transform3D target = Transform3D::Identity();
|
||||
target.translation() = Vector3D(0.0, 2.0, 0.0);
|
||||
|
||||
auto angles = solver.inverse_kinematics(assy, links, target);
|
||||
EXPECT_EQ(angles.size(), 2u); // Should produce 2 angles
|
||||
@@ -991,8 +992,8 @@ TEST(KinematicChainTest, InverseKinematicsUnreachable) {
|
||||
};
|
||||
|
||||
// Target at (0, 3) — unreachable (max reach = 2)
|
||||
core::Transform3D target = core::Transform3D::Identity();
|
||||
target.translation() = core::Vector3D(0.0, 3.0, 0.0);
|
||||
Transform3D target = Transform3D::Identity();
|
||||
target.translation() = Vector3D(0.0, 3.0, 0.0);
|
||||
|
||||
auto angles = solver.inverse_kinematics(assy, links, target);
|
||||
EXPECT_TRUE(angles.empty()); // Unreachable
|
||||
@@ -1006,10 +1007,10 @@ TEST(KinematicChainTest, IsReachableCheck) {
|
||||
{1, 0.5, 0.0, 0.0, "l2"}
|
||||
};
|
||||
|
||||
core::Point3D near(1.0, 0.0, 0.0);
|
||||
Point3D near(1.0, 0.0, 0.0);
|
||||
EXPECT_TRUE(solver.is_reachable(links, near));
|
||||
|
||||
core::Point3D far(10.0, 0.0, 0.0);
|
||||
Point3D far(10.0, 0.0, 0.0);
|
||||
EXPECT_FALSE(solver.is_reachable(links, far));
|
||||
}
|
||||
|
||||
@@ -1018,7 +1019,7 @@ TEST(KinematicChainTest, DHTransformIdentity) {
|
||||
auto T = KinematicChainSolver::dh_transform(0.0, 0.0, 0.0, 0.0);
|
||||
// Not fully identity because DH includes rotation
|
||||
// At theta=0, should be I + translation on a=0
|
||||
core::Transform3D I = core::Transform3D::Identity();
|
||||
Transform3D I = Transform3D::Identity();
|
||||
EXPECT_TRUE(T.isApprox(I, 1e-6));
|
||||
}
|
||||
|
||||
|
||||
@@ -10,13 +10,14 @@
|
||||
|
||||
using namespace vde::core;
|
||||
using namespace vde::brep;
|
||||
using namespace vde::curves;
|
||||
|
||||
// ===========================================================================
|
||||
// 辅助函数
|
||||
// ===========================================================================
|
||||
|
||||
/// 创建一个简单的 NURBS 平面用于测试
|
||||
static curves::NurbsSurface make_test_surface() {
|
||||
static NurbsSurface make_test_surface() {
|
||||
// 10×10 平面 (degree 1×1)
|
||||
std::vector<std::vector<Point3D>> grid(2, std::vector<Point3D>(2));
|
||||
grid[0][0] = Point3D(-5, -5, 0);
|
||||
@@ -26,7 +27,7 @@ static curves::NurbsSurface make_test_surface() {
|
||||
std::vector<double> ku = {0, 0, 1, 1};
|
||||
std::vector<double> kv = {0, 0, 1, 1};
|
||||
std::vector<std::vector<double>> w(2, std::vector<double>(2, 1.0));
|
||||
return curves::NurbsSurface(grid, ku, kv, w, 1, 1);
|
||||
return NurbsSurface(grid, ku, kv, w, 1, 1);
|
||||
}
|
||||
|
||||
/// 创建一个测试用的 B-Rep 方体
|
||||
|
||||
Reference in New Issue
Block a user