More use of ::From functions to simplify code.
[git-p4: depot-paths = "//depot/solvespace/": change = 1764]
This commit is contained in:
parent
04af0944bc
commit
857395966a
31
entity.cpp
31
entity.cpp
|
@ -298,10 +298,7 @@ ExprQuaternion Entity::NormalGetExprs(void) {
|
||||||
ExprQuaternion q;
|
ExprQuaternion q;
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case NORMAL_IN_3D:
|
case NORMAL_IN_3D:
|
||||||
q.w = Expr::From(param[0]);
|
q = ExprQuaternion::From(param[0], param[1], param[2], param[3]);
|
||||||
q.vx = Expr::From(param[1]);
|
|
||||||
q.vy = Expr::From(param[2]);
|
|
||||||
q.vz = Expr::From(param[3]);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NORMAL_IN_2D: {
|
case NORMAL_IN_2D: {
|
||||||
|
@ -316,11 +313,7 @@ ExprQuaternion Entity::NormalGetExprs(void) {
|
||||||
|
|
||||||
case NORMAL_N_ROT: {
|
case NORMAL_N_ROT: {
|
||||||
ExprQuaternion orig = ExprQuaternion::From(numNormal);
|
ExprQuaternion orig = ExprQuaternion::From(numNormal);
|
||||||
|
q = ExprQuaternion::From(param[0], param[1], param[2], param[3]);
|
||||||
q.w = Expr::From(param[0]);
|
|
||||||
q.vx = Expr::From(param[1]);
|
|
||||||
q.vy = Expr::From(param[2]);
|
|
||||||
q.vz = Expr::From(param[3]);
|
|
||||||
|
|
||||||
q = q.Times(orig);
|
q = q.Times(orig);
|
||||||
break;
|
break;
|
||||||
|
@ -491,26 +484,16 @@ ExprVector Entity::PointGetExprs(void) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case POINT_N_TRANS: {
|
case POINT_N_TRANS: {
|
||||||
ExprVector orig = {
|
ExprVector orig = ExprVector::From(numPoint);
|
||||||
Expr::From(numPoint.x),
|
ExprVector trans = ExprVector::From(param[0], param[1], param[2]);
|
||||||
Expr::From(numPoint.y),
|
|
||||||
Expr::From(numPoint.z) };
|
|
||||||
ExprVector trans;
|
|
||||||
trans.x = Expr::From(param[0]);
|
|
||||||
trans.y = Expr::From(param[1]);
|
|
||||||
trans.z = Expr::From(param[2]);
|
|
||||||
r = orig.Plus(trans.ScaledBy(Expr::From(timesApplied)));
|
r = orig.Plus(trans.ScaledBy(Expr::From(timesApplied)));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case POINT_N_ROT_TRANS: {
|
case POINT_N_ROT_TRANS: {
|
||||||
ExprVector orig = ExprVector::From(numPoint);
|
ExprVector orig = ExprVector::From(numPoint);
|
||||||
ExprVector trans =
|
ExprVector trans = ExprVector::From(param[0], param[1], param[2]);
|
||||||
ExprVector::From(param[0], param[1], param[2]);
|
ExprQuaternion q =
|
||||||
ExprQuaternion q = {
|
ExprQuaternion::From(param[3], param[4], param[5], param[6]);
|
||||||
Expr::From(param[3]),
|
|
||||||
Expr::From(param[4]),
|
|
||||||
Expr::From(param[5]),
|
|
||||||
Expr::From(param[6]) };
|
|
||||||
orig = q.Rotate(orig);
|
orig = q.Rotate(orig);
|
||||||
r = orig.Plus(trans);
|
r = orig.Plus(trans);
|
||||||
break;
|
break;
|
||||||
|
|
9
expr.cpp
9
expr.cpp
|
@ -77,6 +77,15 @@ Vector ExprVector::Eval(void) {
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ExprQuaternion ExprQuaternion::From(hParam w, hParam vx, hParam vy, hParam vz) {
|
||||||
|
ExprQuaternion q;
|
||||||
|
q.w = Expr::From(w);
|
||||||
|
q.vx = Expr::From(vx);
|
||||||
|
q.vy = Expr::From(vy);
|
||||||
|
q.vz = Expr::From(vz);
|
||||||
|
return q;
|
||||||
|
}
|
||||||
|
|
||||||
ExprQuaternion ExprQuaternion::From(Expr *w, Expr *vx, Expr *vy, Expr *vz)
|
ExprQuaternion ExprQuaternion::From(Expr *w, Expr *vx, Expr *vy, Expr *vz)
|
||||||
{
|
{
|
||||||
ExprQuaternion q;
|
ExprQuaternion q;
|
||||||
|
|
1
expr.h
1
expr.h
|
@ -142,6 +142,7 @@ public:
|
||||||
|
|
||||||
static ExprQuaternion From(Expr *w, Expr *vx, Expr *vy, Expr *vz);
|
static ExprQuaternion From(Expr *w, Expr *vx, Expr *vy, Expr *vz);
|
||||||
static ExprQuaternion From(Quaternion qn);
|
static ExprQuaternion From(Quaternion qn);
|
||||||
|
static ExprQuaternion From(hParam w, hParam vx, hParam vy, hParam vz);
|
||||||
|
|
||||||
ExprVector RotationU(void);
|
ExprVector RotationU(void);
|
||||||
ExprVector RotationV(void);
|
ExprVector RotationV(void);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user