package Ġde . fab max . k ool . physics . art ic ulations Ċ Ċ import Ġde . fab max . k ool . physics . Rigid Body Ċ import Ġphys x . physics . Px Art ic ulation Joint Ċ import Ġphys x . physics . Px Art ic ulation Link Ċ Ċ @ Suppress (" Can Be Parameter ") Ċ actual Ġclass ĠArt ic ulation Link ( val Ġpx Link : ĠPx Art ic ulation Link , Ġval Ġparent : ĠArt ic ulation Link ?) Ġ: ĠRigid Body () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmut Children Ġ= Ġmutable ListOf < Art ic ulation Link >() ĊĠĠĠ Ġactual Ġval Ġchildren : ĠList < Art ic ulation Link > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġmut Children ĊĊĠĠĠ Ġactual Ġval Ġinbound Joint : ĠArt ic ulation Joint ? Ġ= Ġif Ġ( parent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ ĠArt ic ulation Joint ( Px Art ic ulation Joint . wrap Pointer ( px Link . inbound Joint . address )) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġpx Rigid Actor Ġ= Ġpx Link ĊĠĠĠĠĠĠĠ Ġparent ?. mut Children ?. add ( this ) ĊĠĠĠ Ġ} Ċ Ċ }