EgtExch3dm :

- ulteriore piccola miglioria in import/export trasparenza di colore per 3dm.
This commit is contained in:
Dario Sassi
2026-01-26 16:06:38 +01:00
parent 74aced79bf
commit 47856162bf
2 changed files with 3 additions and 2 deletions
+2 -1
View File
@@ -26,6 +26,7 @@
#include "/EgtDev/Include/EGkExtText.h"
#include "/EgtDev/Include/EGkExtDimension.h"
#include "/EgtDev/Include/EGnStringUtils.h"
#include "/EgtDev/Include/EgtNumUtils.h"
#include "/EgtDev/Include/EgtKeyCodes.h"
#include <fstream>
@@ -295,7 +296,7 @@ Export3dm::AddObjectToModel( const IGdbIterator& iIter, ON_Object* onObject, con
pOnAttr->SetColorSource( ON::color_from_object) ;
//N.B. RHINO ha i valori di Alpha invertiti rispetto ai nostri, oltre che su una scala diversa! per loro 0 = opaco e 255 = trasparente
// per noi invece 0 = trasparente, 100 = opaco
ON_Color onCol( cCol.GetIntRed(), cCol.GetIntGreen(), cCol.GetIntBlue(), abs( lround( cCol.GetIntAlpha() * 2.55) - 255)) ;
ON_Color onCol( cCol.GetIntRed(), cCol.GetIntGreen(), cCol.GetIntBlue(), Clamp( 255 - lround( cCol.GetIntAlpha() * 2.55), 0, 255)) ;
pOnAttr->m_color = onCol ;
// se è una mesh aggiungo il materiale
if ( const ON_Mesh* onMesh = ON_Mesh::Cast( onObject)) {
+1 -1
View File
@@ -203,7 +203,7 @@ Import3dm::Import( const string& sFile, IGeomDB* pGDB, int nIdGroup,
Color cCol ;
// N.B. RHINO ha i valori di Alpha invertiti rispetto ai nostri, oltre che su una scala diversa! per loro 0 = opaco e 255 = trasparente
// per noi invece 0 = trasparente, 100 = opaco
cCol.Set( onCol.Red(), onCol.Green(), onCol.Blue(), lround( abs( onCol.Alpha() - 255) / 2.55)) ;
cCol.Set( onCol.Red(), onCol.Green(), onCol.Blue(), lround( ( 255 - onCol.Alpha()) / 2.55)) ;
// converto l'oggetto e lo aggiungo al GeomDB
ON::object_type type = oGeometry->ObjectType() ;
vector<PtrOwner<IGeoObj>> vpGeoObj ;