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:
-rw-r--r--doc/python_api/rst/bge_types/bge.types.KX_VertexProxy.rst28
-rw-r--r--source/gameengine/Ketsji/KX_VertexProxy.cpp41
-rw-r--r--source/gameengine/Ketsji/KX_VertexProxy.h6
3 files changed, 20 insertions, 55 deletions
diff --git a/doc/python_api/rst/bge_types/bge.types.KX_VertexProxy.rst b/doc/python_api/rst/bge_types/bge.types.KX_VertexProxy.rst
index d1bd6758cbc..73d692770d6 100644
--- a/doc/python_api/rst/bge_types/bge.types.KX_VertexProxy.rst
+++ b/doc/python_api/rst/bge_types/bge.types.KX_VertexProxy.rst
@@ -25,12 +25,6 @@ base class --- :class:`SCA_IObject`
:type: Vector((u, v))
- .. attribute:: uvs
-
- A list of all the texture coordinates of the vertex.
-
- :type: list of Vector((u, v))
-
.. attribute:: normal
The normal of the vertex.
@@ -126,24 +120,18 @@ base class --- :class:`SCA_IObject`
:arg pos: the new position for this vertex in local coordinates.
- .. method:: getUV(index=0)
+ .. method:: getUV()
Gets the UV (texture) coordinates of this vertex.
- :arg index: the UV (texture) channel (optional).
- :type index: integer
-
:return: this vertexes UV (texture) coordinates.
:rtype: Vector((u, v))
- .. method:: setUV(uv, index=0)
+ .. method:: setUV(uv)
Sets the UV (texture) coordinates of this vertex.
- :arg uv: the UV (texture) coordinate of this vertex.
- :type uv: Vector((u, v))
- :arg index: the UV (texture) channel (optional).
- :type index: integer
+ :type: Vector((u, v))
.. method:: getUV2()
@@ -152,16 +140,14 @@ base class --- :class:`SCA_IObject`
:return: this vertexes UV (texture) coordinates.
:rtype: Vector((u, v))
- .. deprecated:: use :meth:`getUV`
-
- .. method:: setUV2(uv)
+ .. method:: setUV2(uv, unit)
Sets the 2nd UV (texture) coordinates of this vertex.
- :arg uv: the 2nd (texture) UV coordinate of this vertex.
- :type uv: Vector((u, v))
+ :type: Vector((u, v))
- .. deprecated:: use :meth:`setUV`
+ :arg unit: optional argument, FLAT==1, SECOND_UV==2, defaults to SECOND_UV
+ :arg unit: integer
.. method:: getRGBA()
diff --git a/source/gameengine/Ketsji/KX_VertexProxy.cpp b/source/gameengine/Ketsji/KX_VertexProxy.cpp
index 163416526f3..cd1c9eed91b 100644
--- a/source/gameengine/Ketsji/KX_VertexProxy.cpp
+++ b/source/gameengine/Ketsji/KX_VertexProxy.cpp
@@ -63,11 +63,11 @@ PyTypeObject KX_VertexProxy::Type = {
PyMethodDef KX_VertexProxy::Methods[] = {
{"getXYZ", (PyCFunction)KX_VertexProxy::sPyGetXYZ,METH_NOARGS},
{"setXYZ", (PyCFunction)KX_VertexProxy::sPySetXYZ,METH_O},
- {"getUV", (PyCFunction)KX_VertexProxy::sPyGetUV, METH_VARARGS},
- {"setUV", (PyCFunction)KX_VertexProxy::sPySetUV, METH_VARARGS},
+ {"getUV", (PyCFunction)KX_VertexProxy::sPyGetUV1, METH_NOARGS},
+ {"setUV", (PyCFunction)KX_VertexProxy::sPySetUV1, METH_O},
{"getUV2", (PyCFunction)KX_VertexProxy::sPyGetUV2,METH_NOARGS},
- {"setUV2", (PyCFunction)KX_VertexProxy::sPySetUV2, METH_O},
+ {"setUV2", (PyCFunction)KX_VertexProxy::sPySetUV2,METH_VARARGS},
{"getRGBA", (PyCFunction)KX_VertexProxy::sPyGetRGBA,METH_NOARGS},
{"setRGBA", (PyCFunction)KX_VertexProxy::sPySetRGBA,METH_O},
@@ -423,6 +423,7 @@ int KX_VertexProxy::pyattr_set_uvs(void *self_v, const struct KX_PYATTRIBUTE_DEF
if (PyVecTo(PySequence_GetItem(value, i), vec))
{
self->m_vertex->SetUV(i, vec);
+ self->m_mesh->SetMeshModified(true);
}
else
{
@@ -558,45 +559,25 @@ PyObject *KX_VertexProxy::PySetRGBA(PyObject *value)
return NULL;
}
-PyObject *KX_VertexProxy::PyGetUV(PyObject *args)
-{
- int index = 0;
- if (!PyArg_ParseTuple(args, "|i:getUV", &index))
- return NULL;
- if (index < 0 || index > (RAS_TexVert::MAX_UNIT - 1)) {
- PyErr_Format(PyExc_TypeError, "vert.getUV(index): KX_VertexProxy, expected an int between 0 and %i", (RAS_TexVert::MAX_UNIT - 1));
- return NULL;
- }
-
- return PyObjectFrom(MT_Vector2(m_vertex->getUV(index)));
+PyObject *KX_VertexProxy::PyGetUV1()
+{
+ return PyObjectFrom(MT_Vector2(m_vertex->getUV(0)));
}
-PyObject *KX_VertexProxy::PySetUV(PyObject *args)
+PyObject *KX_VertexProxy::PySetUV1(PyObject *value)
{
- PyObject *pyvect;
- int index = 0;
- if (!PyArg_ParseTuple(args, "O|i:setUV", &pyvect, &index))
- return NULL;
-
- if (index < 0 || index > (RAS_TexVert::MAX_UNIT - 1)) {
- PyErr_Format(PyExc_TypeError, "vert.setUV(uv, index): KX_VertexProxy, expected an int between 0 and %i", (RAS_TexVert::MAX_UNIT - 1));
- return NULL;
- }
-
MT_Point2 vec;
- if (!PyVecTo(pyvect, vec))
+ if (!PyVecTo(value, vec))
return NULL;
- m_vertex->SetUV(index, vec);
+ m_vertex->SetUV(0, vec);
m_mesh->SetMeshModified(true);
Py_RETURN_NONE;
}
PyObject *KX_VertexProxy::PyGetUV2()
{
- ShowDeprecationWarning("getUV2()", "getUV(1)");
-
return PyObjectFrom(MT_Vector2(m_vertex->getUV(1)));
}
@@ -606,8 +587,6 @@ PyObject *KX_VertexProxy::PySetUV2(PyObject *args)
if (!PyVecTo(args, vec))
return NULL;
- ShowDeprecationWarning("setUV2(uv)", "setUV(uv, 1)");
-
m_vertex->SetUV(1, vec);
m_mesh->SetMeshModified(true);
Py_RETURN_NONE;
diff --git a/source/gameengine/Ketsji/KX_VertexProxy.h b/source/gameengine/Ketsji/KX_VertexProxy.h
index 91cf29deca1..8070825ad11 100644
--- a/source/gameengine/Ketsji/KX_VertexProxy.h
+++ b/source/gameengine/Ketsji/KX_VertexProxy.h
@@ -94,11 +94,11 @@ public:
KX_PYMETHOD_NOARGS(KX_VertexProxy,GetXYZ);
KX_PYMETHOD_O(KX_VertexProxy,SetXYZ);
- KX_PYMETHOD_VARARGS(KX_VertexProxy, GetUV);
- KX_PYMETHOD_VARARGS(KX_VertexProxy, SetUV);
+ KX_PYMETHOD_NOARGS(KX_VertexProxy,GetUV1);
+ KX_PYMETHOD_O(KX_VertexProxy,SetUV1);
KX_PYMETHOD_NOARGS(KX_VertexProxy,GetUV2);
- KX_PYMETHOD_O(KX_VertexProxy, SetUV2);
+ KX_PYMETHOD_VARARGS(KX_VertexProxy,SetUV2);
KX_PYMETHOD_NOARGS(KX_VertexProxy,GetRGBA);
KX_PYMETHOD_O(KX_VertexProxy,SetRGBA);