/* Ċ Ġ* ĠDeep ĠV ent ure ĠK 3 D Ċ Ġ* ĠCopyright Ġ 2 0 1 8 Ġ-*- Ġf rik adel ki - cor ps Ġ-*- Ċ Ġ* ĠCreated Ġby Ġf rik adel ki Ġon Ġ 2 0 1 8 / 2 / 1 2 Ċ Ġ*/ Ċ Ċ package Ġorg . f rik adel ki . deep v . common Ċ Ċ import Ġorg . f rik adel ki . deep v . pipeline . math . Matrix 4 Ċ import Ġorg . f rik adel ki . deep v . pipeline . math . Vector 4 Ċ import Ġorg . f rik adel ki . deep v . pipeline . math . Vector 4 RO Ċ import Ġorg . f rik adel ki . k ash . k lang . dirty Property Ċ Ċ class ĠTransform Ġ{ ĊĠĠĠ Ġprivate Ġval Ġself Scale Matrix : ĠMatrix 4 Ġ= ĠMatrix 4 (). set E () ĊĠĠĠ Ġprivate Ġval Ġself Rotation Matrix : ĠMatrix 4 Ġ= ĠMatrix 4 (). set E () ĊĠĠĠ Ġprivate Ġval Ġworld Position Matrix : ĠMatrix 4 Ġ= ĠMatrix 4 (). set E () ĊĊĠĠĠ Ġprivate Ġval Ġcomputed Model Matrix Ġ= ĠMatrix 4 (). set E () ĊĠĠĠ Ġprivate Ġval Ġmodel Matrix Property Ġ= Ġdirty Property Ġ{ ĊĠĠĠĠĠĠĠ Ġcomputed Model Matrix . set E () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. multiply ( world Position Matrix ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. multiply ( self Rotation Matrix ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. multiply ( self Scale Matrix ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġmodel Matrix Ġby Ġmodel Matrix Property ĊĊĠĠĠ Ġval Ġnormals Matrix : ĠMatrix 4 ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġself Rotation Matrix ĊĊĠĠĠ Ġfun Ġself Scale ( scale : ĠVector 4 ): ĠTransform Ġ{ ĊĠĠĠĠĠĠĠ Ġself Scale Matrix . scale ( scale ) ĊĠĠĠĠĠĠĠ Ġmodel Matrix Property . mark Dirty () ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġself Rotate ( axis : ĠVector 4 RO , Ġangle Degrees : ĠFloat ): ĠTransform Ġ{ ĊĠĠĠĠĠĠĠ Ġself Rotation Matrix . rotate ( axis , Ġangle Degrees ) ĊĠĠĠĠĠĠĠ Ġmodel Matrix Property . mark Dirty () ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġworld Translate ( d : ĠVector 4 RO ): ĠTransform Ġ{ ĊĠĠĠĠĠĠĠ Ġworld Position Matrix . translate ( d ) ĊĠĠĠĠĠĠĠ Ġmodel Matrix Property . mark Dirty () ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ }