From c2abc3f844460e1aafb495cb15b11f33cdbd3841 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Sat, 8 Aug 2026 13:29:29 +0200 Subject: [PATCH] Remove old Java Native Interface code --- src/ifcjni/CITATION.cff | 18 ---- src/ifcjni/IfcJni.cpp | 85 ------------------- .../org_ifcopenshell_IfcOpenShellModel.h | 37 -------- 3 files changed, 140 deletions(-) delete mode 100644 src/ifcjni/CITATION.cff delete mode 100644 src/ifcjni/IfcJni.cpp delete mode 100644 src/ifcjni/org_ifcopenshell_IfcOpenShellModel.h diff --git a/src/ifcjni/CITATION.cff b/src/ifcjni/CITATION.cff deleted file mode 100644 index d6194f783c..0000000000 --- a/src/ifcjni/CITATION.cff +++ /dev/null @@ -1,18 +0,0 @@ -# This CITATION.cff file was generated with cffinit. -# Visit https://bit.ly/cffinit to generate yours today! - -cff-version: 1.2.0 -title: ifcjni -message: >- - If you use this software, please cite it using the - metadata from this file. -type: software -authors: - - name: IfcOpenShell contributors -repository-code: >- - https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.8.0/src/ifcjni -abstract: Internal library for IfcOpenShell -keywords: - - IfcOpenShell - - IFC -license: LGPL-3.0-or-later diff --git a/src/ifcjni/IfcJni.cpp b/src/ifcjni/IfcJni.cpp deleted file mode 100644 index 423730ff2c..0000000000 --- a/src/ifcjni/IfcJni.cpp +++ /dev/null @@ -1,85 +0,0 @@ -/******************************************************************************** -* * -* This file is part of IfcOpenShell. * -* * -* IfcOpenShell is free software: you can redistribute it and/or modify * -* it under the terms of the Lesser GNU General Public License as published by * -* the Free Software Foundation, either version 3.0 of the License, or * -* (at your option) any later version. * -* * -* IfcOpenShell is distributed in the hope that it will be useful, * -* but WITHOUT ANY WARRANTY; without even the implied warranty of * -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -* Lesser GNU General Public License for more details. * -* * -* You should have received a copy of the Lesser GNU General Public License * -* along with this program. If not, see . * -* * -********************************************************************************/ - -/******************************************************************************** -* * -* This is a JNI interface to IfcOpenShell for use with the open source * -* http://BIMserver.org * -* * -********************************************************************************/ - -#include "org_ifcopenshell_IfcOpenShellModel.h" -#include "../ifcgeom/IfcGeomObjects.h" - -static bool has_more = false; - -JNIEXPORT jobject JNICALL Java_org_ifcopenshell_IfcOpenShellModel_getGeometry (JNIEnv * env, jobject) { - if ( ! has_more ) return 0; - jclass class_def = env->FindClass ("org/ifcopenshell/IfcGeomObject"); - if ( ! class_def ) return 0; - jmethodID jconstructor = env->GetMethodID(class_def, "", "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[I[F[F)V"); - if ( ! jconstructor ) return 0; - const IfcGeomObjects::IfcGeomObject* o = IfcGeomObjects::Get(); - - jstring name = env->NewStringUTF(o->name().c_str()); - jstring type = env->NewStringUTF(o->type().c_str()); - jstring guid = env->NewStringUTF(o->guid().c_str()); - - jintArray indices = env->NewIntArray(o->mesh().faces().size()); - jfloatArray positions = env->NewFloatArray(o->mesh().verts().size()); - jfloatArray normals = env->NewFloatArray(o->mesh().normals().size()); - - env->SetIntArrayRegion(indices,0,o->mesh().faces().size(),(jint*) &o->mesh().faces()[0]); - env->SetFloatArrayRegion(positions,0,o->mesh().verts().size(),(jfloat*) &o->mesh().verts()[0]); - env->SetFloatArrayRegion(normals,0,o->mesh().normals().size(),(jfloat*) &o->mesh().normals()[0]); - - jobject return_obj = env->NewObject(class_def, jconstructor, o->id(), name, type, guid, indices, positions, normals); - - env->DeleteLocalRef(name); - env->DeleteLocalRef(type); - env->DeleteLocalRef(guid); - env->DeleteLocalRef(indices); - env->DeleteLocalRef(positions); - env->DeleteLocalRef(normals); - env->DeleteLocalRef(class_def); - - has_more = IfcGeomObjects::Next(); - if ( ! has_more ) IfcGeomObjects::CleanUp(); - - return return_obj; -} - -JNIEXPORT jboolean JNICALL Java_org_ifcopenshell_IfcOpenShellModel_setIfcData (JNIEnv * env, jobject, jbyteArray jdata) { - if ( ! jdata ) return false; - const int length = env->GetArrayLength(jdata); - jboolean is_copy = false; - jbyte* jbytes = env->GetByteArrayElements(jdata, &is_copy); - if ( ! jbytes || ! length ) return false; - void* data = new char[length]; - memcpy(data,jbytes,length); - env->ReleaseByteArrayElements(jdata, jbytes, JNI_ABORT); - IfcGeomObjects::Settings(IfcGeomObjects::USE_WORLD_COORDS, true); - IfcGeomObjects::Settings(IfcGeomObjects::WELD_VERTICES, false); - IfcGeomObjects::Settings(IfcGeomObjects::CONVERT_BACK_UNITS, true); - return has_more = IfcGeomObjects::Init(data, length); -} - -JNIEXPORT jstring JNICALL Java_org_ifcopenshell_IfcOpenShellModel_getPluginVersion (JNIEnv * env, jobject) { - return env->NewStringUTF(IFCOPENSHELL_VERSION); -} \ No newline at end of file diff --git a/src/ifcjni/org_ifcopenshell_IfcOpenShellModel.h b/src/ifcjni/org_ifcopenshell_IfcOpenShellModel.h deleted file mode 100644 index 0cf7a2daeb..0000000000 --- a/src/ifcjni/org_ifcopenshell_IfcOpenShellModel.h +++ /dev/null @@ -1,37 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_ifcopenshell_IfcOpenShellModel */ - -#ifndef _Included_org_ifcopenshell_IfcOpenShellModel -#define _Included_org_ifcopenshell_IfcOpenShellModel -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_ifcopenshell_IfcOpenShellModel - * Method: getGeometry - * Signature: ()Lorg/ifcopenshell/IfcGeomObject; - */ -JNIEXPORT jobject JNICALL Java_org_ifcopenshell_IfcOpenShellModel_getGeometry - (JNIEnv *, jobject); - -/* - * Class: org_ifcopenshell_IfcOpenShellModel - * Method: setIfcData - * Signature: ([B)Z - */ -JNIEXPORT jboolean JNICALL Java_org_ifcopenshell_IfcOpenShellModel_setIfcData - (JNIEnv *, jobject, jbyteArray); - -/* - * Class: org_ifcopenshell_IfcOpenShellModel - * Method: getPluginVersion - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_ifcopenshell_IfcOpenShellModel_getPluginVersion - (JNIEnv *, jobject); - -#ifdef __cplusplus -} -#endif -#endif