IN_EXLUDE



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 05/12/2006 at 04:39, xxxxxxxx wrote:

    Yes, the coordinates (in space) should be the same.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 05/12/2006 at 06:26, xxxxxxxx wrote:

    If you are going for position, rotation, scale, then this should suffice:

    // Just for reference, set wherever you do this
    BaseObject* tagObj;
    BaseObject* dropObj;

    dropObj->SetMg(tagObj->GetMg());

    That'll set the dropped object's global matrix to match that of the object with the tag plugin.

    If you just want position, then you will need to do a little more work:

    SetGlobalPosition(dropObj, tagObj->GetMg().off);

    // Set Object's Global Position
    //*---------------------------------------------------------------------------*
    void SetGlobalPosition(BaseObject* obj, const Vector& pos)
    //*---------------------------------------------------------------------------*
    {
         Matrix     mg = obj->GetMg();
         mg.off = pos;
         obj->SetMg(mg);
    }



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 08/12/2006 at 02:18, xxxxxxxx wrote:

    Thx for this kuroyume.
    But my problem is that i don't know how to access the IN_EXCLUDE field. I need an operation like:
    dropObj = (dropped item in IN_EXCLUDE field)
    hope somebody knows what i mean ^^



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 08/12/2006 at 09:47, xxxxxxxx wrote:

    Maybe this link will help?

    Forum Thread



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/12/2006 at 06:35, xxxxxxxx wrote:

    Here a little example of a modified Execute function that prints the name of the objects in the in/exclude list.

      
    LONG LookAtCamera::Execute(PluginTag *tag, BaseDocument *doc, BaseObject *op, BaseThread *bt, LONG priority, LONG flags)  
    {  
         BaseContainer *data = tag->GetDataInstance();  
      
         InExcludeData *mylist = (InExcludeData* )data->GetCustomDataType(LOOKATCAMERAEXP_LIST,CUSTOMDATATYPE_INEXCLUDE_LIST);   
         if (!mylist ) return LOAD_NOMEM;  
      
         LONG objcnt = mylist->GetObjectCount();  
         LONG i;  
         for(i=0; i<objcnt; i++)  
         {  
              GePrint(mylist->ObjectFromIndex(doc, i)->GetName());  
         }  
      
         return EXECUTION_RESULT_OK;  
    }  
    

    hope this helps

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 12/12/2006 at 00:26, xxxxxxxx wrote:

    Thanks for this kuroyume and Matthias. Think this will work



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 12/12/2006 at 06:28, xxxxxxxx wrote:

    OK the thing with the IN_EXCLUDE field works now. But i got a little problem with the following source:
    BaseContainer *data = tag->GetDataInstance();
    InExcludeData *mylist = (InExcludeData* )data->GetCustomDataType(ID_DROP_YP,CUSTOMDATATYPE_INEXCLUDE_LIST);
    if (!mylist ) return LOAD_NOMEM;
    LONG objcnt = mylist->GetObjectCount();
    for(LONG i=0; i<objcnt; i++)
    {
    Vector posnew = (100,100,100);
    BaseContainer *drpndata = mylist->ObjectFromIndex(doc, i)->GetDataInstance();
    drpndata->SetVector(ID_BASEOBJECT_POSITION,newpos);
    }
    I want to change the position vector of the dropped in data to posnew and i thought this should work, but it doesn't. Any ideas???
    Or is there a way to change position like this:
    {
    Vector posnew = (100,100,100);
    BaseObject *drpndata = mylist->ObjectFromIndex(doc, i); ***
    drpndata->SetPos(posnew);
    }
    *** I know this doesn't work, but is there a way to convert the IN_EXCLUDE mylist to a BaseObject to acccess the SetPos function???



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 12/12/2006 at 09:23, xxxxxxxx wrote:

    You have to cast the result of ObjectFromIndex, for instance like this:

      
    BaseObject *drpndata = (BaseObject* )mylist->ObjectFromIndex(doc, i);  
    

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 12/12/2006 at 11:24, xxxxxxxx wrote:

    This works really great. Thanks a lot Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 15/12/2006 at 00:17, xxxxxxxx wrote:

    Another question, concerning layouting the IN_EXCLUDE field. Is there a way to specify the size of the IN_EXCLUDE field, cause my field is to small to add e.g. an cylinder object so you have to scroll in the field.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 18/12/2006 at 07:10, xxxxxxxx wrote:

    You have to set SCALE_V in the descriptio for both the GROUP and the description element, little example:

      
    GROUP ID_TAGPROPERTIES  
    {  
         SCALE_V;  
                
         IN_EXCLUDE LOOKATCAMERAEXP_LIST { NUM_FLAGS 0; SCALE_V; ACCEPT { Obase; } }  
    }  
    

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 19/12/2006 at 01:52, xxxxxxxx wrote:

    OK thanks for that Matthias. But i got still more questions :)
    Is there a way to limit the number of objects, that can be dropped in the IN_EXCLUDE field?


Log in to reply