22 HomCoord
HomCoord::unitv[3] = { HomCoord( 1, 0, 0 ), HomCoord( 0, 1, 0 ), HomCoord( 0, 0, 1 ) };
30 int dum[] = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 };
65 if( p1 == q1 && p2 == q2 && p3 == q3 )
73 assert( v1.
i() != 0 || v1.
j() != 0 || v1.
k() != 0 );
83 else if( v1.
j() == 0 )
85 else if( v1.
k() == 0 )
93 assert( v1 % v2 == 0 && v1 % v3 == 0 && v2 % v3 == 0 );
101 assert( w1.
i() != 0 || w1.
j() != 0 || w1.
k() != 0 );
111 else if( w1.
j() == 0 )
113 else if( w1.
k() == 0 )
121 assert( w1 % w2 == 0 && w1 % w3 == 0 && w2 % w3 == 0 );
130 *
this =
HomXform( v1.
i(), v2.
i(), v3.
i(), 0, v1.
j(), v2.
j(), v3.
j(), 0, v1.
k(), v2.
k(), v3.
k(), 0, 0, 0, 0, 1 );
133 *
this *=
HomXform( w1.
i(), w1.
j(), w1.
k(), 0, w2.
i(), w2.
j(), w2.
k(), 0, w3.
i(), w3.
j(), w3.
k(), 0, 0, 0, 0, 1 );
137 ( *this ).XFORM( 3, 0 ) = t.
i();
138 ( *this ).XFORM( 3, 1 ) = t.
j();
139 ( *this ).XFORM( 3, 2 ) = t.
k();
142 assert( ( q1 == p1 * *
this ) && ( q2 == p2 * *
this ) && ( q3 == p3 * *
this ) );