package Ġjp . cor dea . ar core demo Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Seek Bar Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . google . ar . scene form . Node Ċ import Ġcom . google . ar . scene form . math . Vector 3 Ċ import Ġcom . google . ar . scene form . rendering . Color Ċ import Ġcom . google . ar . scene form . rendering . Material Factory Ċ import Ġcom . google . ar . scene form . rendering . Shape Factory Ċ import Ġcom . google . ar . scene form . rendering . View Render able Ċ import Ġcom . google . ar . scene form . ux . Transform able Node Ċ import Ġcom . google . ar . scene form . ux . Transformation System Ċ Ċ class ĠCont rollable Cube Node ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġtransformation System : ĠTransformation System Ċ ) Ġ: ĠTransform able Node ( transformation System ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġcube Node : ĠNode ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġitem Node : ĠNode ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Activate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activate () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( cube Node Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcube Node Ġ= ĠNode (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . setParent ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . local Position Ġ= ĠVector 3 ( 0 . 0 f , Ġ 1 . 0 f , Ġ 0 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Render able . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setView ( context , ĠR . layout . ar _ item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcube Node !!. render able Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġit . view ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById < Button >( R . id . button ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Seek Bar Ġ= Ġview . findViewById < Seek Bar >( R . id . seek _ bar _ scale ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġr Seek Bar Ġ= Ġview . findViewById < Seek Bar >( R . id . seek _ bar _ r ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġg Seek Bar Ġ= Ġview . findViewById < Seek Bar >( R . id . seek _ bar _ g ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb Seek Bar Ġ= Ġview . findViewById < Seek Bar >( R . id . seek _ bar _ b ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Ġ= Ġscale Seek Bar . progress Ġ* Ġ 0 . 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Node ?. local Scale Ġ= ĠVector 3 ( scale , Ġscale , Ġscale ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Node ?. render able ?. material ?. set Float 3 ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial Factory . MAT ERIAL _ COLOR , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġr Seek Bar . progress Ġ/ Ġ 1 0 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg Seek Bar . progress Ġ/ Ġ 1 0 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb Seek Bar . progress Ġ/ Ġ 1 0 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( item Node Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Node Ġ= ĠNode (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . setParent ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial Factory . make Opaque With Color ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . color Primary ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Accept Ġ{ Ġmaterial Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Node !!. render able Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShape Factory . make Cube ( Vector 3 ( 0 . 1 f , Ġ 0 . 1 f , Ġ 0 . 1 f ), ĠVector 3 . zero (), Ġmaterial ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ