mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
1. There has been implemented calculation of all possible types of continuity for shared edges: * G1 is set if tangential planes are the same for connected faces in each control points through the edge; * C1 is set in addition to G1 conditions if derivatives, orthogonal to the edge on each face, are equal vectors; * G2 is set in addition to G1 if the centers of principal curvatures are the same for connected faces in each control points through the edge; * C2 is set in addition to C1 and G2 if directions of principal curvatures are equal; * CN continuity is set only if both connected faces are based on elementary surfaces (the conditions for this case are similar to C2 continuity). 2. ShapeFix::EncodeRegularity() is merged into BRepLib::EncodeRegularity(). 3. Implemented several test cases to check correct handling of regularity. 4. Fix incorrect usage of BRepLib::EncodeRegularity() in BRepBuilderAPI_Sewing. 5. Implement a method for calculation of regularity on the given list of edges. 6. Documentation updates
29 lines
765 B
Plaintext
29 lines
765 B
Plaintext
puts "========"
|
|
puts "0027383: Modeling - improve handling of regularity on edges"
|
|
puts "========"
|
|
puts ""
|
|
#################################################################
|
|
# Check regularity setting on edges between same-domain faces after fuse
|
|
#################################################################
|
|
|
|
# fuse of two boxes
|
|
pload MODELING
|
|
box b1 10 10 10
|
|
box b2 5 5 0 10 10 10
|
|
bfuse r b1 b2
|
|
explode r f
|
|
explode r_7 e
|
|
getedgeregularity r_7_3 r_3 r_7 ;# returns C0: regularity is not set at all
|
|
encoderegularity r
|
|
|
|
if { ! [regexp "CN" [getedgeregularity r_7_3 r_3 r_7]] } {
|
|
puts "Error: Invalid regularity of the edge, expected CN"
|
|
}
|
|
|
|
# make image in HLR mode as illustration
|
|
pload VISUALIZATION
|
|
vdisplay r
|
|
vfit
|
|
vhlr on
|
|
vdump ${imagedir}/${test_image}.png
|