/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #include "OdaCommon.h" #include "Ge/GePoint3dArray.h" #include "Ge/GePoint3d.h" #include "Ge/GeExtents3d.h" #include "Int32Array.h" // see attachment for http://bugzilla.opendesign.com/show_bug.cgi?id=7174 void setDbSubDMeshData(OdGePoint3dArray& vertexArray, OdInt32Array& faceArray, OdGeExtents3d& ext) { // fill vertices vertexArray.clear(); vertexArray.insert(vertexArray.begin(), { OdGePoint3d(2.8501694202423096, 1.6141731739044189,1.1811023950576782), OdGePoint3d(2.8501694202423096, 1.6141731739044189,0.39370077848434448), OdGePoint3d(0.33048447966575623, 1.6141731739044189,0.39370077848434448), OdGePoint3d(0.33048447966575623, 1.6141731739044189,1.1811023950576782), OdGePoint3d(2.8501694202423096, -1.6141731739044189,1.1811023950576782), OdGePoint3d(0.33048447966575623, -1.6141731739044189,1.1811023950576782), OdGePoint3d(0.33048447966575623, -1.6141731739044189,0.39370077848434448), OdGePoint3d(2.8501694202423096, -1.6141731739044189,0.39370077848434448), OdGePoint3d(0.33048447966575623, -1.4725021123886108,0.33086803555488586), OdGePoint3d(2.8501694202423096, -1.4725021123886108,0.33086803555488586), OdGePoint3d(0.33048447966575623, -1.3587861061096191,0.22557161748409271), OdGePoint3d(2.8501694202423096, -1.3587861061096191,0.22557161748409271), OdGePoint3d(0.33048447966575623, -1.2852622270584106,0.089142479002475739), OdGePoint3d(2.8501694202423096, -1.2852622270584106,0.089142479002475739), OdGePoint3d(0.33048447966575623, -1.2598425149917603,-0.063738189637660980), OdGePoint3d(2.8501694202423096, -1.2598425149917603,-0.063738189637660980), OdGePoint3d(0.33048447966575623, -1.2598425149917603,-0.78740155696868896), OdGePoint3d(2.8501694202423096, -1.2598425149917603,-0.78740155696868896), OdGePoint3d(2.8501694202423096, -0.70866143703460693,-0.78740155696868896), OdGePoint3d(0.33048447966575623, -0.70866143703460693,-0.78740155696868896), OdGePoint3d(2.8501694202423096, -0.35117831826210022,-0.42991846799850464), OdGePoint3d(0.33048447966575623, -0.35117831826210022,-0.42991846799850464), OdGePoint3d(0.33048447966575623, -0.48503947257995605,-0.26998671889305115), OdGePoint3d(2.8501694202423096, -0.48503947257995605,-0.26998671889305115), OdGePoint3d(0.33048447966575623, -0.55043613910675049,-0.071945667266845703), OdGePoint3d(2.8501694202423096, -0.55043613910675049,-0.071945667266845703), OdGePoint3d(0.33048447966575623, -0.53813737630844116,0.13625068962574005), OdGePoint3d(2.8501694202423096, -0.53813737630844116,0.13625068962574005), OdGePoint3d(0.33048447966575623, -0.44987928867340088,0.32521492242813110), OdGePoint3d(2.8501694202423096, -0.44987928867340088,0.32521492242813110), OdGePoint3d(0.33048447966575623, -0.29811960458755493,0.46827429533004761), OdGePoint3d(2.8501694202423096, -0.29811960458755493,0.46827429533004761), OdGePoint3d(0.33048447966575623, -0.10427964478731155,0.54523563385009766), OdGePoint3d(2.8501694202423096, -0.10427964478731155,0.54523563385009766), OdGePoint3d(0.33048447966575623, 0.10427964478731155,0.54523563385009766), OdGePoint3d(2.8501694202423096, 0.10427964478731155,0.54523563385009766), OdGePoint3d(0.33048447966575623, 0.29811960458755493,0.46827429533004761), OdGePoint3d(2.8501694202423096, 0.29811960458755493,0.46827429533004761), OdGePoint3d(0.33048447966575623, 0.44987928867340088,0.32521492242813110), OdGePoint3d(2.8501694202423096, 0.44987928867340088,0.32521492242813110), OdGePoint3d(0.33048447966575623, 0.53813737630844116,0.13625068962574005), OdGePoint3d(2.8501694202423096, 0.53813737630844116,0.13625068962574005), OdGePoint3d(0.33048447966575623, 0.55043613910675049,-0.071945667266845703), OdGePoint3d(2.8501694202423096, 0.55043613910675049,-0.071945667266845703), OdGePoint3d(0.33048447966575623, 0.48503947257995605,-0.26998671889305115), OdGePoint3d(2.8501694202423096, 0.48503947257995605,-0.26998671889305115), OdGePoint3d(0.33048447966575623, 0.35117831826210022,-0.42991846799850464), OdGePoint3d(2.8501694202423096, 0.35117831826210022,-0.42991846799850464), OdGePoint3d(2.8501694202423096, 0.70866143703460693,-0.78740155696868896), OdGePoint3d(0.33048447966575623, 0.70866143703460693,-0.78740155696868896), OdGePoint3d(2.8501694202423096, 1.2598425149917603,-0.063738189637660980), OdGePoint3d(2.8501694202423096, 1.3587861061096191,0.22557161748409271), OdGePoint3d(2.8501694202423096, 1.4725021123886108,0.33086803555488586), OdGePoint3d(2.8501694202423096, 1.2852622270584106,0.089142479002475739), OdGePoint3d(2.8501694202423096, 1.2598425149917603,-0.78740155696868896), OdGePoint3d(0.33048447966575623, 1.2852622270584106,0.089142479002475739), OdGePoint3d(0.33048447966575623, 1.2598425149917603,-0.063738189637660980), OdGePoint3d(0.33048447966575623, 1.3587861061096191,0.22557161748409271), OdGePoint3d(0.33048447966575623, 1.4725021123886108,0.33086803555488586), OdGePoint3d(0.33048447966575623, 1.2598425149917603,-0.78740155696868896), }); // find bbox ext.addPoints(vertexArray); // fill faces faceArray.clear(); faceArray.insert(faceArray.begin(), { 3, 0, 1, 2, 3, 2, 3, 0, 3, 4, 0, 3, 3, 3, 5, 4, 3, 5, 6, 7, 3, 7, 4, 5, 3, 7, 6, 8, 3, 9, 8, 10, 3, 11, 10, 12, 3, 13, 12, 14, 3, 14, 15, 13, 3, 12, 13, 11, 3, 10, 11, 9, 3, 8, 9, 7, 3, 14, 16, 17, 3, 17, 15, 14, 3, 18, 17, 16, 3, 16, 19, 18, 3, 20, 18, 19, 3, 19, 21, 20, 3, 20, 21, 22, 3, 23, 22, 24, 3, 25, 24, 26, 3, 27, 26, 28, 3, 29, 28, 30, 3, 31, 30, 32, 3, 33, 32, 34, 3, 35, 34, 36, 3, 37, 36, 38, 3, 39, 38, 40, 3, 41, 40, 42, 3, 43, 42, 44, 3, 45, 44, 46, 3, 46, 47, 45, 3, 44, 45, 43, 3, 42, 43, 41, 3, 40, 41, 39, 3, 38, 39, 37, 3, 36, 37, 35, 3, 34, 35, 33, 3, 32, 33, 31, 3, 30, 31, 29, 3, 28, 29, 27, 3, 26, 27, 25, 3, 24, 25, 23, 3, 22, 23, 20, 3, 48, 47, 46, 3, 46, 49, 48, 3, 27, 9, 11, 3, 41, 43, 50, 3, 39, 41, 1, 3, 4, 33, 35, 3, 27, 13, 15, 3, 27, 7, 9, 3, 41, 51, 52, 3, 50, 53, 41, 3, 0, 37, 39, 3, 35, 0, 4, 3, 29, 4, 7, 3, 11, 13, 27, 3, 54, 50, 43, 3, 53, 51, 41, 3, 35, 37, 0, 3, 4, 29, 31, 3, 15, 25, 27, 3, 17, 23, 25, 3, 52, 1, 41, 3, 31, 33, 4, 3, 25, 15, 17, 3, 23, 17, 18, 3, 1, 0, 39, 3, 18, 20, 23, 3, 45, 47, 48, 3, 7, 27, 29, 3, 43, 45, 54, 3, 48, 54, 45, 3, 26, 12, 10, 3, 10, 8, 26, 3, 26, 24, 14, 3, 5, 3, 34, 3, 22, 21, 19, 3, 16, 14, 24, 3, 14, 12, 26, 3, 28, 26, 6, 3, 5, 32, 30, 3, 3, 36, 34, 3, 38, 3, 2, 3, 40, 55, 56, 3, 24, 22, 16, 3, 6, 5, 28, 3, 34, 32, 5, 3, 2, 40, 38, 3, 40, 57, 55, 3, 40, 2, 58, 3, 8, 6, 26, 3, 38, 36, 3, 3, 58, 57, 40, 3, 59, 44, 42, 3, 30, 28, 5, 3, 42, 56, 59, 3, 56, 42, 40, 3, 44, 59, 49, 3, 49, 46, 44, 3, 19, 16, 22, 3, 54, 48, 49, 3, 49, 59, 54, 3, 50, 54, 59, 3, 59, 56, 50, 3, 2, 1, 52, 3, 58, 52, 51, 3, 57, 51, 53, 3, 55, 53, 50, 3, 50, 56, 55, 3, 53, 55, 57, 3, 51, 57, 58, 3, 52, 58, 2, }); }