| 186 | } |
| 187 | |
| 188 | __noinline void init(const CatmullClarkPatch& patch) |
| 189 | { |
| 190 | assert( patch.ring[0].hasValidPositions() ); |
| 191 | assert( patch.ring[1].hasValidPositions() ); |
| 192 | assert( patch.ring[2].hasValidPositions() ); |
| 193 | assert( patch.ring[3].hasValidPositions() ); |
| 194 | |
| 195 | p0() = initCornerVertex(patch,0); |
| 196 | p1() = initCornerVertex(patch,1); |
| 197 | p2() = initCornerVertex(patch,2); |
| 198 | p3() = initCornerVertex(patch,3); |
| 199 | |
| 200 | e0_p() = initPositiveEdgeVertex(patch,0, p0()); |
| 201 | e1_p() = initPositiveEdgeVertex(patch,1, p1()); |
| 202 | e2_p() = initPositiveEdgeVertex(patch,2, p2()); |
| 203 | e3_p() = initPositiveEdgeVertex(patch,3, p3()); |
| 204 | |
| 205 | e0_m() = initNegativeEdgeVertex(patch,0, p0()); |
| 206 | e1_m() = initNegativeEdgeVertex(patch,1, p1()); |
| 207 | e2_m() = initNegativeEdgeVertex(patch,2, p2()); |
| 208 | e3_m() = initNegativeEdgeVertex(patch,3, p3()); |
| 209 | |
| 210 | const unsigned int face_valence_p0 = patch.ring[0].face_valence; |
| 211 | const unsigned int face_valence_p1 = patch.ring[1].face_valence; |
| 212 | const unsigned int face_valence_p2 = patch.ring[2].face_valence; |
| 213 | const unsigned int face_valence_p3 = patch.ring[3].face_valence; |
| 214 | |
| 215 | initFaceVertex(patch,0,p0(),e0_p(),e1_m(),face_valence_p1,e0_m(),e3_p(),face_valence_p3,f0_p(),f0_m() ); |
| 216 | initFaceVertex(patch,1,p1(),e1_p(),e2_m(),face_valence_p2,e1_m(),e0_p(),face_valence_p0,f1_p(),f1_m() ); |
| 217 | initFaceVertex(patch,2,p2(),e2_p(),e3_m(),face_valence_p3,e2_m(),e1_p(),face_valence_p1,f2_p(),f2_m() ); |
| 218 | initFaceVertex(patch,3,p3(),e3_p(),e0_m(),face_valence_p0,e3_m(),e2_p(),face_valence_p3,f3_p(),f3_m() ); |
| 219 | |
| 220 | } |
| 221 | |
| 222 | __noinline void init_crackfix(const CatmullClarkPatch& patch, |
| 223 | const BezierCurve* border0, |
no test coverage detected