Subversion Repositories gelsvn

Rev

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

Rev 371 Rev 375
Line 74... Line 74...
74
					normals.vertex_rw(i) /= sqrt(l_vert_rw);
74
					normals.vertex_rw(i) /= sqrt(l_vert_rw);
75
			}
75
			}
76
	}
76
	}
77
 
77
 
78
 
78
 
79
  void TriMesh::get_bbox(CGLA::Vec3f& p0, CGLA::Vec3f& p7) const
79
  bool TriMesh::get_bbox(CGLA::Vec3f& p0, CGLA::Vec3f& p7) const
80
  {
80
  {
-
 
81
    if(geometry.no_vertices() == 0)
-
 
82
      return false;
-
 
83
 
81
    int i;
84
    int i;
82
    p0 = geometry.vertex(0);
85
    p0 = geometry.vertex(0);
83
    p7 = geometry.vertex(0);
86
    p7 = geometry.vertex(0);
84
    for(i=1;i<geometry.no_vertices();i++) 
87
    for(i=1;i<geometry.no_vertices();i++) 
85
      {
88
      {
86
				p0 = v_min(geometry.vertex(i), p0);
89
				p0 = v_min(geometry.vertex(i), p0);
87
				p7 = v_max(geometry.vertex(i), p7);
90
				p7 = v_max(geometry.vertex(i), p7);
88
      }
91
      }
-
 
92
    return true;
89
  }
93
  }
90
 
94
 
91
  void TriMesh::get_bsphere(CGLA::Vec3f& c, float& r) const
95
  bool TriMesh::get_bsphere(CGLA::Vec3f& c, float& r) const
92
  {
96
  {
93
    Vec3f p0,p7;
97
    Vec3f p0,p7;
94
    get_bbox(p0, p7);
98
    if(!get_bbox(p0, p7))
-
 
99
      return false;
-
 
100
 
95
    Vec3f rad = (p7 - p0)/2.0;
101
    Vec3f rad = (p7 - p0)/2.0;
96
    c = p0 + rad;
102
    c = p0 + rad;
97
    r = rad.length();
103
    r = rad.length();
-
 
104
    return true;
98
  }
105
  }
99
 
106
 
100
 
107
 
101
}
108
}