1 # \$Id\$
2 # Documentation for the vertex proxy class
4 class KX_VertexProxy:
5         """
6         A vertex holds position, UV, colour and normal information.
8         Note:
9         The physics simulation is NOT currently updated - physics will not respond
10         to changes in the vertex position.
12         @ivar XYZ: The position of the vertex.
13         @type XYZ: list [x, y, z]
14         @ivar UV: The texture coordinates of the vertex.
15         @type UV: list [u, v]
16         @ivar normal: The normal of the vertex
17         @type normal: list [nx, ny, nz]
18         @ivar colour: The colour of the vertex.
19                       Black = [0.0, 0.0, 0.0, 1.0], White = [1.0, 1.0, 1.0, 1.0]
20         @type colour: list [r, g, b, a]
21         @ivar color: Synonym for colour.
23         @group Position: x, y, z
24         @ivar x: The x coordinate of the vertex.
25         @type x: float
26         @ivar y: The y coordinate of the vertex.
27         @type y: float
28         @ivar z: The z coordinate of the vertex.
29         @type z: float
31         @group Texture Coordinates: u, v
32         @ivar u: The u texture coordinate of the vertex.
33         @type u: float
34         @ivar v: The v texture coordinate of the vertex.
35         @type v: float
37         @group Colour: r, g, b, a
38         @ivar r: The red component of the vertex colour.   0.0 <= r <= 1.0
39         @type r: float
40         @ivar g: The green component of the vertex colour. 0.0 <= g <= 1.0
41         @type g: float
42         @ivar b: The blue component of the vertex colour.  0.0 <= b <= 1.0
43         @type b: float
44         @ivar a: The alpha component of the vertex colour. 0.0 <= a <= 1.0
45         @type a: float
46         """
48         def getXYZ():
49                 """
50                 Gets the position of this vertex.
52                 @rtype: list [x, y, z]
53                 @return: this vertexes position in local coordinates.
54                 """
55         def setXYZ(pos):
56                 """
57                 Sets the position of this vertex.
59                 @type pos: list [x, y, z]
60                 @param pos: the new position for this vertex in local coordinates.
61                 """
62         def getUV():
63                 """
64                 Gets the UV (texture) coordinates of this vertex.
66                 @rtype: list [u, v]
67                 @return: this vertexes UV (texture) coordinates.
68                 """
69         def setUV(uv):
70                 """
71                 Sets the UV (texture) coordinates of this vertex.
73                 @type uv: list [u, v]
74                 """
75         def getRGBA():
76                 """
77                 Gets the colour of this vertex.
79                 Example:
80                 # Big endian:
81                 col = v.getRGBA()
82                 red = (col & 0xff000000) >> 24
83                 green = (col & 0xff0000) >> 16
84                 blue = (col & 0xff00) >> 8
85                 alpha = (col & 0xff)
87                 # Little endian:
88                 col = v.getRGBA()
89                 alpha = (col & 0xff000000) >> 24
90                 blue = (col & 0xff0000) >> 16
91                 green = (col & 0xff00) >> 8
92                 red = (col & 0xff)
94                 @rtype: integer
95                 @return: packed colour. 4 byte integer with one byte per colour channel in RGBA format.
96                 """
97         def setRGBA(col):
98                 """
99                 Sets the colour of this vertex.
101                 @type col: integer
102                 @param col: the new colour of this vertex in packed format.
103                 """
104         def getNormal():
105                 """
106                 Gets the normal vector of this vertex.
108                 @rtype: list [nx, ny, nz]
109                 @return: normalised normal vector.
110                 """