Subversion Repositories gelsvn

Rev

Rev 630 | Rev 636 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 630 Rev 632
Line 45... Line 45...
45
		const double gamma;
45
		const double gamma;
46
		const bool use_alpha;
46
		const bool use_alpha;
47
		
47
		
48
		double cos_ang(const CGLA::Vec3d& n1, const CGLA::Vec3d& n2) const
48
		double cos_ang(const CGLA::Vec3d& n1, const CGLA::Vec3d& n2) const
49
		{
49
		{
50
			return CGLA::s_max(-1.0, CGLA::s_min(1.0, CGLA::dot(n1, n2)));
50
			return std::max(-1.0, std::min(1.0, CGLA::dot(n1, n2)));
51
		}
51
		}
52
		
52
		
53
		double edge_alpha_energy(CGLA::Vec3d v1, CGLA::Vec3d v2, double ca) const
53
		double edge_alpha_energy(CGLA::Vec3d v1, CGLA::Vec3d v2, double ca) const
54
		{
54
		{
55
			return pow(CGLA::length(v1-v2)*(acos(ca)), 1.0f/gamma); 
55
			return pow(CGLA::length(v1-v2)*(acos(ca)), 1.0f/gamma); 
Line 86... Line 86...
86
		double delta_energy(const HMesh::Manifold& m, HMesh::HalfEdgeID h) const;
86
		double delta_energy(const HMesh::Manifold& m, HMesh::HalfEdgeID h) const;
87
	
87
	
88
		double min_angle(const HMesh::Manifold& m, HMesh::HalfEdgeID h) const
88
		double min_angle(const HMesh::Manifold& m, HMesh::HalfEdgeID h) const
89
		{
89
		{
90
			compute_angles(m, h);
90
			compute_angles(m, h);
91
			return CGLA::s_min(CGLA::s_min(CGLA::s_min(CGLA::s_min(aa_12, aa_b1), aa_c1), aa_2a), aa_2d);
91
			return std::min(std::min(std::min(std::min(aa_12, aa_b1), aa_c1), aa_2a), aa_2d);
92
		}		
92
		}		
93
	};
93
	};
94
	
94
	
95
	class CurvatureEnergy: public EnergyFun
95
	class CurvatureEnergy: public EnergyFun
96
	{
96
	{