1 /* EXTRAITS DE LA LICENCE 2 Copyright CEA, contributeurs : Damien 3 CALISTE, laboratoire L_Sim, (2018) 4 5 Adresse mèl : 6 CALISTE, damien P caliste AT cea P fr. 7 8 Ce logiciel est un programme informatique servant à visualiser des 9 structures atomiques dans un rendu pseudo-3D. 10 11 Ce logiciel est régi par la licence CeCILL soumise au droit français et 12 respectant les principes de diffusion des logiciels libres. Vous pouvez 13 utiliser, modifier et/ou redistribuer ce programme sous les conditions 14 de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 15 sur le site "http://www.cecill.info". 16 17 Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 18 pris connaissance de la licence CeCILL, et que vous en avez accepté les 19 termes (cf. le fichier Documentation/licence.fr.txt fourni avec ce logiciel). 20 */ 21 22 /* LICENCE SUM UP 23 Copyright CEA, contributors : Damien 24 CALISTE, laboratoire L_Sim, (2018) 25 26 E-mail address: 27 CALISTE, damien P caliste AT cea P fr. 28 29 This software is a computer program whose purpose is to visualize atomic 30 configurations in 3D. 31 32 This software is governed by the CeCILL license under French law and 33 abiding by the rules of distribution of free software. You can use, 34 modify and/ or redistribute the software under the terms of the CeCILL 35 license as circulated by CEA, CNRS and INRIA at the following URL 36 "http://www.cecill.info". 37 38 The fact that you are presently reading this means that you have had 39 knowledge of the CeCILL license and that you accept its terms. You can 40 find a copy of this licence shipped with this software at Documentation/licence.en.txt. 41 */ 42 43 #ifndef POLEPROP_H 44 #define POLEPROP_H 45 46 #include <glib.h> 47 #include <glib-object.h> 48 49 #include "floatProp.h" 50 51 G_BEGIN_DECLS 52 53 #define VISU_TYPE_NODE_VALUES_POLE (visu_node_values_pole_get_type ()) 54 #define VISU_NODE_VALUES_POLE(obj) (G_TYPE_CHECK_INSTANCE_CAST(obj, VISU_TYPE_NODE_VALUES_POLE, VisuNodeValuesPole)) 55 #define VISU_NODE_VALUES_POLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST(klass, VISU_TYPE_NODE_VALUES_POLE, VisuNodeValuesPoleClass)) 56 #define VISU_IS_NODE_VALUES_POLE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE(obj, VISU_TYPE_NODE_VALUES_POLE)) 57 #define VISU_IS_NODE_VALUES_POLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE(klass, VISU_TYPE_NODE_VALUES_POLE)) 58 #define VISU_NODE_VALUES_POLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS(obj, VISU_TYPE_NODE_VALUES_POLE, VisuNodeValuesPoleClass)) 59 60 /** 61 * VisuNodeValuesPole: 62 * 63 * Common name to refer to a #_VisuNodeValuesPole. 64 */ 65 typedef struct _VisuNodeValuesPole VisuNodeValuesPole; 66 struct _VisuNodeValuesPole 67 { 68 VisuNodeValuesFarray parent; 69 }; 70 71 /** 72 * VisuNodeValuesPoleClass: 73 * @parent: private. 74 * 75 * Common name to refer to a #_VisuNodeValuesPoleClass. 76 */ 77 typedef struct _VisuNodeValuesPoleClass VisuNodeValuesPoleClass; 78 struct _VisuNodeValuesPoleClass 79 { 80 VisuNodeValuesFarrayClass parent; 81 }; 82 83 /** 84 * visu_node_values_pole_get_type: 85 * 86 * This method returns the type of #VisuNodeValuesPole, use 87 * VISU_TYPE_NODE_VALUES_POLE instead. 88 * 89 * Since: 3.8 90 * 91 * Returns: the type of #VisuNodeValuesPole. 92 */ 93 GType visu_node_values_pole_get_type(void); 94 95 /** 96 * VisuPoleOrder: 97 * @VISU_MONOPOLE: a mono-pole. 98 * @VISU_DIPOLE: a di-pole. 99 * @VISU_QUADRUPOLE: a quadru-pole. 100 * 101 * Various pole orders. 102 * 103 * Since: 3.8 104 */ 105 typedef enum { 106 VISU_MONOPOLE, 107 VISU_DIPOLE, 108 VISU_QUADRUPOLE, 109 } VisuPoleOrder; 110 111 VisuNodeValuesPole* visu_node_values_pole_new(VisuNodeArray *arr, 112 const gchar *label); 113 114 const gfloat* visu_node_values_pole_getAt(const VisuNodeValuesPole *pole, 115 const VisuNode *node, 116 VisuPoleOrder order); 117 118 gboolean visu_node_values_pole_setMonoAt(VisuNodeValuesPole *pole, 119 const VisuNode *node, 120 gfloat val); 121 gboolean visu_node_values_pole_setDiAt(VisuNodeValuesPole *pole, 122 const VisuNode *node, 123 const gfloat val[3]); 124 gboolean visu_node_values_pole_setQuadAt(VisuNodeValuesPole *pole, 125 const VisuNode *node, 126 const gfloat val[5]); 127 gboolean visu_node_values_pole_setMonoAtDbl(VisuNodeValuesPole *pole, 128 const VisuNode *node, 129 gdouble val); 130 gboolean visu_node_values_pole_setDiAtDbl(VisuNodeValuesPole *pole, 131 const VisuNode *node, 132 const gdouble val[3]); 133 gboolean visu_node_values_pole_setQuadAtDbl(VisuNodeValuesPole *pole, 134 const VisuNode *node, 135 const gdouble val[5]); 136 137 G_END_DECLS 138 139 #endif 140