v3 f3 e4 e1 f4 v4 e2 v1 e5 e6 f1 e3 v2 f2
+ - - + + + -
union difference
Y X
X Z
Y X Z
- - + + X
- - + + Y
Cartesian product 3D (X,Z) X (Y) Reduce dimensionality Z→X X→Y Reduce dimensionality Y→X
p=0.1 p=1 r=3 r=1 r=0.25 x
State change State query State notification Selection Selection Model Controller View Selection
State change State query State notification Selection Selection FRep Model FRep API State change State query State notification Selection Controller View Selection
f(x,y) = 22 - x2 - y2 Y Внутренняя область f(x,y)>0 Контур/ поверхность f(x,y)=0 f(0,0)=4 f(2,0)=0 X f(2,-2)=-4 f(3,-3)=-14
Y Y X T Y X T
Y Y Y Y X X X X Y Y Y Y X X X X t=0.1 t=0.2 t=0.3 t=0.4 t=0.5 t=0.7
a b c d e a b c d e g a: F=-2 b: F=-1 c: F=0 d: F=1 e: F=2 f: F=3 g: F=3 a b c d e f g
Entity description Generic translator FRep AST Intermediate translator Serialization … UI Application specific
OpenCL translator CUDA translator Scripting language translator C++ FRep API translator LLVM translator FRep AST Maya translator Other translators Others translators
Entity description Generic translator FRep AST Serialization(s) code generation API registration FRep API C++ translator High-level API code generation API parameter description Low-level API code generation Test code generation
FRep AST Plug-in registration Maya translator Maya scripting language DG Node UI DG node code gen.
Coordinates (Coordinates) Result FRep entity FRep entity FRep entity … … … FRep entity FRep entity (Coordinates)
(Coordinates) Coordinates (Coordinates) Result FRep entity FRep entity FRep entity … … … (Coordinates) FRep entity FRep entity
Phase 1 Coordinates: P P FRep entity 1 P1 P1 P1 FRep entity 2 FRep entity K … P2 PK Phase 1 … … FRep entity L FRep entity M PL PM FRep entity N FRep entity P
Phase 2 P V V2 VK VL VM VN VP Coordinates: P Result: V V1 FRep entity 1 P1 P1 V2 VK P1 FRep entity 2 FRep entity K … P2 PK … … Phase 2 VL VM FRep entity L FRep entity M PL VN PM VP FRep entity N FRep entity P