SOLVED Any way to get the originally point pos before posemorph tag?

hi,
if any way to get the originally points pos before posemorph tag?don't use CAMorphNode::GetPoint, just like get points pos form pointobject.
and i also want to know how can i get message when my tag or object plugin close?(not delete and free,just temporary closure)
Hope your help!

hi @mike,

there's no direct solution for that. Depending on your need, there's different tracks.

You can create a invisible tag that will check that for you.

If you need something more global, you can create a SceneHook.
In this sceneHook you can track the items you need to check and store/use GetDirty to see if something changed. (or in your case simply check if it's enabled)

Cheers
Manuel

hello,

you can get the "base" for this morph tag.

You can find information about the CAPoseMorphTag, CAMorph, CAMorphNode

A very basic example

    mt = node.GetTag(c4d.Tposemorph)
    if not mt:
        raise ValueError("Pose Morph tag can't be found")
    
    #retrive the morphBase
    morphBase = mt.GetMorphBase()
    #this CAMorph should have only one node
    nodeMorph =  morphBase.GetFirst()
    #maybe check if point Count are the same
    if node.GetPointCount() != nodeMorph.GetPointCount():
        raise ValueError("point count are not the same")

    for i in xrange(nodeMorph.GetPointCount()):
        print nodeMorph.GetPoint(i)

Don't forget the manuals on the c++ documentation, there are full of informations
CAPoseMorphTag Manuel
CAMorph Manual
CAMorphNode Manual

Cheers
Manuel

@m_magalhaes Frist of all,thank your for your answer, but sorry maybe you didn't look at my questions carefully.

@mike said in Any way to get the originally point pos before posemorph tag?:

hi,
if any way to get the originally points pos before posemorph tag?don't use CAMorphNode::GetPoint, just like get points pos form pointobject.
and i also want to know how can i get message when my tag or object plugin close?(not delete and free,just temporary closure)
Hope your help!

my bad, so c++ and yea i read that too fast.

i guess it's related with your other question.
So i'm afraid you want to retrieve a pointer to have the best performance. If so, it's not possible, you have to use GetPoint.

For your other question, i'm not sure if i understand what you mean by plugin close (not delete and free).
Do you mean sending a message at the end of your execute (for a tag) for example ?

Cheers
Manuel.

@m_magalhaes object and tag plugin's 'Enabled' ,can i detect it? i want detect itself Disenable/Enabled switch and set some attribute.

hi @mike,

there's no direct solution for that. Depending on your need, there's different tracks.

You can create a invisible tag that will check that for you.

If you need something more global, you can create a SceneHook.
In this sceneHook you can track the items you need to check and store/use GetDirty to see if something changed. (or in your case simply check if it's enabled)

Cheers
Manuel

@m_magalhaes thank for your help!