1 /* 2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab 3 * Copyright (C) 2010 - DIGITEO - Manuel Juliachs 4 * 5 * Copyright (C) 2012 - 2016 - Scilab Enterprises 6 * 7 * This file is hereby licensed under the terms of the GNU GPL v2.0, 8 * pursuant to article 5.3.4 of the CeCILL v.2.1. 9 * This file was originally licensed under the terms of the CeCILL v2.1, 10 * and continues to be available under such terms. 11 * For more information, see the COPYING file which you should have received 12 * along with this program. 13 * 14 */ 15 16 #ifndef DATA_3D_HXX 17 #define DATA_3D_HXX 18 19 #include <string> 20 21 #include "DataProperties.hxx" 22 23 extern "C" { 24 #include "BOOL.h" 25 26 #include <stdio.h> 27 } 28 29 /** 30 * An abstract 3D data class 31 * To be completed 32 */ 33 34 class Data3D 35 { 36 protected: 37 /* To be added: a member indicating how color is specified (per-vertex or per-facet) */ 38 39 public : 40 /** 41 * Constructor 42 */ 43 Data3D(void); 44 45 /** 46 * Destructor 47 */ 48 virtual ~Data3D(void); 49 50 /** 51 * Returns the identifier associated to a property name 52 * @param[in] propertyName the property name 53 * @return the property identifier 54 */ 55 virtual int getPropertyFromName(int propertyName); 56 57 /** 58 * Sets a data property 59 * @param[in] property the property identifier 60 * @param[in] value a pointer to the property values 61 * @param[in] numElements the number of elements to set 62 * @return 1 if the property has been successfully set, 0 otherwise 63 */ 64 virtual int setDataProperty(int property, void const* value, int numElements); 65 66 /** 67 * Returns a data property 68 * @param[in] property the property identifier 69 * @param[out] a pointer to a pointer to the returned property values 70 */ 71 virtual void getDataProperty(int property, void **_pvData); 72 }; 73 74 #endif 75