Message ID associated with ViewPort changes ?
-
On 31/05/2013 at 11:43, xxxxxxxx wrote:
Hi,
is there a message associated with changes made to the active viewport ? I have a
utils.ViewportSelect instance and I do not want to reinit on each call. Currently I am
using this method :"""--------------------------------------------------------------------------------------------""" def checkViewportSelect(self, doc, bd) : """ Handles / updates the viewportselect object. :param doc : The active document :param bd : The active BaseDraw :return : bool """ if isinstance(bd, c4d.BaseDraw) : # create an instance if not isinstance(self.ViewPortSelect, utils.ViewportSelect) : self.ViewPortSelect = utils.ViewportSelect() # (re)init the instance if (self.ViewPortFrame != bd.GetFrame() or self.ViewPortMatrix != bd.GetMg()) : self.ViewPortFrame = bd.GetFrame() self.ViewPortMatrix = bd.GetMg() wd = self.ViewPortFrame["cr"] - self.ViewPortFrame["cl"] + 1 hg = self.ViewPortFrame["cb"] - self.ViewPortFrame["ct"] + 1 self.ViewPortSelect.Init(w = wd, h = hg, bd = bd, ops = [self.Object], mode = c4d.Mpolyedgepoint, onlyvisible = True, flags = c4d.VIEWPORTSELECTFLAGS_IGNORE_HIDDEN_SEL) return True return False
Which is working fine, but it feels a bit 'unsafe'. So I am wondering if there is a message
associated with active viewport changes (dimensions, camera pos, projection and so on).
I am looking for a ToolData or CoreMessage.Not sure how you are doing that ? Initing the VPS object for each call the seems to be a
bit overkill ?Happy rendering,
Ferdinand