[feature request] Ray casting from other objects than ground (3D plants or PV panels)
- Difficulté à connaitre la lumière reçue par les objets de notre scène car on n'avait pas de moyen d'avoir facilement un échantillonnage de point au niveau de la surface. Seul le "sol" était échantillonné via un maillage régulier.
- Les points "sources" n'étaient pas lié à leur origine via un objet de mapping. Donc même si on ajoutait des points sources au niveau des objets de la scène, il aurait été compliqué d'ensuite lié la sortie de multi_ray_trace avec l'objet de la scène concerné. Ce problème en forward peut être traduit par le besoin de connaitre l'organe de la plante touchée par le rayon.
Sur base de cela, j'ai proposé deux fonctions
- Une fonction qui permet d'échantillonner une surface "Get_Surface_Sample_Points" qui utilise des filtres vtk pour cela. Attention il semble que cela nécessite une version récente de VTK (9.2.6 pour moi). Cette fonction retourne des triplets de points "régulièrement" espacé provenant de la surface, deux algorithmes sont possibles mais la version "poisson" semble meilleure.
- La création de dictionnaires à partir de polydata / triplets de points (Get_Points_Dict_From_Surface/Sampling), ces dictionnaires utilisent un tuple constitué d'un triplet de points comme clé et par exemple un texte comme valeur. Concrètement cela donne (X,Y,Z):"PV_Superieur". Je pense que de cette manière on peut facilement connecter la sortie de multi_ray_trace avec ces dictionnaires (à programmer encore et vérifier les performances).
Je n'ai pas eu le temps de réécrire le code pour pouvoir tester ces outils dans un cas réel mais l'idée serait de faire une scène avec des panneaux et calculer la lumière reçue au sol et sur la face supérieure du panneau par exemple.
Edited by Bouvry Arnaud