Revision: 42106
http://brlcad.svn.sourceforge.net/brlcad/?rev=42106&view=rev
Author: brlcad
Date: 2011-01-12 00:55:34 +0000 (Wed, 12 Jan 2011)
Log Message:
-----------
behold the annoyance of -pedantic. believe it or not, even for ISO C++,
variable sized arrays are but a mere gcc extension. if you want
variable-sized, you either have to new/delete/malloc/free (bleh) or leverage
std::vector templatization. the latter is fortunately a trivial declaration
tweak and the rest should behave accordingly.
Modified Paths:
--------------
brlcad/trunk/src/conv/Makefile.am
brlcad/trunk/src/conv/step/OpenNurbsInterfaces.cpp
brlcad/trunk/src/conv/step/PullbackCurve.cpp
Modified: brlcad/trunk/src/conv/Makefile.am
===================================================================
--- brlcad/trunk/src/conv/Makefile.am 2011-01-12 00:42:25 UTC (rev 42105)
+++ brlcad/trunk/src/conv/Makefile.am 2011-01-12 00:55:34 UTC (rev 42106)
@@ -5,7 +5,7 @@
endif
-AM_CPPFLAGS = ${TCL_CPPFLAGS}
+AM_CPPFLAGS = ${TCL_CPPFLAGS} ${STRICT_FLAGS}
EXTRA_DIST = \
CMakeLists.txt \
Modified: brlcad/trunk/src/conv/step/OpenNurbsInterfaces.cpp
===================================================================
--- brlcad/trunk/src/conv/step/OpenNurbsInterfaces.cpp 2011-01-12 00:42:25 UTC
(rev 42105)
+++ brlcad/trunk/src/conv/step/OpenNurbsInterfaces.cpp 2011-01-12 00:55:34 UTC
(rev 42106)
@@ -1661,7 +1661,7 @@
double w = cos(dtheta/2.0);
ON_3dPointArray cpts(2*narcs + 1);
double angle = t_theta;
- double W[2*narcs + 1];
+ double W[2 * 4 + 1]; /* 2 * max narcs + 1 */
ON_3dPoint P0, P1, P2, PM, PT;
ON_3dVector T0, T2;
@@ -1698,7 +1698,7 @@
int p = degree;
int m = n + p - 1;
int dimension = 3;
- double u[narcs+1];
+ double u[4 + 1]; /* max narcs + 1 */
for (int k = 0; k < narcs+1; k++) {
u[k] = ((double)k)/narcs;
Modified: brlcad/trunk/src/conv/step/PullbackCurve.cpp
===================================================================
--- brlcad/trunk/src/conv/step/PullbackCurve.cpp 2011-01-12 00:42:25 UTC
(rev 42105)
+++ brlcad/trunk/src/conv/step/PullbackCurve.cpp 2011-01-12 00:55:34 UTC
(rev 42106)
@@ -412,7 +412,7 @@
int num_samples = Q.Count();
int num_segments = Q.Count() - 1;
int qsize = num_samples + 3;
- ON_2dVector qarray[qsize];
+ std::vector<ON_2dVector> qarray(qsize);
ON_2dVector *q = &qarray[1];
for (int i=1; i < Q.Count(); i++) {
@@ -425,8 +425,8 @@
q[num_samples+1] = 2*q[num_samples] - q[num_samples-1];
q[num_samples+2] = 2*q[num_samples+1] - q[num_samples];
- ON_2dVector T[num_samples];
- double A[num_samples];
+ std::vector<ON_2dVector> T(num_samples);
+ std::vector<double> A(num_samples);
for (int k=0; k < num_samples; k++) {
ON_3dVector a = ON_CrossProduct(q[k-1], q[k]);
ON_3dVector b = ON_CrossProduct(q[k+1], q[k+2]);
@@ -439,7 +439,7 @@
T[k] = (1.0 - A[k])*q[k] + A[k]*q[k+1];
T[k].Unitize();
}
- ON_2dPointArray P[num_samples-1];
+ std::vector<ON_2dPointArray> P(num_samples-1);
ON_2dPointArray control_points;
control_points.Append(Q[0]);
for (int i=1; i<num_samples; i++) {
@@ -470,7 +470,7 @@
control_points.Append(Q[num_samples-1]);
//generateParameters(spline);
- double u[num_segments+1];
+ std::vector<double> u(num_segments+1);
u[0] = 0.0;
for (int k=0;k<num_segments;k++) {
u[k+1] = u[k] + 3.0*(P[k][1]-P[k][0]).Length();
@@ -512,7 +512,7 @@
int num_samples = Q.Count();
int num_segments = Q.Count() - 1;
int qsize = num_samples + 3;
- ON_3dVector qarray[qsize];
+ std::vector<ON_3dVector> qarray(qsize);
ON_3dVector *q = &qarray[1];
for (int i = 1; i < Q.Count(); i++) {
@@ -525,8 +525,8 @@
q[num_samples + 1] = 2 * q[num_samples] - q[num_samples - 1];
q[num_samples + 2] = 2 * q[num_samples + 1] - q[num_samples];
- ON_3dVector T[num_samples];
- double A[num_samples];
+ std::vector<ON_3dVector> T(num_samples);
+ std::vector<double> A(num_samples);
for (int k = 0; k < num_samples; k++) {
ON_3dVector avec = ON_CrossProduct(q[k - 1], q[k]);
ON_3dVector bvec = ON_CrossProduct(q[k + 1], q[k + 2]);
@@ -539,7 +539,7 @@
T[k] = (1.0 - A[k]) * q[k] + A[k] * q[k + 1];
T[k].Unitize();
}
- ON_3dPointArray P[num_samples - 1];
+ std::vector<ON_3dPointArray> P(num_samples - 1);
ON_3dPointArray control_points;
control_points.Append(Q[0]);
for (int i = 1; i < num_samples; i++) {
@@ -570,7 +570,7 @@
control_points.Append(Q[num_samples - 1]);
//generateParameters(spline);
- double u[num_segments + 1];
+ std::vector<double> u(num_segments + 1);
u[0] = 0.0;
for (int k = 0; k < num_segments; k++) {
u[k + 1] = u[k] + 3.0 * (P[k][1] - P[k][0]).Length();
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits