C y C++
El kit de desarrollo de software (SDK) de Lot Of Points permite añadir comandos como bibliotecas de enlace
dinámico (DLL) de Windows de 64 bits. Cada comando declara su botón y ejecuta una función run en un hilo
propio. El comando elige las nubes y solicita al programa las operaciones que necesita.
La interfaz de programación de aplicaciones (API) de C está definida en lop_sdk.h. La DLL exporta
lop_register_commands, que devuelve sus declaraciones lop_command. La API de C++ permite utilizar la interfaz de C
mediante las clases de lop/sdk.hpp. La API de Python expone las
mismas operaciones del anfitrión.
Archivos del SDK
| Archivo o carpeta | Contenido |
|---|---|
Sdk/include/lop_sdk.h |
Tipos de C, constantes y firma de registro. |
Sdk/include/lop/sdk.hpp |
Clases de C++20; la implementación está en la cabecera. |
Sdk/example/ |
Cinco comandos de lop_examples.dll y su archivo CMakeLists.txt. |
Sdk/example/python/ |
Datos del punto y Seleccionar objeto escritos en Python. |
Sdk/tools/png_to_header.ps1 |
Conversión de un icono en formato PNG (Portable Network Graphics) en una cabecera de C. |
LOP_SDK_API_VERSION vale 1. La DLL debe compilarse con la cabecera actual.
La rama actual ha eliminado lop_algorithms.h y no carga extensiones que exporten únicamente lop_register.
Operaciones de un comando
run recibe un lop_command_host, el anfitrión que proporciona Lot Of Points. Las funciones que esperan
un clic o la carga de puntos bloquean el hilo del comando; la interfaz continúa atendiendo la navegación.
| Operación | Función |
|---|---|
| Consultar las nubes abiertas y sus condiciones de procesamiento | clouds |
| Esperar un punto y filtrar candidatos por sus atributos o por su nube | ask_point |
| Obtener los puntos de una esfera | points_in_sphere |
| Dejar puntos seleccionados para una acción posterior del usuario | select_points |
| Procesar las nubes elegidas por teselas | process_tiles |
| Cargar tablas de un GeoPackage como capas | load_geopackage |
| Consultar el nombre actual de una clase | class_name |
El comando combina LOP_REQUIRES_* en requirements para declarar cuándo se habilita su botón.
El comando comprueba además los datos concretos que necesita al ejecutarse.
Para desarrollar una extensión, consulta el ejemplo en C, la capa de C++ y la referencia de lop_sdk.h. La página Instalar y comprobar una DLL describe la instalación y los diagnósticos de carga.