Object Combination B1+C1+T1 = CJ2 and CJ3

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Object Combination B1+C1+T1 = CJ2 and CJ3

randress
The test case model consists of three objects: block B1 and cone C1 (which intersect in a plane at the bottom of the cone), and toroid T1 (which intersects C1 in a line - a circle).

These are the parameters and order of creation.
gobj = gobj_block( [-.5], [.5], [-.5], [.5], [-.5], [.5], 'B1' );
gobj = gobj_cone( [0 0 .5], [0.5], [0.25], [1], [0 0 1], 'C1' );
gobj = gobj_torus( [0 0 1.7], [0.25], [0.2], [0 0 1], 'T1' );

It can be constructed and stored in MATLAB variable "g5" by executing:

build_block_cone_toroid.m

Here is what is looks like before the combine:



Two objects result from the Combine operation: CJ2 and CJ3



I expected the result of adding the three objects to be a single object as in the following slightly modified case where the toroid is located 0.00001 below the original T1:
gobj = gobj_block( [-.5], [.5], [-.5], [.5], [-.5], [.5], 'B1' );
gobj = gobj_cone( [0 0 .5], [0.5], [0.25], [1], [0 0 1], 'C1' );
gobj = gobj_torus( [0 0 1.69999], [0.25], [0.2], [0 0 1], 'T1' );

... and where the sum B1+C1+T1



... does produce a single combined single object, CJ2:



Perhaps in the first case -
gobj = gobj_torus( [0 0 1.7], [0.25], [0.2], [0 0 1], 'T1' )
- the toroid does NOT intersect/touch the cone along the circumference of the cone's upper end, as it appears. But then if that were the case, I would expect geomtool to refuse the operation.

Hope this is helpful,
-Randal
Reply | Threaded
Open this post in threaded view
|

Re: Object Combination B1+C1+T1 = CJ2 and CJ3

randress
This post was updated on .
I have learned that this "issue" is no issue at all, but my incorrect understanding of how objects must intersect/touch in order to be "Combined":

If the objects do not overlap (contain common space.), the objects must share some portion of a common:
    (if 3D) face in the form of a planar boundary. 

    (if 2D) common border in the form of a line.

In the case of the above B1+C1+T1 (a 3D one), the intersection/touch zone of the toroid with the top of the cone was a line (a circle) not a plane, therefore the Combine operation was illegal.

Now (beta2) if it is attempted an Error is displayed.



-Randal