private fun read_face_index_set(face: ObjFace): Bool
do
var token = read_token
var parts = token.split('/')
if parts.is_empty or parts.first.is_empty then return false
var v = new ObjVertex
for i in parts.length.times, part in parts do
part = part.trim
var n = null
if not part.is_empty and part.is_numeric then n = part.to_i
if i == 0 then
n = n or else 0 # Error if n == null
if n < 0 then n = geometry.vertex_points.length + n
v.vertex_point_index = n
else if i == 1 then
if n != null and n < 0 then n = geometry.texture_coords.length + n
v.texture_coord_index = n
else if i == 2 then
if n != null and n < 0 then n = geometry.normals.length + n
v.normal_index = n
else abort
end
face.vertices.add v
return true
end
lib/gamnit/model_parsers/obj.nit:117,2--146,4