#include <genv.h>
Inheritance diagram for GEnvelope2x2:

Definition at line 243 of file genv.h.
|
|
Definition at line 388 of file genv.cpp. 00389 { 00390 L0.x = 0 ; L0.y = 0 ; 00391 L1.x = 0 ; L1.y = 1 ; 00392 L2.x = 0 ; L2.y = 2 ; 00393 L3.x = 0 ; L3.y = 3 ; 00394 L4.x = 0 ; L4.y = 4 ; 00395 L5.x = 0 ; L5.y = 5 ; 00396 00397 T0.x = 0 ; T0.y = 6 ; 00398 T1.x = 1 ; T1.y = 6 ; 00399 T2.x = 2 ; T2.y = 6 ; 00400 T3.x = 3 ; T3.y = 6 ; 00401 T4.x = 4 ; T4.y = 6 ; 00402 T5.x = 5 ; T5.y = 6 ; 00403 00404 R0.x = 6 ; R0.y = 6 ; 00405 R1.x = 6 ; R1.y = 5 ; 00406 R2.x = 6 ; R2.y = 4 ; 00407 R3.x = 6 ; R3.y = 3 ; 00408 R4.x = 6 ; R4.y = 2 ; 00409 R5.x = 6 ; R5.y = 1 ; 00410 00411 B0.x = 6 ; B0.y = 0 ; 00412 B1.x = 5 ; B1.y = 0 ; 00413 B2.x = 4 ; B2.y = 0 ; 00414 B3.x = 3 ; B3.y = 0 ; 00415 B4.x = 2 ; B4.y = 0 ; 00416 B5.x = 1 ; B5.y = 0 ; 00417 00418 CalcConsts(); 00419 }
|
|
|
Definition at line 453 of file genv.cpp. 00454 { 00455 MM.x = (- B0.x + 2*B3.x - L0.x + 2*L3.x - R0.x + 2*R3.x - T0.x + 2*T3.x)/ 4 ; 00456 MM.y = (- B0.y + 2*B3.y - L0.y + 2*L3.y - R0.y + 2*R3.y - T0.y + 2*T3.y)/ 4 ; 00457 H1.x = (- B0.x + 6*B5.x - 5*L0.x + 10*L3.x - R0.x + 2*R3.x - 5*T0.x + 6*T1.x)/12 ; 00458 H1.y = (- B0.y + 6*B5.y - 5*L0.y + 10*L3.y - R0.y + 2*R3.y - 5*T0.y + 6*T1.y)/12 ; 00459 H2.x = (- B0.x + 3*B4.x - 2*L0.x + 4*L3.x - R0.x + 2*R3.x - 2*T0.x + 3*T2.x)/ 6 ; 00460 H2.y = (- B0.y + 3*B4.y - 2*L0.y + 4*L3.y - R0.y + 2*R3.y - 2*T0.y + 3*T2.y)/ 6 ; 00461 H4.x = (-2*B0.x + 3*B2.x - L0.x + 2*L3.x - 2*R0.x + 4*R3.x - T0.x + 3*T4.x)/ 6 ; 00462 H4.y = (-2*B0.y + 3*B2.y - L0.y + 2*L3.y - 2*R0.y + 4*R3.y - T0.y + 3*T4.y)/ 6 ; 00463 H5.x = (-5*B0.x + 6*B1.x - L0.x + 2*L3.x - 5*R0.x + 10*R3.x - T0.x + 6*T5.x)/12 ; 00464 H5.y = (-5*B0.y + 6*B1.y - L0.y + 2*L3.y - 5*R0.y + 10*R3.y - T0.y + 6*T5.y)/12 ; 00465 V1.x = (-5*B0.x + 10*B3.x - 5*L0.x + 6*L1.x - R0.x + 6*R5.x - T0.x + 2*T3.x)/12 ; 00466 V1.y = (-5*B0.y + 10*B3.y - 5*L0.y + 6*L1.y - R0.y + 6*R5.y - T0.y + 2*T3.y)/12 ; 00467 V2.x = (-2*B0.x + 4*B3.x - 2*L0.x + 3*L2.x - R0.x + 3*R4.x - T0.x + 2*T3.x)/ 6 ; 00468 V2.y = (-2*B0.y + 4*B3.y - 2*L0.y + 3*L2.y - R0.y + 3*R4.y - T0.y + 2*T3.y)/ 6 ; 00469 V4.x = (- B0.x + 2*B3.x - L0.x + 3*L4.x - 2*R0.x + 3*R2.x - 2*T0.x + 4*T3.x)/ 6 ; 00470 V4.y = (- B0.y + 2*B3.y - L0.y + 3*L4.y - 2*R0.y + 3*R2.y - 2*T0.y + 4*T3.y)/ 6 ; 00471 V5.x = (- B0.x + 2*B3.x - L0.x + 6*L5.x - 5*R0.x + 6*R1.x - 5*T0.x + 10*T3.x)/12 ; 00472 V5.y = (- B0.y + 2*B3.y - L0.y + 6*L5.y - 5*R0.y + 6*R1.y - 5*T0.y + 10*T3.y)/12 ; 00473 SmoothX = T4.x-T3.x == T3.x-T2.x && T4.y-T3.y == T3.y-T2.y && 00474 B4.x-B3.x == B3.x-B2.x && B4.y-B3.y == B3.y-B2.y ; 00475 SmoothY = L4.x-L3.x == L3.x-L2.x && L4.y-L3.y == L3.y-L2.y && 00476 R4.x-R3.x == R3.x-R2.x && R4.y-R3.y == R3.y-R2.y ; 00477 00478 CalcViewBBox() ; 00479 if (Width==0 || Depth==0) 00480 return FALSE; 00481 00482 ScaleView() ; 00483 CalcViewConsts() ; 00484 00485 return TRUE; 00486 }
|
|
|
Implements GMould. Definition at line 521 of file genv.cpp. 00522 { 00523 MinX = MaxX = L0.x ; 00524 MinY = MaxY = L0.y ; 00525 MinX=min(MinX, INT32(L1.x)) ; MaxX=max(MaxX, INT32(L1.x)) ; MinY=min(MinY, INT32(L1.y)) ; MaxY=max(MaxY, INT32(L1.y)) ; 00526 MinX=min(MinX, INT32(L2.x)) ; MaxX=max(MaxX, INT32(L2.x)) ; MinY=min(MinY, INT32(L2.y)) ; MaxY=max(MaxY, INT32(L2.y)) ; 00527 MinX=min(MinX, INT32(L3.x)) ; MaxX=max(MaxX, INT32(L3.x)) ; MinY=min(MinY, INT32(L3.y)) ; MaxY=max(MaxY, INT32(L3.y)) ; 00528 MinX=min(MinX, INT32(L4.x)) ; MaxX=max(MaxX, INT32(L4.x)) ; MinY=min(MinY, INT32(L4.y)) ; MaxY=max(MaxY, INT32(L4.y)) ; 00529 MinX=min(MinX, INT32(L5.x)) ; MaxX=max(MaxX, INT32(L5.x)) ; MinY=min(MinY, INT32(L5.y)) ; MaxY=max(MaxY, INT32(L5.y)) ; 00530 MinX=min(MinX, INT32(T0.x)) ; MaxX=max(MaxX, INT32(T0.x)) ; MinY=min(MinY, INT32(T0.y)) ; MaxY=max(MaxY, INT32(T0.y)) ; 00531 MinX=min(MinX, INT32(T1.x)) ; MaxX=max(MaxX, INT32(T1.x)) ; MinY=min(MinY, INT32(T1.y)) ; MaxY=max(MaxY, INT32(T1.y)) ; 00532 MinX=min(MinX, INT32(T2.x)) ; MaxX=max(MaxX, INT32(T2.x)) ; MinY=min(MinY, INT32(T2.y)) ; MaxY=max(MaxY, INT32(T2.y)) ; 00533 MinX=min(MinX, INT32(T3.x)) ; MaxX=max(MaxX, INT32(T3.x)) ; MinY=min(MinY, INT32(T3.y)) ; MaxY=max(MaxY, INT32(T3.y)) ; 00534 MinX=min(MinX, INT32(T4.x)) ; MaxX=max(MaxX, INT32(T4.x)) ; MinY=min(MinY, INT32(T4.y)) ; MaxY=max(MaxY, INT32(T4.y)) ; 00535 MinX=min(MinX, INT32(T5.x)) ; MaxX=max(MaxX, INT32(T5.x)) ; MinY=min(MinY, INT32(T5.y)) ; MaxY=max(MaxY, INT32(T5.y)) ; 00536 MinX=min(MinX, INT32(R0.x)) ; MaxX=max(MaxX, INT32(R0.x)) ; MinY=min(MinY, INT32(R0.y)) ; MaxY=max(MaxY, INT32(R0.y)) ; 00537 MinX=min(MinX, INT32(R1.x)) ; MaxX=max(MaxX, INT32(R1.x)) ; MinY=min(MinY, INT32(R1.y)) ; MaxY=max(MaxY, INT32(R1.y)) ; 00538 MinX=min(MinX, INT32(R2.x)) ; MaxX=max(MaxX, INT32(R2.x)) ; MinY=min(MinY, INT32(R2.y)) ; MaxY=max(MaxY, INT32(R2.y)) ; 00539 MinX=min(MinX, INT32(R3.x)) ; MaxX=max(MaxX, INT32(R3.x)) ; MinY=min(MinY, INT32(R3.y)) ; MaxY=max(MaxY, INT32(R3.y)) ; 00540 MinX=min(MinX, INT32(R4.x)) ; MaxX=max(MaxX, INT32(R4.x)) ; MinY=min(MinY, INT32(R4.y)) ; MaxY=max(MaxY, INT32(R4.y)) ; 00541 MinX=min(MinX, INT32(R5.x)) ; MaxX=max(MaxX, INT32(R5.x)) ; MinY=min(MinY, INT32(R5.y)) ; MaxY=max(MaxY, INT32(R5.y)) ; 00542 MinX=min(MinX, INT32(B0.x)) ; MaxX=max(MaxX, INT32(B0.x)) ; MinY=min(MinY, INT32(B0.y)) ; MaxY=max(MaxY, INT32(B0.y)) ; 00543 MinX=min(MinX, INT32(B1.x)) ; MaxX=max(MaxX, INT32(B1.x)) ; MinY=min(MinY, INT32(B1.y)) ; MaxY=max(MaxY, INT32(B1.y)) ; 00544 MinX=min(MinX, INT32(B2.x)) ; MaxX=max(MaxX, INT32(B2.x)) ; MinY=min(MinY, INT32(B2.y)) ; MaxY=max(MaxY, INT32(B2.y)) ; 00545 MinX=min(MinX, INT32(B3.x)) ; MaxX=max(MaxX, INT32(B3.x)) ; MinY=min(MinY, INT32(B3.y)) ; MaxY=max(MaxY, INT32(B3.y)) ; 00546 MinX=min(MinX, INT32(B4.x)) ; MaxX=max(MaxX, INT32(B4.x)) ; MinY=min(MinY, INT32(B4.y)) ; MaxY=max(MaxY, INT32(B4.y)) ; 00547 MinX=min(MinX, INT32(B5.x)) ; MaxX=max(MaxX, INT32(B5.x)) ; MinY=min(MinY, INT32(B5.y)) ; MaxY=max(MaxY, INT32(B5.y)) ; 00548 Width = MaxX-MinX ; 00549 Depth = MaxY-MinY ; 00550 }
|
|
|
Implements GMould. Definition at line 593 of file genv.cpp. 00594 { 00595 A00.x = VL0.x ; 00596 A00.y = VL0.y ; 00597 B00.x = 3*(VB5.x-VL0.x) ; 00598 B00.y = 3*(VB5.y-VL0.y) ; 00599 C00.x = 3*(VL1.x-VL0.x) ; 00600 C00.y = 3*(VL1.y-VL0.y) ; 00601 D00.x = 3*(VH1.x+VV1.x)-2*(VL3.x+VB3.x)-VL0.x-VMM.x-B00.x-C00.x ; 00602 D00.y = 3*(VH1.y+VV1.y)-2*(VL3.y+VB3.y)-VL0.y-VMM.y-B00.y-C00.y ; 00603 E00.x = 3*(VL0.x-2*VB5.x+VB4.x) ; 00604 E00.y = 3*(VL0.y-2*VB5.y+VB4.y) ; 00605 F00.x = 3*(VL2.x-2*VL1.x+VL0.x) ; 00606 F00.y = 3*(VL2.y-2*VL1.y+VL0.y) ; 00607 G00.x = 3*(VH2.x-2*VH1.x+VL3.x)-E00.x ; 00608 G00.y = 3*(VH2.y-2*VH1.y+VL3.y)-E00.y ; 00609 H00.x = 3*(VB3.x-2*VV1.x+VV2.x)-F00.x ; 00610 H00.y = 3*(VB3.y-2*VV1.y+VV2.y)-F00.y ; 00611 J00.x = VB3.x-3*(VB4.x-VB5.x)-VL0.x ; 00612 J00.y = VB3.y-3*(VB4.y-VB5.y)-VL0.y ; 00613 K00.x = VL3.x-3*(VL2.x-VL1.x)-VL0.x ; 00614 K00.y = VL3.y-3*(VL2.y-VL1.y)-VL0.y ; 00615 L00.x = VMM.x-3*(VH2.x-VH1.x)-VL3.x-J00.x ; 00616 L00.y = VMM.y-3*(VH2.y-VH1.y)-VL3.y-J00.y ; 00617 M00.x = VMM.x-3*(VV2.x-VV1.x)-VB3.x-K00.x ; 00618 M00.y = VMM.y-3*(VV2.y-VV1.y)-VB3.y-K00.y ; 00619 00620 A01.x = VB3.x ; 00621 A01.y = VB3.y ; 00622 B01.x = 3*(VB2.x-VB3.x) ; 00623 B01.y = 3*(VB2.y-VB3.y) ; 00624 C01.x = 3*(VV1.x-VB3.x) ; 00625 C01.y = 3*(VV1.y-VB3.y) ; 00626 D01.x = 3*(VH4.x+VR5.x)-2*(VMM.x+VB0.x)-VB3.x-VR3.x-B01.x-C01.x ; 00627 D01.y = 3*(VH4.y+VR5.y)-2*(VMM.y+VB0.y)-VB3.y-VR3.y-B01.y-C01.y ; 00628 E01.x = 3*(VB3.x-2*VB2.x+VB1.x) ; 00629 E01.y = 3*(VB3.y-2*VB2.y+VB1.y) ; 00630 F01.x = 3*(VV2.x-2*VV1.x+VB3.x) ; 00631 F01.y = 3*(VV2.y-2*VV1.y+VB3.y) ; 00632 G01.x = 3*(VH5.x-2*VH4.x+VMM.x)-E01.x ; 00633 G01.y = 3*(VH5.y-2*VH4.y+VMM.y)-E01.y ; 00634 H01.x = 3*(VB0.x-2*VR5.x+VR4.x)-F01.x ; 00635 H01.y = 3*(VB0.y-2*VR5.y+VR4.y)-F01.y ; 00636 J01.x = VB0.x-3*(VB1.x-VB2.x)-VB3.x ; 00637 J01.y = VB0.y-3*(VB1.y-VB2.y)-VB3.y ; 00638 K01.x = VMM.x-3*(VV2.x-VV1.x)-VB3.x ; 00639 K01.y = VMM.y-3*(VV2.y-VV1.y)-VB3.y ; 00640 L01.x = VR3.x-3*(VH5.x-VH4.x)-VMM.x-J01.x ; 00641 L01.y = VR3.y-3*(VH5.y-VH4.y)-VMM.y-J01.y ; 00642 M01.x = VR3.x-3*(VR4.x-VR5.x)-VB0.x-K01.x ; 00643 M01.y = VR3.y-3*(VR4.y-VR5.y)-VB0.y-K01.y ; 00644 00645 A10.x = VL3.x ; 00646 A10.y = VL3.y ; 00647 B10.x = 3*(VH1.x-VL3.x) ; 00648 B10.y = 3*(VH1.y-VL3.y) ; 00649 C10.x = 3*(VL4.x-VL3.x) ; 00650 C10.y = 3*(VL4.y-VL3.y) ; 00651 D10.x = 3*(VT1.x+VV4.x)-2*(VT0.x+VMM.x)-VL3.x-VT3.x-B10.x-C10.x ; 00652 D10.y = 3*(VT1.y+VV4.y)-2*(VT0.y+VMM.y)-VL3.y-VT3.y-B10.y-C10.y ; 00653 E10.x = 3*(VL3.x-2*VH1.x+VH2.x) ; 00654 E10.y = 3*(VL3.y-2*VH1.y+VH2.y) ; 00655 F10.x = 3*(VL5.x-2*VL4.x+VL3.x) ; 00656 F10.y = 3*(VL5.y-2*VL4.y+VL3.y) ; 00657 G10.x = 3*(VT2.x-2*VT1.x+VT0.x)-E10.x ; 00658 G10.y = 3*(VT2.y-2*VT1.y+VT0.y)-E10.y ; 00659 H10.x = 3*(VMM.x-2*VV4.x+VV5.x)-F10.x ; 00660 H10.y = 3*(VMM.y-2*VV4.y+VV5.y)-F10.y ; 00661 J10.x = VMM.x-3*(VH2.x-VH1.x)-VL3.x ; 00662 J10.y = VMM.y-3*(VH2.y-VH1.y)-VL3.y ; 00663 K10.x = VT0.x-3*(VL5.x-VL4.x)-VL3.x ; 00664 K10.y = VT0.y-3*(VL5.y-VL4.y)-VL3.y ; 00665 L10.x = VT3.x-3*(VT2.x-VT1.x)-VT0.x-J10.x ; 00666 L10.y = VT3.y-3*(VT2.y-VT1. |