Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    Visual Aid

    SDK Help
    0
    46
    33.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Helper
      last edited by

      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.

      1 Reply Last reply Reply Quote 0
      • H
        Helper
        last edited by

        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

        1 Reply Last reply Reply Quote 0
        • H
          Helper
          last edited by

          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";

          1 Reply Last reply Reply Quote 0
          • H
            Helper
            last edited by

            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

            1 Reply Last reply Reply Quote 0
            • H
              Helper
              last edited by

              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

              1 Reply Last reply Reply Quote 0
              • H
                Helper
                last edited by

                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

                1 Reply Last reply Reply Quote 0
                • H
                  Helper
                  last edited by

                  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

                  1 Reply Last reply Reply Quote 0
                  • H
                    Helper
                    last edited by

                    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

                    1 Reply Last reply Reply Quote 0
                    • H
                      Helper
                      last edited by

                      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

                      1 Reply Last reply Reply Quote 0
                      • H
                        Helper
                        last edited by

                        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

                        1 Reply Last reply Reply Quote 0
                        • H
                          Helper
                          last edited by

                          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

                          1 Reply Last reply Reply Quote 0
                          • H
                            Helper
                            last edited by

                            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

                            1 Reply Last reply Reply Quote 0
                            • H
                              Helper
                              last edited by

                              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.

                              1 Reply Last reply Reply Quote 0
                              • H
                                Helper
                                last edited by

                                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

                                1 Reply Last reply Reply Quote 0
                                • H
                                  Helper
                                  last edited by

                                  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);

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    Helper
                                    last edited by

                                    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

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      Helper
                                      last edited by

                                      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

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        Helper
                                        last edited by

                                        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

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          Helper
                                          last edited by

                                          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

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            Helper
                                            last edited by

                                            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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post