def animbisectcrv2( crv1, crv2, data, cntr ): irit.color( crv1, irit.YELLOW ) irit.color( crv2, irit.YELLOW ) irit.adwidth( crv1, 4 ) irit.adwidth( crv2, 4 ) i = 0 while ( i <= irit.SizeOf( cntr ) - 1 ): pt = irit.coord( cntr, i ) pt1 = irit.ceval( crv1, irit.FetchRealObject(irit.coord( pt, 0 ) )) pt2 = irit.ceval( crv2, irit.FetchRealObject(irit.coord( pt, 1 ) )) nrml1 = cnormalplnr( crv1, irit.coord( pt, 0 ) ) nrml2 = cnormalplnr( crv2, irit.coord( pt, 1 ) ) aaa = irit.ptslnln( irit.Fetch3TupleObject(irit.coerce( pt1, irit.POINT_TYPE )), irit.Fetch3TupleObject(nrml1), irit.Fetch3TupleObject(irit.coerce( pt2, irit.POINT_TYPE )), irit.Fetch3TupleObject(nrml2 )) if (irit.IsNullObject(aaa)): interpt = irit.GenNullObject(); else: interpt = irit.nth( aaa, 1 ) if ( irit.ThisObject(interpt) == irit.POINT_TYPE ): irit.color( pt1, irit.GREEN ) irit.color( pt2, irit.GREEN ) irit.color( interpt, irit.WHITE ) bisectlns = irit.coerce( pt1, irit.E2 ) + irit.coerce( interpt, irit.E2 ) + irit.coerce( pt2, irit.E2 ) irit.color( bisectlns, irit.MAGENTA ) if ( irit.FetchRealObject(irit.coord( interpt, 1 )) < 10 and \ irit.FetchRealObject(irit.coord( interpt, 1 )) > (-10 ) and \ irit.FetchRealObject(irit.coord( interpt, 2 )) < 10 and \ irit.FetchRealObject(irit.coord( interpt, 2 )) > (-10 ) ): irit.view( irit.list( crv1, crv2, data, pt1, pt2, interpt, \ bisectlns ), irit.ON ) i = i + 1
def getbisectpt( crv1, crv2, pt ): pt1 = irit.ceval( crv1, irit.FetchRealObject(irit.coord( pt, 0 ) )) pt2 = irit.ceval( crv2, irit.FetchRealObject(irit.coord( pt, 1 ) )) nrml1 = irit.cnormalplnr( crv1, irit.FetchRealObject(irit.coord( pt, 0 ) )) nrml2 = irit.cnormalplnr( crv2, irit.FetchRealObject(irit.coord( pt, 1 ) )) interpts = irit.ptslnln( irit.coerce( pt1, irit.POINT_TYPE ), nrml1, irit.coerce( pt2, irit.POINT_TYPE ), nrml2 ) retval = irit.nth( interpts, 1 ) return retval
def getbisectcrv( crv1, crv2, cntr ): ptlist = irit.nil( ) i = 0 while ( i <= irit.SizeOf( cntr ) - 1 ): pt = irit.coord( cntr, i ) pt1 = irit.ceval( crv1, irit.coord( pt, 0 ) ) pt2 = irit.ceval( crv2, irit.coord( pt, 1 ) ) nrml1 = irit.cnormalplnr( crv1, irit.coord( pt, 0 ) ) nrml2 = irit.cnormalplnr( crv2, irit.coord( pt, 1 ) ) interpts = irit.ptslnln( irit.coerce( pt1, irit.POINT_TYPE ), nrml1, irit.coerce( pt2, irit.POINT_TYPE ), nrml2 ) irit.snoc( irit.nth( interpts, 1 ), ptlist ) i = i + 1 retval = irit.cbspline( 2, ptlist, irit.list( irit.KV_OPEN ) ) return retval
def animbisectcrv( crv1, crv2, data, cntr ): irit.color( crv1, irit.YELLOW ) irit.color( crv2, irit.YELLOW ) irit.adwidth( crv1, 4 ) irit.adwidth( crv2, 4 ) i = 0 while ( i <= irit.SizeOf( cntr ) - 1 ): pt = irit.coord( cntr, i ) pt1 = irit.ceval( crv1, irit.coord( pt, 0 ) ) pt2 = irit.ceval( crv2, irit.coord( pt, 1 ) ) nrml1 = irit.cnormalplnr( crv1, irit.coord( pt, 0 ) ) nrml2 = irit.cnormalplnr( crv2, irit.coord( pt, 1 ) ) interpt = irit.nth( irit.ptslnln( irit.coerce( pt1, irit.POINT_TYPE ), nrml1, irit.coerce( pt2, irit.POINT_TYPE ), nrml2 ), 1 ) if ( irit.ThisObject(interpt) == irit.POINT_TYPE ): irit.color( pt1, irit.GREEN ) irit.color( pt2, irit.GREEN ) irit.color( interpt, irit.WHITE ) irit.view( irit.list( crv1, crv2, pt1, pt2, data, interpt ), irit.ON ) i = i + 1
def getbisectlines( crv1, crv2, cntr, n, start, end ): if ( start == (-1 ) ): start = 0 if ( end == (-1 ) ): end = irit.SizeOf( cntr ) - 1 retval = irit.nil( ) ii = start while ( ii <= end ): i = irit.floor( ii ) pt = irit.coord( cntr, i ) pt1 = irit.ceval( crv1, irit.coord( pt, 0 ) ) pt2 = irit.ceval( crv2, irit.coord( pt, 1 ) ) nrml1 = irit.cnormalplnr( crv1, irit.coord( pt, 0 ) ) nrml2 = irit.cnormalplnr( crv2, irit.coord( pt, 1 ) ) interpts = irit.ptslnln( irit.coerce( pt1, irit.POINT_TYPE ), nrml1, irit.coerce( pt2, irit.POINT_TYPE ), nrml2 ) irit.snoc( irit.coerce( pt1, irit.E2 ) + irit.coerce( irit.nth( interpts, 1 ), irit.E2 ) + irit.coerce( pt2, irit.E2 ), retval ) ii = ii + ( end - start - 1 )/n - 1e-005 irit.color( retval, irit.CYAN ) irit.awidth( retval, 0.0001 ) return retval
aaa = irit.Fetch4TupleObject(pl1) results = irit.list( irit.dstptln( ( 0, 0, 0 ), ( 1, 0, 0 ), ( 1, 1, 0 ) ), \ irit.dstptln( ( 0, 0, 0 ), ( 1, 0, 0 ), ( 1, 1, 1 ) ), \ irit.dstptpln( ( 0, 0, 0 ), aaa ), \ irit.dstptpln( ( 1, 2, 3 ), aaa ), \ irit.dstlnln( ( 1, 0, 0 ), ( 1, 1, 0 ), ( 0, 1, 0 ), ( 1, 1, 0 ) ), \ irit.dstlnln( ( 1, 0, 0 ), ( 0, 1, 0 ), ( 0, 1, 0 ), ( 1, 0, 0 ) ), \ irit.dstlnln( ( 1, 0, 0 ), ( 0, 1, 1 ), ( 0, 1, 0 ), ( 1, 0, 0 ) ), \ irit.pln3pts( ( 0, 0, 1 ), ( 1, 0, 2 ), ( 0, 1, 3 ) ), \ irit.ptptln( ( 0, 0, 0 ), ( 1, 0, 0 ), ( 1, 1, 0 ) ), \ irit.ptptln( ( 0, 0, 0 ), ( 1, 1, 0 ), ( 1, 1, 1 ) ), \ irit.ptlnpln( ( 1, 0, 1 ), ( 1, 1, 1 ), aaa ), \ irit.ptlnpln( ( 4, 5, 6 ), ( 8, 9, 10 ), aaa ), \ irit.ptslnln( ( 1, 0, 0 ), ( 0, 1, 0 ), ( 0, 1, 0 ), ( 1, 0, 0 ) ), \ irit.ptslnln( ( 1, 0, 0 ), ( 0, 1, 1 ), ( 0, 1, 0 ), ( 1, 0, 0 ) ), \ irit.tnscrcr( ( 0.2, (-1 ), 0 ), 0.5, ( 0, 1, 0 ), 0.2, 0 ), \ irit.tnscrcr( ( 0.2, (-1 ), 0 ), 0.5, ( 0, 1, 0 ), 0.2, 1 ), \ irit.tnscrcr( ( (-2 ), 0.3, 0 ), 0.7, ( 1, 0, 0 ), 1, 0 ), \ irit.tnscrcr( ( (-2 ), 0.3, 0 ), 0.7, ( 1, 0, 0 ), 1, 1 ), \ irit.ptscrcr( ( 0, 1, 0 ), ( 0, 0, 1 ), 2, ( 0, 0, 1 ), ( 0, 1, 0 ), 2 ), \ irit.ptscrcr( ( 0, 1, 0 ), ( 0, 0, 1 ), 1, ( 0, 0, 1 ), ( 0, 1, 0 ), 1 ), \ irit.ptscrcr( ( 0, 0, 0 ), ( 0, 0, 1 ), 2, ( 2, 0, 0 ), ( 0, 0, 1 ), 2 ), \ irit.ptscrcr( ( 9, 1, 0 ), ( 0, 0, 1 ), 9, ( 1, 9, 0 ), ( 0, 0, 1 ), 8 ), \ irit.ptscrcr( ( 0, 0, 0 ), ( 0, 0, 1 ), 2, ( 4, 0, 0 ), ( 0, 0, 1 ), 2 ), \ irit.ptscrcr( ( 0, 0, 0 ), ( 0, 0, 1 ), 3, ( 9, 0, 0 ), ( 0, 0, 1 ), 4 ), \ irit.pt3bary( ( 0, 0, 0 ), ( 1, 0, 0 ), ( 0, 1, 0 ), ( 0.25, 0.25, 0 ) ), \ irit.pt3bary( ( 0, 0, 0 ), ( 1, 0, 0 ), ( 0, 1, 0 ), ( 0.5, 0.5, 0 ) ) ) irit.save("bsc_geom", results)