Пример #1
0
static PyObject* pyQuat_subtract(PyObject* left, PyObject* right) {
    if (!pyQuat_Check(left) || !pyQuat_Check(right)) {
        PyErr_SetString(PyExc_TypeError, "Incompatible Types");
        return NULL;
    }
    return pyQuat_FromQuat(*((pyQuat*)left)->fThis - *((pyQuat*)right)->fThis);
}
Пример #2
0
static PyObject* pyQuat_multiply(PyObject* left, PyObject* right) {
    if (pyQuat_Check(left)) {
        if (pyQuat_Check(right)) {
            return pyQuat_FromQuat(*((pyQuat*)left)->fThis * *((pyQuat*)right)->fThis);
        } else if (PyFloat_Check(right)) {
            return pyQuat_FromQuat(*((pyQuat*)left)->fThis * PyFloat_AsDouble(right));
        } else {
            PyErr_SetString(PyExc_TypeError, "Incompatible Types");
            return NULL;
        }
    } else if (pyQuat_Check(right)) {
        if (PyFloat_Check(left)) {
            return pyQuat_FromQuat(*((pyQuat*)right)->fThis * PyFloat_AsDouble(left));
        } else {
            PyErr_SetString(PyExc_TypeError, "Incompatible Types");
            return NULL;
        }
    } else {
        PyErr_SetString(PyExc_TypeError, "This should not happen");
        return NULL;
    }
}
Пример #3
0
 static PyObject* pyQuatChannel_getResult(pyQuatChannel* self, void*) {
     return pyQuat_FromQuat(self->fThis->getResult());
 }
 static PyObject* pyCompressedQuatKey64_getValue(pyCompressedQuatKey64* self, void*) {
     return pyQuat_FromQuat(self->fThis->getQuat());
 }
Пример #5
0
static PyObject* pyQuatKey_getValue(pyQuatKey* self, void*) {
    return pyQuat_FromQuat(self->fThis->fValue);
}
Пример #6
0
static PyObject* pyGenericPhysical_getRot(pyGenericPhysical* self, void*) {
    return pyQuat_FromQuat(self->fThis->getRot());
}
Пример #7
0
static PyObject* pyScaleKey_getValue(pyScaleKey* self, void*) {
    return Py_BuildValue("OO",
                         pyVector3_FromVector3(self->fThis->fS),
                         pyQuat_FromQuat(self->fThis->fQ));
}
Пример #8
0
static PyObject* pyQuat_conjugate(pyQuat* self) {
    return pyQuat_FromQuat(self->fThis->conjugate());
}
Пример #9
0
static PyObject* pyQuat_Identity(PyObject*) {
    return pyQuat_FromQuat(hsQuat::Identity());
}
Пример #10
0
static PyObject* pyQuat_absolute(pyQuat* self) {
    return pyQuat_FromQuat(hsQuat(fabs(self->fThis->X),
                                  fabs(self->fThis->Y),
                                  fabs(self->fThis->Z),
                                  fabs(self->fThis->W)));
}
Пример #11
0
static PyObject* pyQuat_positive(pyQuat* self) {
    return pyQuat_FromQuat(hsQuat(+(self->fThis->X), +(self->fThis->Y),
                                  +(self->fThis->Z), +(self->fThis->W)));
}
Пример #12
0
static PyObject* pyQuat_negative(pyQuat* self) {
    return pyQuat_FromQuat(hsQuat(-(self->fThis->X), -(self->fThis->Y),
                                  -(self->fThis->Z), -(self->fThis->W)));
}
Пример #13
0
static PyObject* pyAffineParts_getU(pyAffineParts* self, void*) {
    return pyQuat_FromQuat(self->fThis->fU);
}