package Ġass imp Ċ Ċ object ĠProcess Helper Ġ{ ĊĊĠĠĠ Ġfun Ġget Mesh V Format Unique ( pc Mesh : ĠA i Mesh ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ass imp . ai _ assert ( pc Mesh Ġ!= Ġ 0 ); ĊĊĠĠĠĠĠĠĠ Ġ// ĠFIX : Ġthe Ġhash Ġmay Ġnever Ġbe Ġ 0 . ĠOtherwise Ġa Ġcomparison Ġagainst ĊĠĠĠĠĠĠĠ Ġ// Ġnullptr Ġcould Ġbe Ġsuccessful ĊĠĠĠĠĠĠĠ Ġvar Ġi Ret Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġ// Ġnormals ĊĠĠĠĠĠĠĠ Ġif Ġ( pc Mesh . has Normals ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ret Ġ= Ġi Ret Ġor Ġ 0 x 2 ĊĠĠĠĠĠĠĠ Ġ// Ġtang ents Ġand Ġbit ang ents ĊĠĠĠĠĠĠĠ Ġif Ġ( pc Mesh . has Tang ents And Bit ang ents ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ret Ġ= Ġi Ret Ġor Ġ 0 x 4 ĊĊĠĠĠĠĠĠĠ Ġ// Ġtexture Ġcoordinates ĊĠĠĠĠĠĠĠ Ġvar Ġp Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( pc Mesh . has Texture Coords ( p )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ret Ġ= Ġi Ret Ġor Ġ( 0 x 1 0 0 Ġshl Ġp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// if Ġ( 3 Ġ== Ġpc Mesh . m Num UV Components [ p ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// i Ret Ġ= Ġi Ret Ġor Ġ( 0 x 1 0 0 0 0 Ġshl Ġp ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ++ p ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġvertex Ġcolors ĊĠĠĠĠĠĠĠ Ġp Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( pc Mesh . has Vertex Colors ( p )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ret Ġ= Ġi Ret Ġor Ġ( 0 x 1 0 0 0 0 0 0 Ġshl Ġp ++) ĊĠĠĠĠĠĠĠ Ġreturn Ġi Ret ĊĠĠĠ Ġ} Ċ }