diff options
Diffstat (limited to 'CSXCAD/python/CSXCAD/CSProperties.pxd')
-rw-r--r-- | CSXCAD/python/CSXCAD/CSProperties.pxd | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/CSXCAD/python/CSXCAD/CSProperties.pxd b/CSXCAD/python/CSXCAD/CSProperties.pxd new file mode 100644 index 0000000..7b47e1a --- /dev/null +++ b/CSXCAD/python/CSXCAD/CSProperties.pxd @@ -0,0 +1,218 @@ +# -*- coding: utf-8 -*- +# +# Copyright (C) 2015,20016 Thorsten Liebig (Thorsten.Liebig@gmx.de) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program 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 +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +from libcpp.string cimport string +from libcpp.vector cimport vector +from libcpp cimport bool + +from ParameterObjects cimport _ParameterSet, ParameterSet +from CSPrimitives cimport _CSPrimitives, CSPrimitives +from CSXCAD cimport ContinuousStructure + +cdef extern from "CSXCAD/CSProperties.h": + cpdef enum PropertyType "CSProperties::PropertyType": + ANY "CSProperties::ANY" + UNKNOWN "CSProperties::UNKNOWN" + MATERIAL "CSProperties::MATERIAL" + METAL "CSProperties::METAL" + EXCITATION "CSProperties::EXCITATION" + PROBEBOX "CSProperties::PROBEBOX" + RESBOX "CSProperties::RESBOX" + DUMPBOX "CSProperties::DUMPBOX" + DISPERSIVEMATERIAL "CSProperties::DISPERSIVEMATERIAL" + LORENTZMATERIAL "CSProperties::LORENTZMATERIAL" + DEBYEMATERIAL "CSProperties::DEBYEMATERIAL" + DISCRETE_MATERIAL "CSProperties::DISCRETE_MATERIAL" + LUMPED_ELEMENT "CSProperties::LUMPED_ELEMENT" + CONDUCTINGSHEET "CSProperties::CONDUCTINGSHEET" + +cdef extern from "CSXCAD/CSProperties.h": + cdef cppclass _CSProperties "CSProperties": + _CSProperties(_ParameterSet*) except + + int GetType() + string GetTypeString() + + _ParameterSet* GetParameterSet() + + void SetName(string name) + string GetName() + + int GetQtyPrimitives() + _CSPrimitives* GetPrimitive(size_t index) + + bool ExistAttribute(string name) + string GetAttributeValue(string name) + void AddAttribute(string name, string value) + + void SetFillColor(unsigned char R, unsigned char G, unsigned char B, unsigned char a) + void SetEdgeColor(unsigned char R, unsigned char G, unsigned char B, unsigned char a) + +cdef class CSProperties: + cdef _CSProperties *thisptr + cdef __SetPtr(self, _CSProperties *ptr) + cdef __GetPrimitive(self, size_t index) + cdef readonly ContinuousStructure __CSX + cdef readonly ParameterSet __paraset + cdef readonly list __primitives + +############################################################################## +cdef extern from "CSXCAD/CSPropMaterial.h": + cdef cppclass _CSPropMaterial "CSPropMaterial" (_CSProperties): + _CSPropMaterial(_ParameterSet*) except + + void SetEpsilon(double val, int ny) + double GetEpsilon(int ny) + int SetEpsilonWeightFunction(string fct, int ny) + string GetEpsilonWeightFunction(int ny) + + void SetMue(double val, int ny) + double GetMue(int ny) + int SetMueWeightFunction(string fct, int ny) + string GetMueWeightFunction(int ny) + + void SetKappa(double val, int ny) + double GetKappa(int ny) + int SetKappaWeightFunction(string fct, int ny) + string GetKappaWeightFunction(int ny) + + void SetSigma(double val, int ny) + double GetSigma(int ny) + int SetSigmaWeightFunction(string fct, int ny) + string GetSigmaWeightFunction(int ny) + + void SetDensity(double val) + double GetDensity() + int SetDensityWeightFunction(string fct) + string GetDensityWeightFunction() + + void SetIsotropy(bool val) + bool GetIsotropy() + +cdef class CSPropMaterial(CSProperties): + pass + +############################################################################## +cdef extern from "CSXCAD/CSPropLumpedElement.h": + cdef cppclass _CSPropLumpedElement "CSPropLumpedElement" (_CSProperties): + _CSPropLumpedElement(_ParameterSet*) except + + void SetResistance(double val) + double GetResistance() + + void SetCapacity(double val) + double GetCapacity() + + void SetInductance(double val) + double GetInductance() + + void SetDirection(int ny) + int GetDirection() + + void SetCaps(bool val) + int GetCaps() + +cdef class CSPropLumpedElement(CSProperties): + pass + +############################################################################## +cdef extern from "CSXCAD/CSPropMetal.h": + cdef cppclass _CSPropMetal "CSPropMetal" (_CSProperties): + _CSPropMetal(_ParameterSet*) except + + +cdef class CSPropMetal(CSProperties): + pass + +############################################################################## +cdef extern from "CSXCAD/CSPropConductingSheet.h": + cdef cppclass _CSPropConductingSheet "CSPropConductingSheet" (_CSPropMetal): + _CSPropConductingSheet(_ParameterSet*) except + + void SetConductivity(double val) + double GetConductivity() + + void SetThickness(double val) + double GetThickness() + +cdef class CSPropConductingSheet(CSPropMetal): + pass + +############################################################################## +cdef extern from "CSXCAD/CSPropExcitation.h": + cdef cppclass _CSPropExcitation "CSPropExcitation" (_CSProperties): + _CSPropExcitation(_ParameterSet*) except + + void SetExcitType(int val) + int GetExcitType() + + void SetExcitation(double val, int Component) + double GetExcitation(int Component) + + void SetPropagationDir(double val, int Component) + double GetPropagationDir(int Component) + + int SetWeightFunction(string fct, int ny) + string GetWeightFunction(int ny) + + void SetFrequency(double val) + double GetFrequency() + + void SetDelay(double val) + double GetDelay() + +cdef class CSPropExcitation(CSProperties): + pass + +############################################################################## +cdef extern from "CSXCAD/CSPropProbeBox.h": + cdef cppclass _CSPropProbeBox "CSPropProbeBox" (_CSProperties): + _CSPropProbeBox(_ParameterSet*) except + + void SetProbeType(int type) + int GetProbeType() + + void SetWeighting(double weight) + double GetWeighting() + + void SetNormalDir(unsigned int ndir) + int GetNormalDir() + + size_t CountFDSamples() + vector[double]* GetFDSamples() + void ClearFDSamples() + void AddFDSample(double freq) + +cdef class CSPropProbeBox(CSProperties): + pass + + +############################################################################## +cdef extern from "CSXCAD/CSPropDumpBox.h": + cdef cppclass _CSPropDumpBox "CSPropDumpBox" (_CSPropProbeBox): + _CSPropDumpBox(_ParameterSet*) except + + void SetDumpType(int _type) + int GetDumpType() + + void SetDumpMode(int mode) + int GetDumpMode() + + void SetFileType(int ftype) + int GetFileType() + + void SetOptResolution(int ny, double val) + double GetOptResolution(int ny) + + void SetSubSampling(int ny, unsigned int val) + unsigned int GetSubSampling(int ny) + +cdef class CSPropDumpBox(CSPropProbeBox): + pass |