Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2009-09-25 13:33:46 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-09-25 13:33:46 +0400
commit5eecb2ab48547449cfd9d668b92cb257bbd8da86 (patch)
tree62600c1a0cf6c64266e324264c5d25dc80e5b188
parent7c9bb3c40aecbb6e8e8045637c501433eed251f0 (diff)
Warning fixes for ITASC. Also, use <stdlib.h> instead of <malloc.h>,
it works everywhere.
-rw-r--r--intern/itasc/Armature.cpp14
-rw-r--r--intern/itasc/Cache.cpp4
-rw-r--r--intern/itasc/ConstraintSet.cpp8
-rw-r--r--intern/itasc/CopyPose.cpp4
-rw-r--r--intern/itasc/WSDLSSolver.hpp2
-rw-r--r--intern/itasc/kdl/jacobian.cpp4
-rw-r--r--intern/itasc/kdl/treefksolverpos_recursive.cpp1
-rw-r--r--source/blender/ikplugin/intern/ikplugin_api.c2
-rw-r--r--source/blender/ikplugin/intern/itasc_plugin.cpp29
9 files changed, 30 insertions, 38 deletions
diff --git a/intern/itasc/Armature.cpp b/intern/itasc/Armature.cpp
index 6ae60089cd8..7776b6aa3b6 100644
--- a/intern/itasc/Armature.cpp
+++ b/intern/itasc/Armature.cpp
@@ -8,9 +8,7 @@
#include "Armature.hpp"
#include <algorithm>
#include <string.h>
-#ifndef __STDC__
-#include <malloc.h>
-#endif
+#include <stdlib.h>
namespace iTaSC {
@@ -37,9 +35,9 @@ Armature::Armature():
m_newqKdl(),
m_qdotKdl(),
m_jac(NULL),
+ m_armlength(0.0),
m_jacsolver(NULL),
- m_fksolver(NULL),
- m_armlength(0.0)
+ m_fksolver(NULL)
{
}
@@ -119,6 +117,8 @@ Armature::JointConstraint_struct::JointConstraint_struct(SegmentMap::const_itera
values[1].id = value[1].id = ID_JOINT_RZ;
v_nr = 2;
break;
+ case Joint::None:
+ break;
}
}
@@ -734,6 +734,8 @@ bool Armature::setControlParameter(unsigned int constraintId, unsigned int value
case ACT_ALPHA:
pConstraint->values[i].alpha = value;
break;
+ default:
+ break;
}
}
} else {
@@ -755,6 +757,8 @@ bool Armature::setControlParameter(unsigned int constraintId, unsigned int value
case ACT_ALPHA:
pConstraint->values[i].alpha = value;
break;
+ case ACT_NONE:
+ break;
}
}
}
diff --git a/intern/itasc/Cache.cpp b/intern/itasc/Cache.cpp
index d61e5a9eab5..ccd9cef4655 100644
--- a/intern/itasc/Cache.cpp
+++ b/intern/itasc/Cache.cpp
@@ -7,9 +7,7 @@
#include <string.h>
#include <assert.h>
#include <math.h>
-#ifndef __STDC__
-#include <malloc.h>
-#endif
+#include <stdlib.h>
#include "Cache.hpp"
namespace iTaSC {
diff --git a/intern/itasc/ConstraintSet.cpp b/intern/itasc/ConstraintSet.cpp
index eaffc2a52f9..a38db445ea2 100644
--- a/intern/itasc/ConstraintSet.cpp
+++ b/intern/itasc/ConstraintSet.cpp
@@ -12,13 +12,13 @@ namespace iTaSC {
ConstraintSet::ConstraintSet(unsigned int _nc,double accuracy,unsigned int maximum_iterations):
m_nc(_nc),
- m_Jf(e_identity_matrix(6,6)),
m_Cf(e_zero_matrix(m_nc,6)),
- m_U(e_identity_matrix(6,6)),m_V(e_identity_matrix(6,6)),m_B(e_zero_matrix(6,6)),
- m_Jf_inv(e_zero_matrix(6,6)),
m_Wy(e_scalar_vector(m_nc,1.0)),
- m_chi(e_zero_vector(6)),m_y(m_nc),m_ydot(e_zero_vector(m_nc)),
+ m_y(m_nc),m_ydot(e_zero_vector(m_nc)),m_chi(e_zero_vector(6)),
m_S(6),m_temp(6),m_tdelta(6),
+ m_Jf(e_identity_matrix(6,6)),
+ m_U(e_identity_matrix(6,6)),m_V(e_identity_matrix(6,6)),m_B(e_zero_matrix(6,6)),
+ m_Jf_inv(e_zero_matrix(6,6)),
m_internalPose(F_identity), m_externalPose(F_identity),
m_constraintCallback(NULL), m_constraintParam(NULL),
m_toggle(false),m_substep(false),
diff --git a/intern/itasc/CopyPose.cpp b/intern/itasc/CopyPose.cpp
index 7977089d280..69722909ed1 100644
--- a/intern/itasc/CopyPose.cpp
+++ b/intern/itasc/CopyPose.cpp
@@ -21,7 +21,7 @@ CopyPose::CopyPose(unsigned int control_output, unsigned int dynamic_output, dou
{
m_maxerror = armlength/2.0;
m_outputControl = (control_output & CTL_ALL);
- int _nc = nBitsOn(m_outputControl);
+ unsigned int _nc = nBitsOn(m_outputControl);
if (!_nc)
return;
// reset the constraint set
@@ -284,7 +284,7 @@ void CopyPose::updateJacobian()
void CopyPose::updateState(ConstraintValues* _values, ControlState* _state, unsigned int mask, double timestep)
{
- int id = (mask == CTL_ROTATIONX) ? ID_ROTATIONX : ID_POSITIONX;
+ unsigned int id = (mask == CTL_ROTATIONX) ? ID_ROTATIONX : ID_POSITIONX;
ControlState::ControlValue* _yval;
ConstraintSingleValue* _data;
int i, j, k;
diff --git a/intern/itasc/WSDLSSolver.hpp b/intern/itasc/WSDLSSolver.hpp
index 90f89f4e853..1341cf2af66 100644
--- a/intern/itasc/WSDLSSolver.hpp
+++ b/intern/itasc/WSDLSSolver.hpp
@@ -31,6 +31,8 @@ public:
case DLS_QMAX:
m_qmax = value;
break;
+ default:
+ break;
}
}
};
diff --git a/intern/itasc/kdl/jacobian.cpp b/intern/itasc/kdl/jacobian.cpp
index 4166a341fe7..f8f46b32619 100644
--- a/intern/itasc/kdl/jacobian.cpp
+++ b/intern/itasc/kdl/jacobian.cpp
@@ -55,13 +55,13 @@ namespace KDL
double Jacobian::operator()(int i,int j)const
{
- assert(i<6*nr_blocks&&j<size);
+ assert(i<6*(int)nr_blocks&&j<(int)size);
return twists[j+6*(int)(floor((double)i/6))](i%6);
}
double& Jacobian::operator()(int i,int j)
{
- assert(i<6*nr_blocks&&j<size);
+ assert(i<6*(int)nr_blocks&&j<(int)size);
return twists[j+6*(int)(floor((double)i/6))](i%6);
}
diff --git a/intern/itasc/kdl/treefksolverpos_recursive.cpp b/intern/itasc/kdl/treefksolverpos_recursive.cpp
index 8c54906dcf4..f9dcb336d5d 100644
--- a/intern/itasc/kdl/treefksolverpos_recursive.cpp
+++ b/intern/itasc/kdl/treefksolverpos_recursive.cpp
@@ -42,7 +42,6 @@ namespace KDL {
else if(baseit == tree.getSegments().end()) //if the base segment name is not found
return -3;
else{
- const TreeElement& currentElement = it->second;
p_out = recursiveFk(q_in, it, baseit);
return 0;
}
diff --git a/source/blender/ikplugin/intern/ikplugin_api.c b/source/blender/ikplugin/intern/ikplugin_api.c
index 714843fc5e5..f106302dbaf 100644
--- a/source/blender/ikplugin/intern/ikplugin_api.c
+++ b/source/blender/ikplugin/intern/ikplugin_api.c
@@ -72,8 +72,6 @@ static IKPlugin ikplugin_tab[BIK_SOLVER_COUNT] = {
static IKPlugin *get_plugin(bPose *pose)
{
- IKPlugin *plugin;
-
if (!pose || pose->iksolver < 0 || pose->iksolver >= BIK_SOLVER_COUNT)
return NULL;
diff --git a/source/blender/ikplugin/intern/itasc_plugin.cpp b/source/blender/ikplugin/intern/itasc_plugin.cpp
index b6278e40ea5..4aebda1347c 100644
--- a/source/blender/ikplugin/intern/itasc_plugin.cpp
+++ b/source/blender/ikplugin/intern/itasc_plugin.cpp
@@ -354,7 +354,7 @@ static int initialize_chain(Object *ob, bPoseChannel *pchan_tip, bConstraint *co
static bool is_cartesian_constraint(bConstraint *con)
{
- bKinematicConstraint* data=(bKinematicConstraint*)con->data;
+ //bKinematicConstraint* data=(bKinematicConstraint*)con->data;
return true;
}
@@ -379,12 +379,8 @@ static bool constraint_valid(bConstraint *con)
int initialize_scene(Object *ob, bPoseChannel *pchan_tip)
{
- bPoseChannel *curchan, *pchan_root=NULL, *chanlist[256], **oldchan;
- PoseTree *tree;
- PoseTarget *target;
bConstraint *con;
- bKinematicConstraint *data;
- int a, segcount= 0, size, newsize, *oldparent, parent, rootbone, treecount;
+ int treecount;
/* find all IK constraints and validate them */
treecount = 0;
@@ -456,6 +452,7 @@ static void RemoveEulerAngleFromMatrix(KDL::Rotation& R, double angle, int axis)
R = R*T;
}
+#if 0
static void GetEulerXZY(const KDL::Rotation& R, double& X,double& Z,double& Y)
{
if (fabs(R(0,1)) > 1.0 - KDL::epsilon ) {
@@ -481,6 +478,7 @@ static void GetEulerXYZ(const KDL::Rotation& R, double& X,double& Y,double& Z)
Z = KDL::atan2(-R(0,1), R(0,0));
}
}
+#endif
static void GetJointRotation(KDL::Rotation& boneRot, int type, double* rot)
{
@@ -660,9 +658,6 @@ static bool copypose_callback(const iTaSC::Timestamp& timestamp, iTaSC::Constrai
bKinematicConstraint *condata = (bKinematicConstraint *)iktarget->blenderConstraint->data;
iTaSC::ConstraintValues* values = _values;
bItasc* ikparam = (bItasc*) iktarget->owner->pose->ikparam;
- iTaSC::ConstraintSingleValue* value;
- double error;
- int i;
// we need default parameters
if (!ikparam)
@@ -839,7 +834,7 @@ static bool joint_callback(const iTaSC::Timestamp& timestamp, iTaSC::ConstraintV
break;
}
if (dof >= 0) {
- for (int i=0; i<_nvalues; i++, dof++) {
+ for (unsigned int i=0; i<_nvalues; i++, dof++) {
_values[i].values[0].yd = ikchan->jointValue[dof];
_values[i].alpha = chan->ikrotweight;
_values[i].feedback = ikparam->feedback;
@@ -853,7 +848,6 @@ static int convert_channels(IK_Scene *ikscene, PoseTree *tree)
{
IK_Channel *ikchan;
bPoseChannel *pchan;
- PoseTarget* target;
Bone *bone;
int a, flag, njoint;
@@ -1046,11 +1040,11 @@ static IK_Scene* convert_tree(Scene *blscene, Object *ob, bPoseChannel *pchan)
KDL::Frame initPose;
KDL::Rotation boneRot;
Bone *bone;
- int a, t, numtarget;
+ int a, numtarget;
+ unsigned int t;
float length;
bool ret = true, ingame;
double *rot;
- double lmin[3], lmax[3];
if (tree->totchannel == 0)
return NULL;
@@ -1105,7 +1099,6 @@ static IK_Scene* convert_tree(Scene *blscene, Object *ob, bPoseChannel *pchan)
double weight[3];
// assume uniform scaling and take Y scale as general scale for the armature
float scale = VecLength(ob->obmat[1]);
- double X, Y, Z;
// build the array of joints corresponding to the IK chain
convert_channels(ikscene, tree);
if (ingame) {
@@ -1366,8 +1359,8 @@ static IK_Scene* convert_tree(Scene *blscene, Object *ob, bPoseChannel *pchan)
}
// set the weight
e_matrix& Wq = arm->getWq();
- assert(Wq.cols() == weights.size());
- for (unsigned int q=0; q<Wq.cols(); q++)
+ assert(Wq.cols() == (int)weights.size());
+ for (int q=0; q<Wq.cols(); q++)
Wq(q,q)=weights[q];
// get the inverse rest pose frame of the base to compute relative rest pose of end effectors
// this is needed to handle the enforce parameter
@@ -1492,8 +1485,6 @@ static void create_scene(Scene *scene, Object *ob)
static void init_scene(Object *ob)
{
- bPoseChannel *pchan;
-
if (ob->pose->ikdata) {
for(IK_Scene* scene = ((IK_Data*)ob->pose->ikdata)->first;
scene != NULL;
@@ -1559,7 +1550,7 @@ static void execute_scene(Scene* blscene, IK_Scene* ikscene, bItasc* ikparam, fl
}
if (ikscene->cache && !reiterate && simulation) {
- iTaSC::CacheTS sts, cts, dts;
+ iTaSC::CacheTS sts, cts;
sts = cts = (iTaSC::CacheTS)(timestamp*1000.0+0.5);
if (ikscene->cache->getPreviousCacheItem(ikscene->armature, 0, &cts) == NULL || cts == 0) {
// the cache is empty before this time, reiterate