コード例 #1
0
static PyObject *FrsNoise_smoothNoise3(BPy_FrsNoise *self, PyObject *args, PyObject *kwds)
{
	static const char *kwlist[] = {"v", NULL};
	PyObject *obj;
	Vec3f vec;

	if (!PyArg_ParseTupleAndKeywords(args, kwds, "O", (char **)kwlist, &obj))
		return NULL;
	if (!Vec3f_ptr_from_PyObject(obj, vec)) {
		PyErr_SetString(PyExc_TypeError, "argument 1 must be a 3D vector (either a list of 3 elements or Vector)");
		return NULL;
	}
	float t = self->n->smoothNoise3(vec);
	return PyFloat_FromDouble(t);
}
コード例 #2
0
static PyObject *StrokeAttribute_set_attribute_vec3(BPy_StrokeAttribute *self, PyObject *args, PyObject *kwds)
{
	static const char *kwlist[] = {"name", "value", NULL};
	char *s;
	PyObject *obj = 0;
	Vec3f vec;

	if (!PyArg_ParseTupleAndKeywords(args, kwds, "sO", (char **)kwlist, &s, &obj))
		return NULL;
	if (!Vec3f_ptr_from_PyObject(obj, vec)) {
		PyErr_SetString(PyExc_TypeError, "argument 2 must be a 3D vector (either a list of 3 elements or Vector)");
		return NULL;
	}
	self->sa->setAttributeVec3f(s, vec);
	Py_RETURN_NONE;
}
コード例 #3
0
static PyObject *FrsNoise_turbulence3(BPy_FrsNoise *self, PyObject *args, PyObject *kwds)
{
	static const char *kwlist[] = {"v", "freq", "amp", "oct", NULL};
	PyObject *obj1;
	float f2, f3;
	unsigned int i = 4;
	Vec3f vec;

	if (!PyArg_ParseTupleAndKeywords(args, kwds, "Off|I", (char **)kwlist, &obj1, &f2, &f3, &i))
		return NULL;
	if (!Vec3f_ptr_from_PyObject(obj1, vec)) {
		PyErr_SetString(PyExc_TypeError, "argument 1 must be a 3D vector (either a list of 3 elements or Vector)");
		return NULL;
	}
	float t = self->n->turbulence3(vec, f2, f3, i);
	return PyFloat_FromDouble(t);
}