Revision: 54129
http://brlcad.svn.sourceforge.net/brlcad/?rev=54129&view=rev
Author: starseeker
Date: 2013-01-03 21:41:33 +0000 (Thu, 03 Jan 2013)
Log Message:
-----------
Fix compilation with newer opennurbs
Modified Paths:
--------------
brlcad/trunk/src/librt/test_botpatches.cpp
brlcad/trunk/src/librt/test_subdivision.cpp
Modified: brlcad/trunk/src/librt/test_botpatches.cpp
===================================================================
--- brlcad/trunk/src/librt/test_botpatches.cpp 2013-01-03 17:35:25 UTC (rev
54128)
+++ brlcad/trunk/src/librt/test_botpatches.cpp 2013-01-03 21:41:33 UTC (rev
54129)
@@ -347,7 +347,7 @@
int b = int(256*drand48() + 1.0);
for (v_it = edges->begin(); v_it != edges->end(); v_it++) {
pl_color(l_plot, r, g, b);
- ON_BrepEdge& edge = info->brep->m_E[(*v_it)];
+ ON_BrepEdge& edge = info->brep->m_E[(int)(*v_it)];
const ON_Curve* edge_curve = edge.EdgeCurveOf();
ON_Interval dom = edge_curve->Domain();
// XXX todo: dynamically sample the curve
@@ -518,7 +518,7 @@
get_connected_faces(info->bot, face_num, &(info->edge_to_face),
&connected_faces);
for (cf_it = connected_faces.begin(); cf_it !=
connected_faces.end() ; cf_it++) {
if(faces->find((*cf_it)) != faces->end()) {
- if(ON_DotProduct(
*(*info).face_normals.At((start_face_num)),*(*info).face_normals.At((*cf_it)) )
> 0.5) {
+ if(ON_DotProduct(
*(*info).face_normals.At((int)(start_face_num)),*(*info).face_normals.At((int)(*cf_it))
) > 0.5) {
face_queue.push((*cf_it));
faces->erase((*cf_it));
}
@@ -556,7 +556,7 @@
get_connected_faces(info->bot, face_num_1, &(info->edge_to_face),
&connected_faces);
for (cf_it = connected_faces.begin(); cf_it !=
connected_faces.end() ; cf_it++) {
if(faces->find((*cf_it)) != faces->end() &&
(*patches)[new_patch_2].find(*cf_it) == (*patches)[new_patch_2].end()) {
- if(ON_DotProduct(
*(*info).face_normals.At((start_face_num_1)),*(*info).face_normals.At((*cf_it))
) > 0.5) {
+ if(ON_DotProduct(
*(*info).face_normals.At((int)(start_face_num_1)),*(*info).face_normals.At((int)(*cf_it))
) > 0.5) {
face_queue_1.push((*cf_it));
faces->erase((*cf_it));
}
@@ -573,7 +573,7 @@
get_connected_faces(info->bot, face_num_2, &(info->edge_to_face),
&connected_faces);
for (cf_it = connected_faces.begin(); cf_it !=
connected_faces.end(); cf_it++) {
if(faces->find((*cf_it)) != faces->end() &&
(*patches)[new_patch_1].find(*cf_it) == (*patches)[new_patch_1].end()) {
- if(ON_DotProduct(
*(*info).face_normals.At((start_face_num_2)),*(*info).face_normals.At((*cf_it))
) > 0.5) {
+ if(ON_DotProduct(
*(*info).face_normals.At(((int)start_face_num_2)),*(*info).face_normals.At((int)(*cf_it))
) > 0.5) {
face_queue_2.push((*cf_it));
faces->erase((*cf_it));
}
@@ -701,9 +701,9 @@
VCROSS(norm_dir, a, b);
VUNITIZE(norm_dir);
info->face_normals.Append(ON_3dVector(norm_dir[0], norm_dir[1],
norm_dir[2]));
- (*info).face_normals.At(i)->Unitize();
+ (*info).face_normals.At((int)i)->Unitize();
for (size_t j=0; j < (size_t)(*info).vectors.Count(); j++) {
- vdot = ON_DotProduct(*(*info).vectors.At(j),
*(*info).face_normals.At(i));
+ vdot = ON_DotProduct(*(*info).vectors.At((int)j),
*(*info).face_normals.At((int)i));
info->norm_results[std::make_pair(i, j)] = vdot;
if (vdot > result) {
result_max = j;
@@ -782,7 +782,7 @@
vect_t origin;
size_t ok = 1;
VMOVE(origin,
&info->bot->vertices[info->bot->faces[(face_num)*3]*3]);
- ON_Plane plane(ON_3dPoint(origin[0],
origin[1], origin[2]), *(*info).face_normals.At((face_num)));
+ ON_Plane plane(ON_3dPoint(origin[0],
origin[1], origin[2]), *(*info).face_normals.At((int)(face_num)));
for (int pt = 0; pt < 3; pt++) {
point_t cpt;
VMOVE(cpt,
&info->bot->vertices[info->bot->faces[((*cf_it))*3+pt]*3]);
@@ -1067,7 +1067,7 @@
double boxmax[3] = {0.0, 0.0, 0.0};
std::vector<size_t>::iterator v_it;
for(v_it = (*l_it).second.begin(); v_it != (*l_it).second.end();
v_it++) {
- ON_BrepEdge& edge = info->brep->m_E[(*v_it)];
+ ON_BrepEdge& edge = info->brep->m_E[(int)(*v_it)];
const ON_Curve* edge_curve = edge.EdgeCurveOf();
edge_curve->GetBBox((double *)&boxmin, (double *)&boxmax, 1);
}
@@ -1090,7 +1090,7 @@
// outer and inner trimming loops
void build_loop(size_t patch_id, size_t loop_index, ON_BrepLoop::TYPE
loop_type, std::map<size_t, std::vector<size_t> > *loops, struct Manifold_Info
*info) {
- ON_BrepFace& face = info->brep->m_F[patch_id];
+ ON_BrepFace& face = info->brep->m_F[(int)patch_id];
// Start with outer loop
ON_BrepLoop& loop = info->brep->NewLoop(loop_type, face);
// build surface tree
@@ -1106,7 +1106,7 @@
for(loop_it = loop_edges->begin(); loop_it != loop_edges->end();
loop_it++) {
size_t curr_edge = (*loop_it);
// Will we need to flip the trim?
- ON_BrepEdge& edge = info->brep->m_E[curr_edge];
+ ON_BrepEdge& edge = info->brep->m_E[(int)curr_edge];
if(vert_prev != -1) {
if (vert_prev == edge.m_vi[0]) {
trim_rev = false;
@@ -1189,7 +1189,7 @@
FILE* ploopplot = fopen(bu_vls_addr(&name), "w");
std::set<size_t> curr_edges = (*p_it).second;
for (std::set<size_t>::iterator edge_it = curr_edges.begin(); edge_it
!= curr_edges.end(); edge_it++) {
- ON_BrepEdge& edge = info->brep->m_E[(*edge_it)];
+ ON_BrepEdge& edge = info->brep->m_E[(int)(*edge_it)];
if (edge.m_vi[0] == edge.m_vi[1]) {
size_t curr_loop = loops.size();
loops[curr_loop].push_back((*edge_it));
@@ -1206,12 +1206,12 @@
std::queue<size_t> edge_queue;
edge_queue.push(*(curr_edges.begin()));
curr_edges.erase(edge_queue.front());
- int vert_to_match = info->brep->m_E[edge_queue.front()].m_vi[0];
+ int vert_to_match =
info->brep->m_E[(int)edge_queue.front()].m_vi[0];
while (!edge_queue.empty()) {
size_t curr_edge = edge_queue.front();
edge_queue.pop();
loops[curr_loop].push_back(curr_edge);
- ON_BrepEdge& edge = info->brep->m_E[curr_edge];
+ ON_BrepEdge& edge = info->brep->m_E[(int)curr_edge];
if(vert_to_match == edge.m_vi[0]) {
vert_to_match = edge.m_vi[1];
} else {
@@ -1287,7 +1287,7 @@
std::set<size_t> *patch_edges = &(info->patch_edges[curr_patch]);
std::set<size_t>::iterator pe_it;
for (pe_it = patch_edges->begin(); pe_it != patch_edges->end(); pe_it++) {
- ON_BrepEdge& edge = info->brep->m_E[(*pe_it)];
+ ON_BrepEdge& edge = info->brep->m_E[(int)(*pe_it)];
const ON_Curve* edge_curve = edge.EdgeCurveOf();
ON_Interval dom = edge_curve->Domain();
// XXX todo: dynamically sample the curve
@@ -1337,7 +1337,7 @@
ON_Interval udom = fit.m_nurbs.Domain(0);
ON_Interval vdom = fit.m_nurbs.Domain(1);
ON_3dVector surf_norm = fit.m_nurbs.NormalAt(udom.ParameterAt(0.5),
vdom.ParameterAt(0.5));
- double vdot = ON_DotProduct(surf_norm,
*info->face_normals.At(*(info->patches[(*p_it).first].begin())));
+ double vdot = ON_DotProduct(surf_norm,
*info->face_normals.At((int)*(info->patches[(*p_it).first].begin())));
if (vdot < 0) {
info->brep->FlipFace(face);
info->brep2->FlipFace(*face2);
Modified: brlcad/trunk/src/librt/test_subdivision.cpp
===================================================================
--- brlcad/trunk/src/librt/test_subdivision.cpp 2013-01-03 17:35:25 UTC (rev
54128)
+++ brlcad/trunk/src/librt/test_subdivision.cpp 2013-01-03 21:41:33 UTC (rev
54129)
@@ -52,9 +52,9 @@
for(f_it = mesh->face_pts.begin(); f_it != mesh->face_pts.end(); f_it++) {
ON_3dPoint p1, p2, p3;
l_it = (*f_it).second.begin();
- p1 = *mesh->points_p0.At((*l_it));
- p2 = *mesh->points_p0.At((*(l_it+1)));
- p3 = *mesh->points_p0.At((*(l_it+2)));
+ p1 = *mesh->points_p0.At((int)(*l_it));
+ p2 = *mesh->points_p0.At((int)(*(l_it+1)));
+ p3 = *mesh->points_p0.At((int)(*(l_it+2)));
ON_3dPoint q((p1.x + p2.x + p3.x)/3, (p1.y + p2.y + p3.y)/3, (p1.z +
p2.z + p3.z)/3);
mesh->points_q.Append(q);
}
@@ -73,7 +73,7 @@
range = mesh->point_neighbors.equal_range(p);
ON_3dPoint psum = ON_3dPoint(0,0,0);
for(p_it = range.first; p_it != range.second; p_it++) {
- psum = psum + *mesh->points_p0.At((*p_it).second);
+ psum = psum + *mesh->points_p0.At((int)(*p_it).second);
}
fastf_t alpha = alpha_n(n);
//
@@ -81,7 +81,7 @@
// [pinf = ---------- * psum + -------- * p0]
// 3 an n + n 3 an + 1
//
- ON_3dPoint pinf = (3*alpha/((3*alpha+1)*n))*psum + 1/(3*alpha+1) *
*mesh->points_p0.At(p);
+ ON_3dPoint pinf = (3*alpha/((3*alpha+1)*n))*psum + 1/(3*alpha+1) *
*mesh->points_p0.At((int)p);
p_a->Append(pinf);
}
@@ -90,7 +90,7 @@
size_t n = mesh->point_valence[p];
point_inf(p, mesh, &mesh->points_inf);
fastf_t gamma = pow((2/3 - alpha_n(n)),m);
- ON_3dPoint subdiv_pt = gamma * *mesh->points_p0.At(p) + (1-gamma) *
*mesh->points_inf.At(p);
+ ON_3dPoint subdiv_pt = gamma * *mesh->points_p0.At((int)p) + (1-gamma) *
*mesh->points_inf.At((int)p);
p_a->Append(subdiv_pt);
}
@@ -343,7 +343,7 @@
// Relax old points here
for(size_t pcnt = 0; pcnt < (size_t)starting_mesh->points_p0.Count();
pcnt++) {
- mesh->points_p0.Append(*starting_mesh->points_p0.At(pcnt));
+ mesh->points_p0.Append(*starting_mesh->points_p0.At((int)pcnt));
mesh->iteration_of_insert[pcnt] =
starting_mesh->iteration_of_insert[pcnt];
#if 0
if (outer_pts.find(pcnt) == outer_pts.end()) {
@@ -363,7 +363,7 @@
#endif
}
for(f_it = starting_mesh->face_pts.begin(); f_it !=
starting_mesh->face_pts.end(); f_it++) {
- mesh->points_p0.Append(starting_mesh->points_q[(*f_it).first]);
+ mesh->points_p0.Append(starting_mesh->points_q[(int)(*f_it).first]);
mesh->iteration_of_insert[mesh->points_p0.Count()-1] =
mesh->iteration_cnt;
starting_mesh->index_in_next[(*f_it).first] = mesh->points_p0.Count()-1;
}
@@ -466,7 +466,7 @@
int b = int(256*drand48() + 1.0);
for(f_it = mesh->face_pts.begin(); f_it != mesh->face_pts.end();
f_it++) {
l_it = (*f_it).second.begin();
- plot_face(&mesh->points_p0[(*l_it)], &mesh->points_p0[(*(l_it+1))],
&mesh->points_p0[(*(l_it+2))], r, g ,b, plot_file);
+ plot_face(&mesh->points_p0[(int)(*l_it)],
&mesh->points_p0[(int)(*(l_it+1))], &mesh->points_p0[(int)(*(l_it+2))], r, g
,b, plot_file);
}
fclose(plot_file);
}
@@ -475,7 +475,7 @@
// vertices
ON_3dPointArray points_inf;
for(size_t v = 0; v < (size_t)mesh->points_p0.Count(); v++) {
- points_inf.Append(*mesh->points_p0.At(v));
+ points_inf.Append(*mesh->points_p0.At((int)v));
//point_inf(v, mesh, &points_inf);
}
// The subdivision process shrinks the bot relative to its original
@@ -485,14 +485,14 @@
fastf_t scale = 0.0;
for(size_t pcnt = 0; pcnt < bot_ip->num_vertices; pcnt++) {
ON_3dVector v1(ON_3dPoint(&bot_ip->vertices[pcnt*3]));
- ON_3dVector v2(*points_inf.At(pcnt));
+ ON_3dVector v2(*points_inf.At((int)pcnt));
scale += 1 + (v1.Length() - v2.Length())/v1.Length();
}
scale = scale / bot_ip->num_vertices;
for(size_t pcnt = 0; pcnt < (size_t)points_inf.Count(); pcnt++) {
- ON_3dPoint p0(*points_inf.At(pcnt));
+ ON_3dPoint p0(*points_inf.At((int)pcnt));
ON_3dPoint p1 = p0 * scale;
- *points_inf.At(pcnt) = p1;
+ *points_inf.At((int)pcnt) = p1;
}
wdbp = wdb_dbopen(dbip, RT_WDB_TYPE_DB_DISK);
@@ -500,9 +500,9 @@
fastf_t *vertices = (fastf_t *)bu_malloc(sizeof(fastf_t) *
points_inf.Count() * 3, "new verts");
int *faces = (int *)bu_malloc(sizeof(int) * mesh->face_pts.size() * 3,
"new faces");
for(size_t v = 0; v < (size_t)points_inf.Count(); v++) {
- vertices[v*3] = points_inf[v].x;
- vertices[v*3+1] = points_inf[v].y;
- vertices[v*3+2] = points_inf[v].z;
+ vertices[v*3] = points_inf[(int)v].x;
+ vertices[v*3+1] = points_inf[(int)v].y;
+ vertices[v*3+2] = points_inf[(int)v].z;
}
std::map<size_t, std::vector<size_t> >::iterator f_it;
std::vector<size_t>::iterator l_it;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits