Visual Aid



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

    On 24/08/2009 at 07:27, xxxxxxxx wrote:

    Can you think of anything that would prevent GePrint () from printing to the console? It seems like it's not recognizing that the checkbox was checked.



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

    On 24/08/2009 at 07:32, xxxxxxxx wrote:

    Without any additional code it is hard to say. Maybe the description resource for the checkbox is wrong.

    cheers,
    Matthias



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

    On 24/08/2009 at 07:39, xxxxxxxx wrote:

    Here's the reference from the .h file

    SHOW_PLANE = 1005,

    Here's the reference from the .res file

    BOOL SHOW_PLANE {ANIM OFF;}

    Here it is from the .str file

    SHOW_PLANE "Show Symmetry Plane";



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

    On 24/08/2009 at 07:44, xxxxxxxx wrote:

    I can send you more code if you think it would be helpful.

    ~Shawn



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

    On 24/08/2009 at 07:46, xxxxxxxx wrote:

    Quote: Originally posted by emberintherain on 24 August 2009
    >
    > * * *
    >
    > I can send you more code if you think it would be helpful.
    >
    > ~Shawn
    >
    >
    > * * *

    Please do, because the description resource seems to be ok.

    Btw. is the Draw() method called at all?

    cheers,
    Matthias



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

    On 24/08/2009 at 07:52, xxxxxxxx wrote:

    Here is the code up to this function.

    > `

      
    \>    
    \>  /////////////////////////////////////////////////////////////  
    \>  // TrueSymmetry  
    \>    
    \>  #include "c4d.h"  
    \>  #include "c4d_symbols.h"  
    \>  #include "ttruesymmetry.h"  
    \>  #include "truesymmetry.h"  
    \>    
    \>  #include "lib_description.h"  
    \>  #include "customgui_priority.h"  
    \>    
    \>  const Real DELTA=0.001f;  
    \>    
    \>  class TrueSymmetry : public TagData  
    \>  {       
    \>       Bool blnMessages;  
    \>       Bool blnSymmetryActive;  
    \>       Bool blnSymmetryDirty;  
    \>       Bool blnTest;       
    \>         
    \>         
    \>    
    \>       Bool IsSymmetrical(BaseObject* obj , BaseContainer* data);  
    \>       Bool InitSymmetryPoints(BaseObject* obj,BaseContainer* data);  
    \>       Bool InitSymmetryPolygons(BaseObject* obj,BaseContainer* data);  
    \>       Bool IsPartner(const Vector * arrPoints, LONG lngI, LONG lngJ, LONG lngSymPlane);  
    \>       Bool OnSymmetryPlane(const Vector * arrPoints, LONG lngI, LONG lngSymPlane);  
    \>       Bool PointOnEditableSide(const Vector * arrPoints, LONG lngI, LONG lngSymPlane, LONG lngMirroredSide,bool blnIncNul);  
    \>       Bool PolyOnEditableSide(const Vector * arrPoints, const CPolygon * arrPolygons,LONG lngI, LONG lngSymPlane, LONG lngMirroredSide);  
    \>       Bool PolygonStillExists(const CPolygon * arrPolygons, LONG lngOldPoly);  
    \>       LONG FindLastKnowPolyPartner(const CPolygon * arrPolygons,LONG lngOldPoly);  
    \>       LONG FindPolyPartner(const CPolygon * arrPolygons, LONG lngPolygonCount,LONG lngPoly);  
    \>         
    \>       Bool ResetPointsOnSymPlane(PolygonObject* objPoly,BaseContainer* data);  
    \>       Bool UpdateSymmetryPositions(PolygonObject* objPoly,BaseContainer* data);  
    \>       Bool CreateSymmetry(BaseObject* obj ,BaseContainer* data);  
    \>       Bool ReInitSymmetry(BaseObject* obj,BaseContainer* data);  
    \>              
    \>       Vector GetVirtualPartnerPos( Vector * arrPoints, LONG lngI, LONG lngSymPlane);  
    \>       CPolygon GetVirtualPartnerPolygon(CPolygon * arrPolygons, LONG lngPoly);  
    \>    
    \>       LONG * arrPartners;  
    \>       Vector * arrLastKnownPos;  
    \>       CPolygon* arrLastKnownPolygons;  
    \>       LONG lngLastKnownPointCount;  
    \>       LONG lngLastKnownPolygonCount;  
    \>    
    \>       public:  
    \>            virtual Bool Init(GeListNode *node);  
    \>            virtual void Free(GeListNode *node);  
    \>            virtual Bool GetDDescription(GeListNode *node, Description *description,LONG &flags;);  
    \>            virtual Bool Message(GeListNode *node, LONG type, void *data);  
    \>            virtual LONG Execute(PluginTag* tag, BaseDocument* doc, BaseObject* op, BaseThread* bt, LONG priority, LONG flags);  
    \>            virtual Bool GetDEnabling(GeListNode *node, const DescID &id;,GeData &t;_data,LONG flags,const BaseContainer *itemdesc);  
    \>              
    \>            //FOR SHOWING SYMMETRY PLANE  
    \>            virtual LONG Draw(PluginTag* tag, BaseDocument *doc, BaseContainer &data;, BaseDraw *bd, BaseDrawHelp *bh, BaseThread *bt,LONG flags);  
    \>              
    \>              
    \>            static NodeData *Alloc(void) { return gNew TrueSymmetry; }  
    \>                   
    \>  };  
    \>    
    \>  //FOR DRAWING THE SYMMETRY PLANE  
    \>  /////////////////////////////////////////////////////////////////////////////////////////  
    \>  LONG TrueSymmetry::Draw(PluginTag* tag, BaseDocument *doc, BaseContainer &data;, BaseDraw *bd, BaseDrawHelp *bh, BaseThread *bt,LONG flags)  
    \>  {  
    \>         
    \>    
    \>         
    \>       if (tag->GetDataInstance()->GetBool(SHOW_PLANE)) // draw  
    \>       {  
    \>    
    \>            Vector p[4] = { Vector(-100,0,0),Vector(100,0,0),Vector(-100,100,0),Vector(100,100,0)};  
    \>            Vector f[3] = { Vector(1,0,0),Vector(1,0,0),Vector(1,0,0)};  
    \>            bd->Polygon3D(p,f,TRUE);  
    \>            GePrint ("It's Checked");  
    \>       }  
    \>       else  
    \>       {  
    \>            GePrint ("Not Checked");  
    \>       }  
    \>            return DRAW_HANDLES|DRAW_AXIS;  
    \>    
    \>    
    \>    
    \>    
    \>    
    \>  }  
    \>    
    \>    
    \>  /////////////////////////////////////////////////////////////////////////////////////////  
    \>    
    \>    
    \>  
    

    `

    If this does not show the problem I can email you the whole contents of the .cpp file if you PM me your email.

    Thanks so much Matthias for taking the time to help me out.

    ~Shawn



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

    On 24/08/2009 at 07:58, xxxxxxxx wrote:

    I just realize that your Draw function has a wrong declaration. For TagData plugins it looks like this

    virtual Bool Draw(PluginTag *tag, BaseObject *op, BaseDraw *bd, BaseDrawHelp *bh)

    Your Draw() method is probably never called.

    cheers,
    Matthias



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

    On 24/08/2009 at 08:06, xxxxxxxx wrote:

    There it is.... That was the solution.. Thanks alot Matthias. You really help me out here.

    ~Shawn



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

    On 24/08/2009 at 08:24, xxxxxxxx wrote:

    how do I remove the polygon after I have drawn it? I am able to draw a polygon on the symmetry plane now but I want it to go away after they uncheck the bool.

    Thanks in advance,

    ~Shawn



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

    On 24/08/2009 at 09:31, xxxxxxxx wrote:

    Figured it out. Thanks,

    ~Shawn



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

    On 24/08/2009 at 10:41, xxxxxxxx wrote:

    Anyone know how i could make the polygon I create appear somewhat translucent?

    ~Shawn



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

    On 24/08/2009 at 10:56, xxxxxxxx wrote:

    Figure this out too.. LOL.. guess I'll stop asking until I really try to figure it out. HAHA..   Thanks everyone.

    This was accomplished using SetTransparency ()

    ~Shawn



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

    On 24/08/2009 at 10:57, xxxxxxxx wrote:

    BaseDraw::SetTransparency(LONG trans) with negative values for trans.



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

    On 24/08/2009 at 11:50, xxxxxxxx wrote:

    Well , I was hoping I wouldn't have to ask again. LOL but can someone point me in the right direction on how to be able to take the color selected from a COLOR selector in the attributes manager and turning that into the color values for the polygon3D()..

    Thanks,

    ~Shawn



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

    On 24/08/2009 at 11:58, xxxxxxxx wrote:

    Vector color = bc->GetVector(YOUR_DESC_FOR_THE_COLOR);



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

    On 24/08/2009 at 12:00, xxxxxxxx wrote:

    Thanks Robert, As always. Top Notch!

    ~Shawn



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

    On 24/08/2009 at 21:00, xxxxxxxx wrote:

    Finally, the last step I need to do is to get the polygon that I have created, aligned, resized, and changed the color, to stay locked to the object on which the tag is.

    For example, this portion of my plugin creates a visible symmetry plane on an object. I would like this new polygon to stay attached to the object no matter where it is moved around in 3d space. Can someone point me in the right direction on how to accomplish this?

    Thanks,

    ~Shawn



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

    On 25/08/2009 at 01:44, xxxxxxxx wrote:

    Multiply the position vectors of the polygon with the global matrix of the object.

    Btw. I recommend to really go through the SDK examples as they often provide a solution to your problem.

    cheers,
    Matthias



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

    On 25/08/2009 at 09:25, xxxxxxxx wrote:

    Thanks Matthias.   I have been looking through them they are very helpful. I didn't find one that showed how to do this. Is there one specific example I should look at?

    ~Shawn



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

    On 25/08/2009 at 09:48, xxxxxxxx wrote:

    In this case it's just basic vector/matrix algebra. The examples are full of it. If you haven't done it yet I recommend to get familiar with vector/matrix algebra. There is an excellent introduction in the COFFEE documentation called " Using matrices".

    cheers,
    Matthias


Log in to reply