def attach(self, vp): """ Method called by FreeCAD after initialization to attach Coin3D constructs. A coordinate frame made of RGB arrows corresponding to X, Y and Z axes. This frame shows current pose in a rotation. This method adds RobRotation as the `fp` attribute. Args: vp: A RobRotation.ViewObject after initialization. """ # prepare transformation to keep pose corresponding to placement self.tf_object2world = coin.SoTransform() labels = self.makeLabels() self.font = coin.SoFontStyle() frame = self.makeFrame(labels[:3]) frame.insertChild(self.tf_object2world, 0) frame.insertChild(self.font, 1) self.frame = coin.SoSwitch() self.frame.addChild(frame) self.visualisations = coin.SoSwitch() self.visualisations.addChild(self.frame) self.visualisations.whichChild.setValue(coin.SO_SWITCH_ALL) vp.RootNode.addChild(self.visualisations) vp.Object.Proxy.setProperties(vp.Object) self.setProperties(vp) self.fp = vp.Object
def attach(self, vp): # prepare transformation to keep pose corresponding to placement self.tf_object2world = coin.SoTransform() labels = self.makeLabels() self.font = coin.SoFontStyle() frame = self.makeFrame(labels[:3]) frame.insertChild(self.tf_object2world, 0) frame.insertChild(self.font, 1) self.frame = coin.SoSwitch() self.frame.addChild(frame) self.visualisations = coin.SoSwitch() self.visualisations.addChild(self.frame) self.visualisations.whichChild.setValue(coin.SO_SWITCH_ALL) vp.RootNode.addChild(self.visualisations) vp.Object.Proxy.setProperties(vp.Object) self.setProperties(vp) self.fp = vp.Object