1 /**
2  * @file CSGScale.h
3  * @brief Definition of the CSGScale class.
4  * @author SBMLTeam
5  *
6  * <!--------------------------------------------------------------------------
7  * This file is part of libSBML. Please visit http://sbml.org for more
8  * information about SBML, and the latest version of libSBML.
9  *
10  * Copyright (C) 2020 jointly by the following organizations:
11  *     1. California Institute of Technology, Pasadena, CA, USA
12  *     2. University of Heidelberg, Heidelberg, Germany
13  *     3. University College London, London, UK
14  *
15  * Copyright (C) 2019 jointly by the following organizations:
16  * 1. California Institute of Technology, Pasadena, CA, USA
17  * 2. University of Heidelberg, Heidelberg, Germany
18  *
19  * Copyright (C) 2013-2018 jointly by the following organizations:
20  * 1. California Institute of Technology, Pasadena, CA, USA
21  * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK
22  * 3. University of Heidelberg, Heidelberg, Germany
23  *
24  * Copyright (C) 2009-2013 jointly by the following organizations:
25  * 1. California Institute of Technology, Pasadena, CA, USA
26  * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK
27  *
28  * Copyright (C) 2006-2008 by the California Institute of Technology,
29  * Pasadena, CA, USA
30  *
31  * Copyright (C) 2002-2005 jointly by the following organizations:
32  * 1. California Institute of Technology, Pasadena, CA, USA
33  * 2. Japan Science and Technology Agency, Japan
34  *
35  * This library is free software; you can redistribute it and/or modify it
36  * under the terms of the GNU Lesser General Public License as published by the
37  * Free Software Foundation. A copy of the license agreement is provided in the
38  * file named "LICENSE.txt" included with this software distribution and also
39  * available online as http://sbml.org/software/libsbml/license.html
40  * ------------------------------------------------------------------------ -->
41  *
42  * @class CSGScale
43  * @sbmlbrief{spatial} TODO:Definition of the CSGScale class.
44  */
45 
46 
47 #ifndef CSGScale_H__
48 #define CSGScale_H__
49 
50 
51 #include <sbml/common/extern.h>
52 #include <sbml/common/sbmlfwd.h>
53 #include <sbml/packages/spatial/common/spatialfwd.h>
54 
55 
56 #ifdef __cplusplus
57 
58 
59 #include <string>
60 
61 
62 #include <sbml/packages/spatial/sbml/CSGTransformation.h>
63 #include <sbml/packages/spatial/extension/SpatialExtension.h>
64 
65 
66 LIBSBML_CPP_NAMESPACE_BEGIN
67 
68 
69 class LIBSBML_EXTERN CSGScale : public CSGTransformation
70 {
71 protected:
72 
73   /** @cond doxygenLibsbmlInternal */
74 
75   double mScaleX;
76   bool mIsSetScaleX;
77   double mScaleY;
78   bool mIsSetScaleY;
79   double mScaleZ;
80   bool mIsSetScaleZ;
81 
82   /** @endcond */
83 
84 public:
85 
86   /**
87    * Creates a new CSGScale using the given SBML Level, Version and
88    * &ldquo;spatial&rdquo; package version.
89    *
90    * @param level an unsigned int, the SBML Level to assign to this CSGScale.
91    *
92    * @param version an unsigned int, the SBML Version to assign to this
93    * CSGScale.
94    *
95    * @param pkgVersion an unsigned int, the SBML Spatial Version to assign to
96    * this CSGScale.
97    *
98    * @copydetails doc_note_setting_lv_pkg
99    */
100   CSGScale(unsigned int level = SpatialExtension::getDefaultLevel(),
101            unsigned int version = SpatialExtension::getDefaultVersion(),
102            unsigned int pkgVersion =
103              SpatialExtension::getDefaultPackageVersion());
104 
105 
106   /**
107    * Creates a new CSGScale using the given SpatialPkgNamespaces object.
108    *
109    * @copydetails doc_what_are_sbml_package_namespaces
110    *
111    * @param spatialns the SpatialPkgNamespaces object.
112    *
113    * @copydetails doc_note_setting_lv_pkg
114    */
115   CSGScale(SpatialPkgNamespaces *spatialns);
116 
117 
118   /**
119    * Copy constructor for CSGScale.
120    *
121    * @param orig the CSGScale instance to copy.
122    */
123   CSGScale(const CSGScale& orig);
124 
125 
126   /**
127    * Assignment operator for CSGScale.
128    *
129    * @param rhs the CSGScale object whose values are to be used as the basis of
130    * the assignment.
131    */
132   CSGScale& operator=(const CSGScale& rhs);
133 
134 
135   /**
136    * Creates and returns a deep copy of this CSGScale object.
137    *
138    * @return a (deep) copy of this CSGScale object.
139    */
140   virtual CSGScale* clone() const;
141 
142 
143   /**
144    * Destructor for CSGScale.
145    */
146   virtual ~CSGScale();
147 
148 
149   /**
150    * Returns the value of the "scaleX" attribute of this CSGScale.
151    *
152    * @return the value of the "scaleX" attribute of this CSGScale as a double.
153    */
154   double getScaleX() const;
155 
156 
157   /**
158    * Returns the value of the "scaleY" attribute of this CSGScale.
159    *
160    * @return the value of the "scaleY" attribute of this CSGScale as a double.
161    */
162   double getScaleY() const;
163 
164 
165   /**
166    * Returns the value of the "scaleZ" attribute of this CSGScale.
167    *
168    * @return the value of the "scaleZ" attribute of this CSGScale as a double.
169    */
170   double getScaleZ() const;
171 
172 
173   /**
174    * Predicate returning @c true if this CSGScale's "scaleX" attribute is set.
175    *
176    * @return @c true if this CSGScale's "scaleX" attribute has been set,
177    * otherwise @c false is returned.
178    */
179   bool isSetScaleX() const;
180 
181 
182   /**
183    * Predicate returning @c true if this CSGScale's "scaleY" attribute is set.
184    *
185    * @return @c true if this CSGScale's "scaleY" attribute has been set,
186    * otherwise @c false is returned.
187    */
188   bool isSetScaleY() const;
189 
190 
191   /**
192    * Predicate returning @c true if this CSGScale's "scaleZ" attribute is set.
193    *
194    * @return @c true if this CSGScale's "scaleZ" attribute has been set,
195    * otherwise @c false is returned.
196    */
197   bool isSetScaleZ() const;
198 
199 
200   /**
201    * Sets the value of the "scaleX" attribute of this CSGScale.
202    *
203    * @param scaleX double value of the "scaleX" attribute to be set.
204    *
205    * @copydetails doc_returns_success_code
206    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
207    * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE,
208    * OperationReturnValues_t}
209    */
210   int setScaleX(double scaleX);
211 
212 
213   /**
214    * Sets the value of the "scaleY" attribute of this CSGScale.
215    *
216    * @param scaleY double value of the "scaleY" attribute to be set.
217    *
218    * @copydetails doc_returns_success_code
219    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
220    * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE,
221    * OperationReturnValues_t}
222    */
223   int setScaleY(double scaleY);
224 
225 
226   /**
227    * Sets the value of the "scaleZ" attribute of this CSGScale.
228    *
229    * @param scaleZ double value of the "scaleZ" attribute to be set.
230    *
231    * @copydetails doc_returns_success_code
232    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
233    * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE,
234    * OperationReturnValues_t}
235    */
236   int setScaleZ(double scaleZ);
237 
238 
239   /**
240    * Unsets the value of the "scaleX" attribute of this CSGScale.
241    *
242    * @copydetails doc_returns_success_code
243    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
244    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
245    */
246   int unsetScaleX();
247 
248 
249   /**
250    * Unsets the value of the "scaleY" attribute of this CSGScale.
251    *
252    * @copydetails doc_returns_success_code
253    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
254    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
255    */
256   int unsetScaleY();
257 
258 
259   /**
260    * Unsets the value of the "scaleZ" attribute of this CSGScale.
261    *
262    * @copydetails doc_returns_success_code
263    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
264    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
265    */
266   int unsetScaleZ();
267 
268 
269   /**
270    * Returns the XML element name of this CSGScale object.
271    *
272    * For CSGScale, the XML element name is always @c "csgScale".
273    *
274    * @return the name of this element, i.e. @c "csgScale".
275    */
276   virtual const std::string& getElementName() const;
277 
278 
279   /**
280    * Returns the libSBML type code for this CSGScale object.
281    *
282    * @copydetails doc_what_are_typecodes
283    *
284    * @return the SBML type code for this object:
285    * @sbmlconstant{SBML_SPATIAL_CSGSCALE, SBMLSpatialTypeCode_t}.
286    *
287    * @copydetails doc_warning_typecodes_not_unique
288    *
289    * @see getElementName()
290    * @see getPackageName()
291    */
292   virtual int getTypeCode() const;
293 
294 
295   /**
296    * Predicate returning @c true if all the required attributes for this
297    * CSGScale object have been set.
298    *
299    * @return @c true to indicate that all the required attributes of this
300    * CSGScale have been set, otherwise @c false is returned.
301    *
302    *
303    * @note The required attributes for the CSGScale object are:
304    * @li "scaleX"
305    */
306   virtual bool hasRequiredAttributes() const;
307 
308 
309 
310   /** @cond doxygenLibsbmlInternal */
311 
312   /**
313    * Write any contained elements
314    */
315   virtual void writeElements(XMLOutputStream& stream) const;
316 
317   /** @endcond */
318 
319 
320 
321   /** @cond doxygenLibsbmlInternal */
322 
323   /**
324    * Accepts the given SBMLVisitor
325    */
326   virtual bool accept(SBMLVisitor& v) const;
327 
328   /** @endcond */
329 
330 
331 
332   /** @cond doxygenLibsbmlInternal */
333 
334   /**
335    * Sets the parent SBMLDocument
336    */
337   virtual void setSBMLDocument(SBMLDocument* d);
338 
339   /** @endcond */
340 
341 
342 
343   /** @cond doxygenLibsbmlInternal */
344 
345   /**
346    * Enables/disables the given package with this element
347    */
348   virtual void enablePackageInternal(const std::string& pkgURI,
349                                      const std::string& pkgPrefix,
350                                      bool flag);
351 
352   /** @endcond */
353 
354 
355 
356 
357   #ifndef SWIG
358 
359 
360 
361   /** @cond doxygenLibsbmlInternal */
362 
363   /**
364    * Gets the value of the "attributeName" attribute of this CSGScale.
365    *
366    * @param attributeName, the name of the attribute to retrieve.
367    *
368    * @param value, the address of the value to record.
369    *
370    * @copydetails doc_returns_success_code
371    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
372    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
373    */
374   virtual int getAttribute(const std::string& attributeName, bool& value)
375     const;
376 
377   /** @endcond */
378 
379 
380 
381   /** @cond doxygenLibsbmlInternal */
382 
383   /**
384    * Gets the value of the "attributeName" attribute of this CSGScale.
385    *
386    * @param attributeName, the name of the attribute to retrieve.
387    *
388    * @param value, the address of the value to record.
389    *
390    * @copydetails doc_returns_success_code
391    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
392    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
393    */
394   virtual int getAttribute(const std::string& attributeName, int& value) const;
395 
396   /** @endcond */
397 
398 
399 
400   /** @cond doxygenLibsbmlInternal */
401 
402   /**
403    * Gets the value of the "attributeName" attribute of this CSGScale.
404    *
405    * @param attributeName, the name of the attribute to retrieve.
406    *
407    * @param value, the address of the value to record.
408    *
409    * @copydetails doc_returns_success_code
410    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
411    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
412    */
413   virtual int getAttribute(const std::string& attributeName,
414                            double& value) const;
415 
416   /** @endcond */
417 
418 
419 
420   /** @cond doxygenLibsbmlInternal */
421 
422   /**
423    * Gets the value of the "attributeName" attribute of this CSGScale.
424    *
425    * @param attributeName, the name of the attribute to retrieve.
426    *
427    * @param value, the address of the value to record.
428    *
429    * @copydetails doc_returns_success_code
430    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
431    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
432    */
433   virtual int getAttribute(const std::string& attributeName,
434                            unsigned int& value) const;
435 
436   /** @endcond */
437 
438 
439 
440   /** @cond doxygenLibsbmlInternal */
441 
442   /**
443    * Gets the value of the "attributeName" attribute of this CSGScale.
444    *
445    * @param attributeName, the name of the attribute to retrieve.
446    *
447    * @param value, the address of the value to record.
448    *
449    * @copydetails doc_returns_success_code
450    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
451    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
452    */
453   virtual int getAttribute(const std::string& attributeName,
454                            std::string& value) const;
455 
456   /** @endcond */
457 
458 
459 
460   /** @cond doxygenLibsbmlInternal */
461 
462   /**
463    * Predicate returning @c true if this CSGScale's attribute "attributeName"
464    * is set.
465    *
466    * @param attributeName, the name of the attribute to query.
467    *
468    * @return @c true if this CSGScale's attribute "attributeName" has been set,
469    * otherwise @c false is returned.
470    */
471   virtual bool isSetAttribute(const std::string& attributeName) const;
472 
473   /** @endcond */
474 
475 
476 
477   /** @cond doxygenLibsbmlInternal */
478 
479   /**
480    * Sets the value of the "attributeName" attribute of this CSGScale.
481    *
482    * @param attributeName, the name of the attribute to set.
483    *
484    * @param value, the value of the attribute to set.
485    *
486    * @copydetails doc_returns_success_code
487    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
488    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
489    */
490   virtual int setAttribute(const std::string& attributeName, bool value);
491 
492   /** @endcond */
493 
494 
495 
496   /** @cond doxygenLibsbmlInternal */
497 
498   /**
499    * Sets the value of the "attributeName" attribute of this CSGScale.
500    *
501    * @param attributeName, the name of the attribute to set.
502    *
503    * @param value, the value of the attribute to set.
504    *
505    * @copydetails doc_returns_success_code
506    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
507    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
508    */
509   virtual int setAttribute(const std::string& attributeName, int value);
510 
511   /** @endcond */
512 
513 
514 
515   /** @cond doxygenLibsbmlInternal */
516 
517   /**
518    * Sets the value of the "attributeName" attribute of this CSGScale.
519    *
520    * @param attributeName, the name of the attribute to set.
521    *
522    * @param value, the value of the attribute to set.
523    *
524    * @copydetails doc_returns_success_code
525    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
526    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
527    */
528   virtual int setAttribute(const std::string& attributeName, double value);
529 
530   /** @endcond */
531 
532 
533 
534   /** @cond doxygenLibsbmlInternal */
535 
536   /**
537    * Sets the value of the "attributeName" attribute of this CSGScale.
538    *
539    * @param attributeName, the name of the attribute to set.
540    *
541    * @param value, the value of the attribute to set.
542    *
543    * @copydetails doc_returns_success_code
544    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
545    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
546    */
547   virtual int setAttribute(const std::string& attributeName,
548                            unsigned int value);
549 
550   /** @endcond */
551 
552 
553 
554   /** @cond doxygenLibsbmlInternal */
555 
556   /**
557    * Sets the value of the "attributeName" attribute of this CSGScale.
558    *
559    * @param attributeName, the name of the attribute to set.
560    *
561    * @param value, the value of the attribute to set.
562    *
563    * @copydetails doc_returns_success_code
564    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
565    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
566    */
567   virtual int setAttribute(const std::string& attributeName,
568                            const std::string& value);
569 
570   /** @endcond */
571 
572 
573 
574   /** @cond doxygenLibsbmlInternal */
575 
576   /**
577    * Unsets the value of the "attributeName" attribute of this CSGScale.
578    *
579    * @param attributeName, the name of the attribute to query.
580    *
581    * @copydetails doc_returns_success_code
582    * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
583    * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
584    */
585   virtual int unsetAttribute(const std::string& attributeName);
586 
587   /** @endcond */
588 
589 
590 
591 
592   #endif /* !SWIG */
593 
594 
595 protected:
596 
597 
598   /** @cond doxygenLibsbmlInternal */
599 
600   /**
601    * Creates a new object from the next XMLToken on the XMLInputStream
602    */
603   virtual SBase* createObject(XMLInputStream& stream);
604 
605   /** @endcond */
606 
607 
608 
609   /** @cond doxygenLibsbmlInternal */
610 
611   /**
612    * Adds the expected attributes for this element
613    */
614   virtual void addExpectedAttributes(ExpectedAttributes& attributes);
615 
616   /** @endcond */
617 
618 
619 
620   /** @cond doxygenLibsbmlInternal */
621 
622   /**
623    * Reads the expected attributes into the member data variables
624    */
625   virtual void readAttributes(const XMLAttributes& attributes,
626                               const ExpectedAttributes& expectedAttributes);
627 
628   /** @endcond */
629 
630 
631 
632   /** @cond doxygenLibsbmlInternal */
633 
634   /**
635    * Writes the attributes to the stream
636    */
637   virtual void writeAttributes(XMLOutputStream& stream) const;
638 
639   /** @endcond */
640 
641 
642 };
643 
644 
645 
646 LIBSBML_CPP_NAMESPACE_END
647 
648 
649 
650 
651 #endif /* __cplusplus */
652 
653 
654 
655 
656 #ifndef SWIG
657 
658 
659 
660 
661 LIBSBML_CPP_NAMESPACE_BEGIN
662 
663 
664 
665 
666 BEGIN_C_DECLS
667 
668 
669 /**
670  * Creates a new CSGScale_t using the given SBML Level, Version and
671  * &ldquo;spatial&rdquo; package version.
672  *
673  * @param level an unsigned int, the SBML Level to assign to this CSGScale_t.
674  *
675  * @param version an unsigned int, the SBML Version to assign to this
676  * CSGScale_t.
677  *
678  * @param pkgVersion an unsigned int, the SBML Spatial Version to assign to
679  * this CSGScale_t.
680  *
681  * @copydetails doc_note_setting_lv_pkg
682  *
683  * @copydetails doc_returned_owned_pointer
684  *
685  * @memberof CSGScale_t
686  */
687 LIBSBML_EXTERN
688 CSGScale_t *
689 CSGScale_create(unsigned int level,
690                 unsigned int version,
691                 unsigned int pkgVersion);
692 
693 
694 /**
695  * Creates and returns a deep copy of this CSGScale_t object.
696  *
697  * @param csgs the CSGScale_t structure.
698  *
699  * @return a (deep) copy of this CSGScale_t object.
700  *
701  * @copydetails doc_returned_owned_pointer
702  *
703  * @memberof CSGScale_t
704  */
705 LIBSBML_EXTERN
706 CSGScale_t*
707 CSGScale_clone(const CSGScale_t* csgs);
708 
709 
710 /**
711  * Frees this CSGScale_t object.
712  *
713  * @param csgs the CSGScale_t structure.
714  *
715  * @memberof CSGScale_t
716  */
717 LIBSBML_EXTERN
718 void
719 CSGScale_free(CSGScale_t* csgs);
720 
721 
722 /**
723  * Returns the value of the "scaleX" attribute of this CSGScale_t.
724  *
725  * @param csgs the CSGScale_t structure whose scaleX is sought.
726  *
727  * @return the value of the "scaleX" attribute of this CSGScale_t as a double.
728  *
729  * @memberof CSGScale_t
730  */
731 LIBSBML_EXTERN
732 double
733 CSGScale_getScaleX(const CSGScale_t * csgs);
734 
735 
736 /**
737  * Returns the value of the "scaleY" attribute of this CSGScale_t.
738  *
739  * @param csgs the CSGScale_t structure whose scaleY is sought.
740  *
741  * @return the value of the "scaleY" attribute of this CSGScale_t as a double.
742  *
743  * @memberof CSGScale_t
744  */
745 LIBSBML_EXTERN
746 double
747 CSGScale_getScaleY(const CSGScale_t * csgs);
748 
749 
750 /**
751  * Returns the value of the "scaleZ" attribute of this CSGScale_t.
752  *
753  * @param csgs the CSGScale_t structure whose scaleZ is sought.
754  *
755  * @return the value of the "scaleZ" attribute of this CSGScale_t as a double.
756  *
757  * @memberof CSGScale_t
758  */
759 LIBSBML_EXTERN
760 double
761 CSGScale_getScaleZ(const CSGScale_t * csgs);
762 
763 
764 /**
765  * Predicate returning @c 1 (true) if this CSGScale_t's "scaleX" attribute is
766  * set.
767  *
768  * @param csgs the CSGScale_t structure.
769  *
770  * @return @c 1 (true) if this CSGScale_t's "scaleX" attribute has been set,
771  * otherwise @c 0 (false) is returned.
772  *
773  * @memberof CSGScale_t
774  */
775 LIBSBML_EXTERN
776 int
777 CSGScale_isSetScaleX(const CSGScale_t * csgs);
778 
779 
780 /**
781  * Predicate returning @c 1 (true) if this CSGScale_t's "scaleY" attribute is
782  * set.
783  *
784  * @param csgs the CSGScale_t structure.
785  *
786  * @return @c 1 (true) if this CSGScale_t's "scaleY" attribute has been set,
787  * otherwise @c 0 (false) is returned.
788  *
789  * @memberof CSGScale_t
790  */
791 LIBSBML_EXTERN
792 int
793 CSGScale_isSetScaleY(const CSGScale_t * csgs);
794 
795 
796 /**
797  * Predicate returning @c 1 (true) if this CSGScale_t's "scaleZ" attribute is
798  * set.
799  *
800  * @param csgs the CSGScale_t structure.
801  *
802  * @return @c 1 (true) if this CSGScale_t's "scaleZ" attribute has been set,
803  * otherwise @c 0 (false) is returned.
804  *
805  * @memberof CSGScale_t
806  */
807 LIBSBML_EXTERN
808 int
809 CSGScale_isSetScaleZ(const CSGScale_t * csgs);
810 
811 
812 /**
813  * Sets the value of the "scaleX" attribute of this CSGScale_t.
814  *
815  * @param csgs the CSGScale_t structure.
816  *
817  * @param scaleX double value of the "scaleX" attribute to be set.
818  *
819  * @copydetails doc_returns_success_code
820  * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
821  * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, OperationReturnValues_t}
822  * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t}
823  *
824  * @memberof CSGScale_t
825  */
826 LIBSBML_EXTERN
827 int
828 CSGScale_setScaleX(CSGScale_t * csgs, double scaleX);
829 
830 
831 /**
832  * Sets the value of the "scaleY" attribute of this CSGScale_t.
833  *
834  * @param csgs the CSGScale_t structure.
835  *
836  * @param scaleY double value of the "scaleY" attribute to be set.
837  *
838  * @copydetails doc_returns_success_code
839  * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
840  * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, OperationReturnValues_t}
841  * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t}
842  *
843  * @memberof CSGScale_t
844  */
845 LIBSBML_EXTERN
846 int
847 CSGScale_setScaleY(CSGScale_t * csgs, double scaleY);
848 
849 
850 /**
851  * Sets the value of the "scaleZ" attribute of this CSGScale_t.
852  *
853  * @param csgs the CSGScale_t structure.
854  *
855  * @param scaleZ double value of the "scaleZ" attribute to be set.
856  *
857  * @copydetails doc_returns_success_code
858  * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
859  * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, OperationReturnValues_t}
860  * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t}
861  *
862  * @memberof CSGScale_t
863  */
864 LIBSBML_EXTERN
865 int
866 CSGScale_setScaleZ(CSGScale_t * csgs, double scaleZ);
867 
868 
869 /**
870  * Unsets the value of the "scaleX" attribute of this CSGScale_t.
871  *
872  * @param csgs the CSGScale_t structure.
873  *
874  * @copydetails doc_returns_success_code
875  * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
876  * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
877  * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t}
878  *
879  * @memberof CSGScale_t
880  */
881 LIBSBML_EXTERN
882 int
883 CSGScale_unsetScaleX(CSGScale_t * csgs);
884 
885 
886 /**
887  * Unsets the value of the "scaleY" attribute of this CSGScale_t.
888  *
889  * @param csgs the CSGScale_t structure.
890  *
891  * @copydetails doc_returns_success_code
892  * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
893  * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
894  * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t}
895  *
896  * @memberof CSGScale_t
897  */
898 LIBSBML_EXTERN
899 int
900 CSGScale_unsetScaleY(CSGScale_t * csgs);
901 
902 
903 /**
904  * Unsets the value of the "scaleZ" attribute of this CSGScale_t.
905  *
906  * @param csgs the CSGScale_t structure.
907  *
908  * @copydetails doc_returns_success_code
909  * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t}
910  * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t}
911  * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t}
912  *
913  * @memberof CSGScale_t
914  */
915 LIBSBML_EXTERN
916 int
917 CSGScale_unsetScaleZ(CSGScale_t * csgs);
918 
919 
920 /**
921  * Predicate returning @c 1 (true) if all the required attributes for this
922  * CSGScale_t object have been set.
923  *
924  * @param csgs the CSGScale_t structure.
925  *
926  * @return @c 1 (true) to indicate that all the required attributes of this
927  * CSGScale_t have been set, otherwise @c 0 (false) is returned.
928  *
929  *
930  * @note The required attributes for the CSGScale_t object are:
931  * @li "scaleX"
932  *
933  * @memberof CSGScale_t
934  */
935 LIBSBML_EXTERN
936 int
937 CSGScale_hasRequiredAttributes(const CSGScale_t * csgs);
938 
939 
940 
941 
942 END_C_DECLS
943 
944 
945 
946 
947 LIBSBML_CPP_NAMESPACE_END
948 
949 
950 
951 
952 #endif /* !SWIG */
953 
954 
955 
956 
957 #endif /* !CSGScale_H__ */
958 
959 
960