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

    Polygon Position

    SDK Help
    0
    47
    36.5k
    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 15/03/2010 at 17:49, xxxxxxxx wrote:

      okay .. 100% might have been a bit over zealous.    I've got rotations working properly, but now I am having an issue with position.

      I use

      firstSelection->SetPos((opMatrix * polyLocation));

      to set where the object will sit on the polygon (the center).

      however,  I get this...

      I want for it to look like this...

      You can see in the second image that the smaller cube is sitting so that the face is right against the polygon of the larger cube.   THis is the result I am looking for.

      I have tried adding the radius of the smaller cube to the position of the smaller cube but this only works correctly if the object is a cube,  otherwise I get some funky results.

      Is there a better way to get the postition of the cube to rest polygon to polygon.   For example,  could I temporarily change the axis of the smaller cube so that when I change the position of the smaller cube, the axis is at the outer edge,  and then after I have changed the postiiton, change the axis back..   Is this possible?

      How would I change the axis of a polygon object?  I have looked at SetModelingAxis() but am not sure how I would use it...

      Any help would be greatly appreciated.

      Thanks a lot.

      ~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 16/03/2010 at 01:01, xxxxxxxx wrote:

        I don't know for sure how the tool is supposed to work. Can you post a screenshot of a different example with a more complex geometry?

        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 16/03/2010 at 02:47, xxxxxxxx wrote:

          Thanks Matthias,

          Here are some screen shots of the whole process..  Hopefully this makes what I am doing a little clearer.  🙂

          The reason I get only half of the cube being visible is that SetPos() is putting the cube in the position of the center of the polygon.  However,  the position of the cube is based on the axis of the cube which is in the center of the cube.

          I would like to move the axis of the cube to the center of one of the polygons on teh cube so that this polygon is then set on the polygon of the 2nd object instead of the center of the cube.

          So after all of that....    I really just need to know how to move the axis of the cube from the center of the cube to the center of one of the polygons of the cube.

          LOL

          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 17/03/2010 at 01:11, xxxxxxxx wrote:

            I assume you have created a rotation matrix for the cube's selected polygon. Translate this matrix into global space. Translate the object's matrix (axis) into global space. Translate the new global object's matrix into the polygon's rotation matrix local space. Now offset the the object's matrix by the difference of the original rotation and object matrix offsets.

            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 17/03/2010 at 17:18, xxxxxxxx wrote:

              To translate the rotation Matrix of the cube's polygon to global space, I will need to multiply that by the cube's local matrix?

              ~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 20/03/2010 at 05:38, xxxxxxxx wrote:

                I assume you have created a rotation matrix for the cube's selected polygon.

                Yes I a have.   this is name rotMatrix1

                Translate this matrix into global space.

                Is this the right way yo do this?

                Matrix globalSelPoly = rotMatrix1 * firstSelection->GetMl();

                Translate the object's matrix (axis) into global space.

                Like this?    (firstSelection is the object that represents the first object selected.)

                Matrix firstObjGlobal = firstSelection->GetMg();

                Translate the new global object's matrix into the polygon's rotation matrix local space.

                I'm not sure how to do this.   🙂  Would you mind giving an example?

                Now offset the the object's matrix by the difference of the original rotation and object matrix offsets.

                I assume that would look something like this?

                objMatrix.off = rotMAtrix.off - objMatrix.off

                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 22/03/2010 at 07:18, xxxxxxxx wrote:

                  Got it.  Thanks for everyone's help with this.  Finally worked it out.  HAHA

                  ~Shawn

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