View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0032716 | Open CASCADE | OCCT:Modeling Algorithms | public | 2021-12-06 21:23 | 2022-07-05 10:00 |
Reporter | kgv | Assigned To | azv | ||
Priority | normal | Severity | minor | ||
Status | assigned | Resolution | open | ||
Product Version | 7.6.0 | ||||
Target Version | 7.7.0 | ||||
Summary | 0032716: Modeling Algorithms - BRepBuilderAPI_Transform discards triangulation | ||||
Description | BRepBuilderAPI_ModifyShape has severe issue in handling faces - existing triangulation is always removed. This leads to two issues: - User has to re-triangulate shape, which might be much more expensive than transforming triangulation nodes. - Triangulation-only shapes are corrupted or lead to NULL-dereference in algorithm. | ||||
Steps To Reproduce | pload MODELING psphere s 1 incmesh s 1 trinfo s tscale s 0 0 0 0.5 trinfo s # KO - triangulation is empty incmesh s 1 tclean -geom s tscale s 0 0 0 0.5 # KO - crash in the algorithm trinfo s | ||||
Tags | No tags attached. | ||||
Test case number | |||||
parent of | 0033049 | assigned | azv | Open CASCADE | Command 'tclean -geom' does not remove all geometric objects from the shape |
related to | 0031479 | assigned | azv | Community | Modeling Algorithms - exception on geometry transformation of triangulation-only shapes (without geometry surface) |
child of | 0028125 | new | msv | Open CASCADE | Modeling Algorithms - support of BRep shapes based on tessellated geometry |
Not all the children of this issue are yet resolved or closed. |
|
Branch CR32716 has been created by AndreyLA. SHA-1: 6260a581acda84cfc96c5c2589b21b36dd09651a Detailed log of new commits: Author: Andrei LATYSHEV Date: Fri Apr 1 16:45:02 2022 +0300 0032716: Modeling Algorithms - BRepBuilderAPI_Transform discards triangulation The methods for BRepTools_TrsfModification are defined and modified to keep the triangulation during 'tscale' operation. |
|
+ //Applying the transformation to each node of triangulation + aP = theTriangulation->Node(i).Transformed(myTrsf); + theTriangulation->SetNode(i, aP); It might be better adding the method `Poly_Triangulation::Transform (const gp_Trsf& theT)` / `Poly_Polygon3D::Transform()`. It is not enough transforming triangulation nodes, normals should be transformed as well. +Standard_EXPORT Standard_Boolean BRepTools_TrsfModification::NewPolygon `Standard_EXPORT` should not appear in .cxx files. + TColgp_Array1OfPnt aNodesArray = aPolygon->Nodes(); Would be nice adding `Poly_Polygon3D::Copy()` for consistency with other classes. |
|
Branch CR32716 has been updated by AndreyLA. SHA-1: f103aaf0b774ec20944279f60fbb6ba484712a57 Detailed log of new commits: Author: Andrei LATYSHEV Date: Mon Apr 4 11:28:10 2022 +0300 0031479: Modeling Algorithms - exception on geometry transformation of triangulation-only shapes (without geometry surface) Added test for user's problem case |
|
Branch CR32716 has been updated forcibly by AndreyLA. SHA-1: 032b35fe3756570da94b8000b649d90af95c768c |
|
+ aV = gp_Vec(myNormals(i).x(), myNormals(i).y(), myNormals(i).z()).Transformed(theT); + Standard_Real aCoef = aV.Magnitude(); + aV = aV / aCoef; Normal vectors couldn't be transformed like that - see gp_Dir::Transform() implementation. + // Apply the transformation to the triangulation + Standard_EXPORT void Transform(const gp_Trsf& theT); `//!` + for (Standard_Integer i = 1; i < myNodes.Length(); ++i) + { Indexation of `myNodes` doesn't start from `1`. +//function : RemoveNormals +//purpose : +//======================================================================= +void Poly_Triangulation::Transform(const gp_Trsf& theT) Inconsistent header. |
|
Branch CR32716 has been updated forcibly by AndreyLA. SHA-1: 18006ef5d72ea6c26c6db5d286523b8771b26b8c |
|
Branch CR32716_1 has been created by abulychev-ext. SHA-1: ab0770a8a2ece7d17f10b87bb66999d6232c35d9 Detailed log of new commits: Author: abulyche Date: Wed Apr 20 17:14:07 2022 +0300 0032716: Modeling Algorithms - BRepBuilderAPI_Transform discards triangulation Added the test to reproduce this problem. The methods for BRepTools_TrsfModification are defined and modified to keep the triangulation during 'tscale' operation. |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: c60dffcbd8213545868226ea5988cb3d1d56ed8a |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 0f03881816c15a866589716244c521a54ee9b3cd |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: bc663ebe7339d8506c1f7151760e279f3ca26c79 |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 119d50b9108dafa8cccddc29b7ba3fcb0f3768ca |
|
It is desired to create screenshots within the test to be able to verify visually that transformed mesh has correct vertex normals.+++ b/tests/bugs/mesh/bug32716 |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 4f79f2608234a088a9e62f6d87505d525f795b5c |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: fccc483a4a4d1e50fe65d67666cc04b3c5cdcb7d |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: d0f2f33afec724c570e5cb7481b5d94367b1313b |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: da5f2b9674fe02cd4cf70e2e60fc78b9e484682b |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: b4f9584d53ed31ef06f75003d2dc1566a9b67c65 |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 50c778f9d6f5066db7fcfd15fd5f2b2eac013a5d |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 14eee5b59de84f112300a254e5bb8836aa52f5bb |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 0c861e6b8a99885e88059b55e42835f425e8fa0b |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 0dd0b1ec845d99ab28c370ec480e6bce09e2521a |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 3855a11c154f1b22b957d2bd373a62e0fc977535 |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: b8c3da059ea2621a9031019e452b90443de74233 |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 99fcf3aa9364c61c678a4c0ef930e73b91fd9435 |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 5b8f46c19fd3ecb5a158cab171f3a78b5962999f |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: e80a0b1a353e173418656e3e2ab75f12d846cae8 |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 2030e2083801a1b5c2c8c10d3ce10eed7c58496c |
|
Branch CR32716_1 has been updated forcibly by abulychev-ext. SHA-1: 78c7d475fe418b97948ad20cf139d4dc0370c90f |
|
Branch CR32716_2 has been created by azv. SHA-1: 1dfb856ec0f454231556deddf6caa6447d2ec5d0 Detailed log of new commits: Author: azv Date: Fri Jul 1 16:46:55 2022 +0300 0031479: Modeling Algorithms - exception on geometry transformation of triangulation-only shapes (without geometry surface) * Avoid crash in BRepBuilderAPI_GTransform algorithm. The crash in BRepBuilder_Transform has been solved by 0032716. * Move copying modifier to BRepTools package. * Implement transformation of a triangulation in BRepTools_GTrsfModification. Author: abulyche Date: Wed Apr 20 17:14:07 2022 +0300 0032716: Modeling Algorithms - BRepBuilderAPI_Transform discards triangulation * Implement methods for copying tessellation to BRepTools_TrsfModification to keep the triangulation during transformation. * Add tests to reproduce the problem. Author: azv Date: Fri Jul 1 15:59:40 2022 +0300 0033049: Command 'tclean -geom' does not remove all geometric objects from the shape Remove unused P-curves when cleaning the geometry |
|
Branch CR32716_2 has been updated forcibly by azv. SHA-1: 878195b296d3ed3e8e51221f1a21d4410c572b9a |
Date Modified | Username | Field | Change |
---|---|---|---|
2021-12-06 21:23 | kgv | New Issue | |
2021-12-06 21:23 | kgv | Assigned To | => msv |
2021-12-06 21:24 | kgv | Relationship added | child of 0028125 |
2022-03-21 20:25 | azv | Assigned To | msv => AndreyLA |
2022-03-21 20:25 | azv | Status | new => assigned |
2022-03-24 11:54 | azv | Relationship added | related to 0031479 |
2022-04-01 16:45 | git | Note Added: 0107545 | |
2022-04-03 15:02 | kgv | Note Added: 0107572 | |
2022-04-04 11:28 | git | Note Added: 0107584 | |
2022-04-04 18:54 | git | Note Added: 0107598 | |
2022-04-04 19:32 | kgv | Note Added: 0107600 | |
2022-04-05 13:15 | git | Note Added: 0107637 | |
2022-04-15 12:42 | azv | Assigned To | AndreyLA => abulychev-ext |
2022-04-20 17:14 | git | Note Added: 0108051 | |
2022-04-25 11:43 | git | Note Added: 0108143 | |
2022-04-27 20:51 | git | Note Added: 0108229 | |
2022-04-28 03:00 | git | Note Added: 0108230 | |
2022-05-03 14:23 | git | Note Added: 0108284 | |
2022-05-04 14:42 | kgv | Note Added: 0108303 | |
2022-05-05 01:50 | git | Note Added: 0108330 | |
2022-05-16 14:55 | git | Note Added: 0108443 | |
2022-05-16 16:47 | git | Note Added: 0108447 | |
2022-05-17 20:07 | git | Note Added: 0108476 | |
2022-05-18 15:36 | git | Note Added: 0108485 | |
2022-05-25 13:03 | git | Note Added: 0108608 | |
2022-05-25 15:16 | git | Note Added: 0108611 | |
2022-05-25 16:46 | git | Note Added: 0108613 | |
2022-05-26 20:05 | git | Note Added: 0108633 | |
2022-05-30 11:31 | git | Note Added: 0108742 | |
2022-05-31 15:47 | git | Note Added: 0108758 | |
2022-06-08 11:51 | git | Note Added: 0108902 | |
2022-06-08 11:52 | git | Note Added: 0108903 | |
2022-06-09 10:26 | git | Note Added: 0108928 | |
2022-06-29 12:21 | git | Note Added: 0109369 | |
2022-06-29 16:10 | git | Note Added: 0109390 | |
2022-07-01 15:08 | azv | Relationship added | parent of 0033049 |
2022-07-02 15:40 | git | Note Added: 0109515 | |
2022-07-02 15:45 | azv | Assigned To | abulychev-ext => azv |
2022-07-05 10:00 | git | Note Added: 0109555 |