00001 /***************************** License ********************************** 00002 00003 Copyright (C) 2008 by Communicative Machines 00004 http://www.cmlabs.com All rights reserved. 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Lesser General Public 00008 License as published by the Free Software Foundation; either 00009 version 2.1 of the License, or (at your option) any later version. 00010 00011 This library is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 Lesser General Public License for more details. 00015 00016 You should have received a copy of the GNU Lesser General Public 00017 License along with this library; if not, write to the Free Software 00018 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 00020 ************************************************************************/ 00021 00022 #ifndef _COGMAPOBJECTS_H_ 00023 #define _COGMAPOBJECTS_H_ 00024 00025 #include "Collections.h" 00026 #include "InfoItem.h" 00027 #include "UninstantiatedXMLObject.h" 00028 00029 /// 00030 /// The <b>CMMEASUREMENT_NOVALUE</b> define will be used to signify 00031 /// that the value has not been set to anything yet. 00032 /// 00033 #define CMMEASUREMENT_NOVALUE -987654321 00034 00035 namespace cmlabs 00036 { 00037 00038 /////////////////////////////////////////////////////////////////////////////// 00039 /// CMMeasurement 00040 /// This class will be used to store multidimensional measurements 00041 /// including uncertainties of these 00042 /// 00043 /// Base class Object 00044 /// 00045 /// @remarks 00046 /// 00047 /// @author CMLabs Inc. @date 15-02-2007 00048 /////////////////////////////////////////////////////////////////////////////// 00049 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00050 class CMMeasurement : public Object { 00051 public: 00052 /////////////////////////////////////////////////////////////////////////////// 00053 /// public overloaded constructor CMMeasurement 00054 /// This constructs a onedimensional measurement 00055 /// 00056 /// This function doesn't return a value 00057 /// 00058 /// @remarks 00059 /// 00060 /// @see 00061 /// 00062 /// @author CMLabs Inc. @date 15-02-2007 00063 /////////////////////////////////////////////////////////////////////////////// 00064 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00065 CMMeasurement(); 00066 /////////////////////////////////////////////////////////////////////////////// 00067 /// public overloaded constructor CMMeasurement 00068 /// This constructs a multidimensional measurement 00069 /// 00070 /// @param [in] name type <b>const JString &</b> the name of the measurement 00071 /// @param [in] dim type <b>unsigned int</b> the dimensionality of the measurement 00072 /// 00073 /// This function doesn't return a value 00074 /// 00075 /// @remarks 00076 /// 00077 /// @see 00078 /// 00079 /// @author CMLabs Inc. @date 15-02-2007 00080 /////////////////////////////////////////////////////////////////////////////// 00081 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00082 CMMeasurement(const JString& name, unsigned int dim); 00083 /////////////////////////////////////////////////////////////////////////////// 00084 /// public overloaded constructor CMMeasurement 00085 /// This constructs a measurement from XML 00086 /// 00087 /// @param [in] xml type <b>const JString &</b> raw XML 00088 /// 00089 /// This function doesn't return a value 00090 /// 00091 /// @remarks 00092 /// 00093 /// @see 00094 /// 00095 /// @author CMLabs Inc. @date 15-02-2007 00096 /////////////////////////////////////////////////////////////////////////////// 00097 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00098 CMMeasurement(const JString& xml); 00099 /////////////////////////////////////////////////////////////////////////////// 00100 /// public overloaded constructor CMMeasurement 00101 /// This constructs a measurement from an XML node 00102 /// 00103 /// @param [in, out] node type <b>XMLNode *</b> node containing interpreted XML 00104 /// 00105 /// This function doesn't return a value 00106 /// 00107 /// @remarks 00108 /// 00109 /// @see 00110 /// 00111 /// @author CMLabs Inc. @date 15-02-2007 00112 /////////////////////////////////////////////////////////////////////////////// 00113 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00114 CMMeasurement(XMLNode* node); 00115 /////////////////////////////////////////////////////////////////////////////// 00116 /// public virtual destructor ~CMMeasurement 00117 /// 00118 /// This function doesn't return a value 00119 /// 00120 /// @remarks 00121 /// 00122 /// @see 00123 /// 00124 /// @author CMLabs Inc. @date 15-02-2007 00125 /////////////////////////////////////////////////////////////////////////////// 00126 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00127 ~CMMeasurement(); 00128 00129 /////////////////////////////////////////////////////////////////////////////// 00130 /// public virtual toXML 00131 /// The <b>toXML</b> method converts the object to XML and returns this as a <b>JString</b> 00132 /// 00133 /// <code><pre> 00134 /// JString xml = obj->toXML(); 00135 /// </pre></code> 00136 /// 00137 /// @return <ul><li>non-empty <b>JString</b> if successful, or</li> 00138 /// <li>empty <b>JString</b> if unsuccessful.</li></ul> 00139 /// 00140 /// @remarks 00141 /// 00142 /// @see 00143 /// 00144 /// @author CMLabs Inc. @date 15-02-2007 00145 /////////////////////////////////////////////////////////////////////////////// 00146 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00147 JString toXML(); 00148 /////////////////////////////////////////////////////////////////////////////// 00149 /// public virtual fromXML 00150 /// The <b>fromXML</b> method returns reads in the XML and overwrites the values 00151 /// of the object with the data stored in the XML 00152 /// 00153 /// <code><pre> 00154 /// obj->fromXML(xmlNode); 00155 /// </pre></code> 00156 /// 00157 /// @param [in, out] node type <b>XMLNode *</b> contains the interpreted XML 00158 /// 00159 /// @return <ul><li><b>true</b> if successful, or</li> 00160 /// <li><b>false</b> if unsuccessful.</li></ul> 00161 /// 00162 /// @remarks 00163 /// 00164 /// @see 00165 /// 00166 /// @author CMLabs Inc. @date 15-02-2007 00167 /////////////////////////////////////////////////////////////////////////////// 00168 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00169 bool fromXML(XMLNode* node); 00170 /////////////////////////////////////////////////////////////////////////////// 00171 /// public constant print 00172 /// The <b>print</b> method returns textual information as a <b>JString</b> 00173 /// 00174 /// <code><pre> 00175 /// text = obj->print(); 00176 /// </pre></code> 00177 /// 00178 /// @return <ul><li>non-empty <b>JString</b> if successful, or</li> 00179 /// <li>empty <b>JString</b> if unsuccessful.</li></ul> 00180 /// 00181 /// @remarks 00182 /// 00183 /// @see 00184 /// 00185 /// @author CMLabs Inc. @date 15-02-2007 00186 /////////////////////////////////////////////////////////////////////////////// 00187 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00188 JString print() const; 00189 /////////////////////////////////////////////////////////////////////////////// 00190 /// public virtual toHTML 00191 /// The <b>toHTML</b> method describes the object as HTML by returning a <b>JString</b> 00192 /// ... 00193 /// 00194 /// <code><pre> 00195 /// html = obj->toHTML(); 00196 /// </pre></code> 00197 /// 00198 /// @return <ul><li>non-empty <b>JString</b> if successful, or</li> 00199 /// <li>empty <b>JString</b> if unsuccessful.</li></ul> 00200 /// 00201 /// @remarks 00202 /// 00203 /// @see 00204 /// 00205 /// @author CMLabs Inc. @date 15-02-2007 00206 /////////////////////////////////////////////////////////////////////////////// 00207 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00208 JString toHTML(); 00209 00210 /////////////////////////////////////////////////////////////////////////////// 00211 /// public toXMLParam 00212 /// The <b>toXMLParam</b> method returns a string with the XML parameters for this object. 00213 /// This is mainly used if the parent object wants to put this child object into the XML 00214 /// as a parameter instead of a subtag. 00215 /// 00216 /// <code><pre> 00217 /// example: <xxx name="34" name_uncertainty="12" ... > 00218 /// </pre></code> 00219 /// 00220 /// @param [in] name type <b>const JString &</b> parameter name 00221 /// 00222 /// @return <ul><li>non-empty <b>JString</b> if successful, or</li> 00223 /// <li>empty <b>JString</b> if unsuccessful.</li></ul> 00224 /// 00225 /// @remarks 00226 /// 00227 /// @see fromXMLParam 00228 /// 00229 /// @author CMLabs Inc. @date 15-02-2007 00230 /////////////////////////////////////////////////////////////////////////////// 00231 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00232 JString toXMLParam(const JString& name); 00233 /////////////////////////////////////////////////////////////////////////////// 00234 /// public fromXMLParam 00235 /// The <b>fromXMLParam</b> method reads in the values from the parameter field of the XMLNode 00236 /// basically the reverse of toXMLParam 00237 /// 00238 /// @param [in] name type <b>const JString &</b> parameter name 00239 /// @param [in, out] node type <b>XMLNode *</b> XML node 00240 /// 00241 /// @return <ul><li><b>true</b> if successful, or</li> 00242 /// <li><b>false</b> if unsuccessful.</li></ul> 00243 /// 00244 /// @remarks 00245 /// 00246 /// @see toXMLParam 00247 /// 00248 /// @author CMLabs Inc. @date 15-02-2007 00249 /////////////////////////////////////////////////////////////////////////////// 00250 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00251 bool fromXMLParam(const JString& name, XMLNode* node); 00252 00253 /////////////////////////////////////////////////////////////////////////////// 00254 /// public virtual constant clone 00255 /// The <b>clone</b> method returns a copy of the object as an <b>Object *</b> 00256 /// 00257 /// <code><pre> 00258 /// obj2 = (CMMeasurement*) obj->clone(); 00259 /// </pre></code> 00260 /// 00261 /// @return <ul><li>non-NULL <b>Object *</b> if successful, or</li> 00262 /// <li><b>NULL</b> if unsuccessful.</li></ul> 00263 /// 00264 /// @remarks 00265 /// 00266 /// @see 00267 /// 00268 /// @author CMLabs Inc. @date 15-02-2007 00269 /////////////////////////////////////////////////////////////////////////////// 00270 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00271 Object* clone() const; 00272 /////////////////////////////////////////////////////////////////////////////// 00273 /// public reset 00274 /// The <b>reset</b> method resets all the values to <b>CMMEASUREMENT_NOVALUE</b> 00275 /// 00276 /// <code><pre> 00277 /// obj->reset(); 00278 /// </pre></code> 00279 /// 00280 /// @return <ul><li><b>true</b> if successful, or</li> 00281 /// <li><b>false</b> if unsuccessful.</li></ul> 00282 /// 00283 /// @remarks 00284 /// 00285 /// @see 00286 /// 00287 /// @author CMLabs Inc. @date 15-02-2007 00288 /////////////////////////////////////////////////////////////////////////////// 00289 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00290 bool reset(); 00291 00292 /////////////////////////////////////////////////////////////////////////////// 00293 /// public constant operator [] 00294 /// The <b>operator []</b> method returns the value at position N 00295 /// 00296 /// <code><pre> 00297 /// value = obj[3]; 00298 /// </pre></code> 00299 /// 00300 /// @param [in] n type <b>int</b> position of value 00301 /// 00302 /// @return <ul><li><b>double</b> if successful, or</li> 00303 /// <li><b>0</b> if unsuccessful.</li></ul> 00304 /// 00305 /// @remarks 00306 /// 00307 /// @see 00308 /// 00309 /// @author CMLabs Inc. @date 15-02-2007 00310 /////////////////////////////////////////////////////////////////////////////// 00311 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00312 double operator[](int n) const; 00313 /////////////////////////////////////////////////////////////////////////////// 00314 /// public constant getValue 00315 /// The <b>getValue</b> method returns the value at position N 00316 /// 00317 /// <code><pre> 00318 /// value = obj->getValue(3); 00319 /// </pre></code> 00320 /// 00321 /// @param [in] n type <b>int</b> position of value 00322 /// 00323 /// @return <ul><li><b>double</b> if successful, or</li> 00324 /// <li><b>0</b> if unsuccessful.</li></ul> 00325 /// 00326 /// @remarks 00327 /// 00328 /// @see 00329 /// 00330 /// @author CMLabs Inc. @date 15-02-2007 00331 /////////////////////////////////////////////////////////////////////////////// 00332 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00333 double getValue(int n) const; 00334 /////////////////////////////////////////////////////////////////////////////// 00335 /// public constant getUncertainty 00336 /// The <b>getUncertainty</b> method returns uncertainty of the value at position N 00337 /// ... 00338 /// 00339 /// <code><pre> 00340 /// value = obj->getUncertainty(3); 00341 /// </pre></code> 00342 /// 00343 /// @param [in] n type <b>int</b> position of value 00344 /// 00345 /// @return <ul><li><b>double</b> if successful, or</li> 00346 /// <li><b>0</b> if unsuccessful.</li></ul> 00347 /// 00348 /// @remarks 00349 /// 00350 /// @see 00351 /// 00352 /// @author CMLabs Inc. @date 15-02-2007 00353 /////////////////////////////////////////////////////////////////////////////// 00354 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00355 double getUncertainty(int n) const; 00356 /////////////////////////////////////////////////////////////////////////////// 00357 /// public setValue 00358 /// The <b>setValue</b> method sets the value at position N 00359 /// 00360 /// <code><pre> 00361 /// obj->setValue(15.2); 00362 /// </pre></code> 00363 /// 00364 /// @param [in] n type <b>int</b> position of value 00365 /// @param [in] value type <b>double</b> value to be set 00366 /// 00367 /// @return <ul><li><b>true</b> if successful, or</li> 00368 /// <li><b>false</b> if unsuccessful.</li></ul> 00369 /// 00370 /// @remarks 00371 /// 00372 /// @see 00373 /// 00374 /// @author CMLabs Inc. @date 15-02-2007 00375 /////////////////////////////////////////////////////////////////////////////// 00376 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00377 bool setValue(int n, double value); 00378 /////////////////////////////////////////////////////////////////////////////// 00379 /// public setUncertainty 00380 /// The <b>setUncertainty</b> method sets the uncertainty of the value at position N 00381 /// ... 00382 /// 00383 /// <code><pre> 00384 /// obj->setUncertainty(15.2); 00385 /// </pre></code> 00386 /// 00387 /// @param [in] n type <b>int</b> position of uncertainty 00388 /// @param [in] value type <b>double</b> value to be set 00389 /// 00390 /// @return <ul><li><b>true</b> if successful, or</li> 00391 /// <li><b>false</b> if unsuccessful.</li></ul> 00392 /// 00393 /// @remarks 00394 /// 00395 /// @see 00396 /// 00397 /// @author CMLabs Inc. @date 15-02-2007 00398 /////////////////////////////////////////////////////////////////////////////// 00399 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00400 bool setUncertainty(int n, double value); 00401 00402 /////////////////////////////////////////////////////////////////////////////// 00403 /// public virtual overloaded constant equals 00404 /// The <b>equals</b> method returns true if the two measurements are identical. 00405 /// Version that accepts any CoreLibrary Object and returns false if the wrong object type is compared. 00406 /// 00407 /// <code><pre> 00408 /// obj2->equals(obj1); 00409 /// </pre></code> 00410 /// 00411 /// @param [in] o type <b>const Object *</b> CoreLibrary Object to be compared 00412 /// 00413 /// @return <ul><li><b>true</b> if successful, or</li> 00414 /// <li><b>false</b> if unsuccessful.</li></ul> 00415 /// 00416 /// @remarks 00417 /// 00418 /// @see 00419 /// 00420 /// @author CMLabs Inc. @date 15-02-2007 00421 /////////////////////////////////////////////////////////////////////////////// 00422 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00423 bool equals(const Object* o) const; 00424 /////////////////////////////////////////////////////////////////////////////// 00425 /// public overloaded constant equals 00426 /// The <b>equals</b> method returns true if the two measurements are identical. 00427 /// 00428 /// <code><pre> 00429 /// obj2->equals(obj1); 00430 /// </pre></code> 00431 /// 00432 /// @param [in] m type <b>const CMMeasurement &</b> measurement to be compared 00433 /// 00434 /// @return <ul><li><b>true</b> if successful, or</li> 00435 /// <li><b>false</b> if unsuccessful.</li></ul> 00436 /// 00437 /// @remarks 00438 /// 00439 /// @see 00440 /// 00441 /// @author CMLabs Inc. @date 15-02-2007 00442 /////////////////////////////////////////////////////////////////////////////// 00443 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00444 bool equals(const CMMeasurement& m) const; 00445 /////////////////////////////////////////////////////////////////////////////// 00446 /// public overloaded constant equals 00447 /// The <b>equals</b> method returns true if the two measurements are identical. 00448 /// 00449 /// <code><pre> 00450 /// obj2->equals(obj1); 00451 /// </pre></code> 00452 /// 00453 /// @param [in] m type <b>const CMMeasurement *</b> measurement to be compared 00454 /// 00455 /// @return <ul><li><b>true</b> if successful, or</li> 00456 /// <li><b>false</b> if unsuccessful.</li></ul> 00457 /// 00458 /// @remarks 00459 /// 00460 /// @see 00461 /// 00462 /// @author CMLabs Inc. @date 15-02-2007 00463 /////////////////////////////////////////////////////////////////////////////// 00464 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00465 bool equals(const CMMeasurement* m) const; 00466 /////////////////////////////////////////////////////////////////////////////// 00467 /// public overloaded hasChangedSince 00468 /// The <b>hasChangedSince</b> method returns true if the measurement has changed since the last measurement was taken 00469 /// 00470 /// @param [in] m type <b>const CMMeasurement &</b> last measurement 00471 /// 00472 /// @return <ul><li><b>true</b> if successful, or</li> 00473 /// <li><b>false</b> if unsuccessful.</li></ul> 00474 /// 00475 /// @remarks 00476 /// 00477 /// @see 00478 /// 00479 /// @author CMLabs Inc. @date 15-02-2007 00480 /////////////////////////////////////////////////////////////////////////////// 00481 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00482 bool hasChangedSince(const CMMeasurement& m); 00483 /////////////////////////////////////////////////////////////////////////////// 00484 /// public overloaded hasChangedSince 00485 /// The <b>hasChangedSince</b> method returns true if the measurement has changed since the last measurement was taken 00486 /// ... 00487 /// 00488 /// <code><pre> 00489 /// 00490 /// </pre></code> 00491 /// 00492 /// @param [in] m type <b>const CMMeasurement *</b> last measurement 00493 /// 00494 /// @return <ul><li><b>true</b> if successful, or</li> 00495 /// <li><b>false</b> if unsuccessful.</li></ul> 00496 /// 00497 /// @remarks 00498 /// 00499 /// @see 00500 /// 00501 /// @author CMLabs Inc. @date 15-02-2007 00502 /////////////////////////////////////////////////////////////////////////////// 00503 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00504 bool hasChangedSince(const CMMeasurement* m); 00505 00506 /////////////////////////////////////////////////////////////////////////////// 00507 /// JString name 00508 /// Name of measurement 00509 /// 00510 /// @remarks 00511 /// 00512 /// @author CMLabs Inc. @date 15-02-2007 00513 /////////////////////////////////////////////////////////////////////////////// 00514 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00515 JString name; 00516 /////////////////////////////////////////////////////////////////////////////// 00517 /// unsigned int len 00518 /// Dimensionality of measurement 00519 /// 00520 /// @remarks 00521 /// 00522 /// @author CMLabs Inc. @date 15-02-2007 00523 /////////////////////////////////////////////////////////////////////////////// 00524 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00525 unsigned len; 00526 /////////////////////////////////////////////////////////////////////////////// 00527 /// double value 00528 /// Value of measurement 00529 /// 00530 /// @remarks 00531 /// 00532 /// @author CMLabs Inc. @date 15-02-2007 00533 /////////////////////////////////////////////////////////////////////////////// 00534 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00535 double value; 00536 /////////////////////////////////////////////////////////////////////////////// 00537 /// double uncertainty 00538 /// Uncertainty of measurement 00539 /// 00540 /// @remarks 00541 /// 00542 /// @author CMLabs Inc. @date 15-02-2007 00543 /////////////////////////////////////////////////////////////////////////////// 00544 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00545 double uncertainty; 00546 /////////////////////////////////////////////////////////////////////////////// 00547 /// JString units 00548 /// The optional unit of the measurement in text 00549 /// 00550 /// @remarks 00551 /// 00552 /// @author CMLabs Inc. @date 15-02-2007 00553 /////////////////////////////////////////////////////////////////////////////// 00554 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00555 JString units; 00556 /////////////////////////////////////////////////////////////////////////////// 00557 /// double * values 00558 /// The array of values for multidimensional data 00559 /// 00560 /// @remarks 00561 /// 00562 /// @author CMLabs Inc. @date 15-02-2007 00563 /////////////////////////////////////////////////////////////////////////////// 00564 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00565 double* values; 00566 /////////////////////////////////////////////////////////////////////////////// 00567 /// double * uncertainties 00568 /// The array of value uncertainties for multidimensional data 00569 /// 00570 /// @remarks 00571 /// 00572 /// @author CMLabs Inc. @date 15-02-2007 00573 /////////////////////////////////////////////////////////////////////////////// 00574 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00575 double* uncertainties; 00576 }; 00577 00578 class CMPoint : public Object { 00579 public: 00580 /////////////////////////////////////////////////////////////////////////////// 00581 /// public overloaded constructor CMPoint 00582 /// The <b>CMPoint</b> method creates a CMPoint object 00583 /// 00584 /// <code><pre> 00585 /// obj = new CMPoint(); 00586 /// </pre></code> 00587 /// 00588 /// This function doesn't return a value 00589 /// 00590 /// @remarks 00591 /// 00592 /// @see 00593 /// 00594 /// @author Thor List @date 18-05-2007 00595 /////////////////////////////////////////////////////////////////////////////// 00596 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00597 CMPoint(); 00598 /////////////////////////////////////////////////////////////////////////////// 00599 /// public virtual destructor ~CMPoint 00600 /// The <b>~CMPoint</b> method destroys a CMPoint 00601 /// 00602 /// <code><pre> 00603 /// delete(obj); 00604 /// </pre></code> 00605 /// 00606 /// This function doesn't return a value 00607 /// 00608 /// @remarks 00609 /// 00610 /// @see 00611 /// 00612 /// @author Thor List @date 18-05-2007 00613 /////////////////////////////////////////////////////////////////////////////// 00614 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00615 ~CMPoint(); 00616 /////////////////////////////////////////////////////////////////////////////// 00617 /// public overloaded constructor CMPoint 00618 /// The <b>CMPoint</b> method constructs a CMPoint from XML 00619 /// 00620 /// <code><pre> 00621 /// new CMPoint(xml); 00622 /// </pre></code> 00623 /// 00624 /// @param [in] xml type <b>const JString &</b> <i></i> Raw XML string 00625 /// 00626 /// This function doesn't return a value 00627 /// 00628 /// @remarks 00629 /// 00630 /// @see 00631 /// 00632 /// @author Thor List @date 18-05-2007 00633 /////////////////////////////////////////////////////////////////////////////// 00634 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00635 CMPoint(const JString& xml); 00636 /////////////////////////////////////////////////////////////////////////////// 00637 /// public overloaded constructor CMPoint 00638 /// The <b>CMPoint</b> method constructs a CMPoint from an XMLNode 00639 /// 00640 /// <code><pre> 00641 /// obj->CMPoint(); 00642 /// </pre></code> 00643 /// 00644 /// @param [in, out] node type <b>XMLNode *</b> <i></i> XML Node containing XML 00645 /// 00646 /// This function doesn't return a value 00647 /// 00648 /// @remarks 00649 /// 00650 /// @see 00651 /// 00652 /// @author Thor List @date 18-05-2007 00653 /////////////////////////////////////////////////////////////////////////////// 00654 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00655 CMPoint(XMLNode* node); 00656 00657 /////////////////////////////////////////////////////////////////////////////// 00658 /// public virtual toXML 00659 /// The <b>toXML</b> method generates the XML representing the object 00660 /// 00661 /// <code><pre> 00662 /// val = obj->toXML(); 00663 /// </pre></code> 00664 /// 00665 /// @return <ul><li><b>JString</b> containing <b>XML</b> if successful, or</li> 00666 /// <li><b>empty string</b> if unsuccessful.</li></ul> 00667 /// 00668 /// @remarks 00669 /// 00670 /// @see 00671 /// 00672 /// @author Thor List @date 18-05-2007 00673 /////////////////////////////////////////////////////////////////////////////// 00674 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00675 JString toXML(); 00676 /////////////////////////////////////////////////////////////////////////////// 00677 /// public virtual fromXML 00678 /// The <b>fromXML</b> method instantiates the CMPoint object from XML 00679 /// 00680 /// <code><pre> 00681 /// val = obj->fromXML(xmlnode); 00682 /// </pre></code> 00683 /// 00684 /// @param [in, out] node type <b>XMLNode *</b> <i></i> XMLNode containing XML 00685 /// 00686 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 00687 /// <li><b>false</b> if unsuccessful.</li></ul> 00688 /// 00689 /// @remarks 00690 /// 00691 /// @see 00692 /// 00693 /// @author Thor List @date 18-05-2007 00694 /////////////////////////////////////////////////////////////////////////////// 00695 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00696 bool fromXML(XMLNode* node); 00697 /////////////////////////////////////////////////////////////////////////////// 00698 /// public constant print 00699 /// The <b>print</b> method creates a string representation of the object 00700 /// 00701 /// <code><pre> 00702 /// val = obj->print(); 00703 /// </pre></code> 00704 /// 00705 /// @return <ul><li><b>JString</b> containing <b>text</b> if successful, or</li> 00706 /// <li><b>empty string</b> if unsuccessful.</li></ul> 00707 /// 00708 /// @remarks 00709 /// 00710 /// @see 00711 /// 00712 /// @author Thor List @date 18-05-2007 00713 /////////////////////////////////////////////////////////////////////////////// 00714 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00715 JString print() const; 00716 /////////////////////////////////////////////////////////////////////////////// 00717 /// public virtual toHTML 00718 /// The <b>toHTML</b> method creates HTML which represents the object 00719 /// 00720 /// <code><pre> 00721 /// val = obj->toHTML(); 00722 /// </pre></code> 00723 /// 00724 /// @return <ul><li><b>JString</b> containing <b>HTML string</b> if successful, or</li> 00725 /// <li><b>empty string</b> if unsuccessful.</li></ul> 00726 /// 00727 /// @remarks 00728 /// 00729 /// @see 00730 /// 00731 /// @author Thor List @date 18-05-2007 00732 /////////////////////////////////////////////////////////////////////////////// 00733 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00734 JString toHTML(); 00735 00736 /////////////////////////////////////////////////////////////////////////////// 00737 /// public virtual constant clone 00738 /// The <b>clone</b> method creates an identical object by cloning 00739 /// 00740 /// <code><pre> 00741 /// val = (CMPoint*) obj->clone(); 00742 /// </pre></code> 00743 /// 00744 /// @return <ul><li><b>Object *</b> containing <b>object</b> if successful, or</li> 00745 /// <li><b>NULL</b> if unsuccessful.</li></ul> 00746 /// 00747 /// @remarks 00748 /// 00749 /// @see 00750 /// 00751 /// @author Thor List @date 18-05-2007 00752 /////////////////////////////////////////////////////////////////////////////// 00753 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00754 Object* clone() const; 00755 /////////////////////////////////////////////////////////////////////////////// 00756 /// public reset 00757 /// The <b>reset</b> method resets the CMPoint to its default value content 00758 /// 00759 /// <code><pre> 00760 /// val = obj->reset(); 00761 /// </pre></code> 00762 /// 00763 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 00764 /// <li><b>false</b> if unsuccessful.</li></ul> 00765 /// 00766 /// @remarks 00767 /// 00768 /// @see 00769 /// 00770 /// @author Thor List @date 18-05-2007 00771 /////////////////////////////////////////////////////////////////////////////// 00772 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00773 bool reset(); 00774 00775 /////////////////////////////////////////////////////////////////////////////// 00776 /// public constant operator [] 00777 /// The <b>operator []</b> method retrieves the Nth element value 00778 /// 00779 /// <code><pre> 00780 /// val = obj->operator[n]; 00781 /// </pre></code> 00782 /// 00783 /// @param [in] n type <b>int</b> <i></i> element position 00784 /// 00785 /// @return <ul><li><b>double</b> containing <b>value</b> if successful, or</li> 00786 /// <li><b>0</b> if unsuccessful.</li></ul> 00787 /// 00788 /// @remarks 00789 /// 00790 /// @see 00791 /// 00792 /// @author Thor List @date 18-05-2007 00793 /////////////////////////////////////////////////////////////////////////////// 00794 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00795 double operator[](int n) const; 00796 /////////////////////////////////////////////////////////////////////////////// 00797 /// public constant get 00798 /// The <b>get</b> method retrieves the Nth element value 00799 /// 00800 /// <code><pre> 00801 /// val = obj->get(n); 00802 /// </pre></code> 00803 /// 00804 /// @param [in] n type <b>int</b> <i></i> element position 00805 /// 00806 /// @return <ul><li><b>double</b> containing <b>value</b> if successful, or</li> 00807 /// <li><b>0</b> if unsuccessful.</li></ul> 00808 /// 00809 /// @remarks 00810 /// 00811 /// @see 00812 /// 00813 /// @author Thor List @date 18-05-2007 00814 /////////////////////////////////////////////////////////////////////////////// 00815 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00816 double get(int n) const; 00817 /////////////////////////////////////////////////////////////////////////////// 00818 /// public constant getUncertainty 00819 /// The <b>getUncertainty</b> method retrieves the uncertainty for the Nth element value 00820 /// 00821 /// <code><pre> 00822 /// val = obj->getUncertainty(n); 00823 /// </pre></code> 00824 /// 00825 /// @param [in] n type <b>int</b> <i></i> element position 00826 /// 00827 /// @return <ul><li><b>double</b> containing <b>value</b> if successful, or</li> 00828 /// <li><b>0</b> if unsuccessful.</li></ul> 00829 /// 00830 /// @remarks 00831 /// 00832 /// @see 00833 /// 00834 /// @author Thor List @date 18-05-2007 00835 /////////////////////////////////////////////////////////////////////////////// 00836 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00837 double getUncertainty(int n) const; 00838 /////////////////////////////////////////////////////////////////////////////// 00839 /// public overloaded set 00840 /// The <b>set</b> method sets the Nth element value 00841 /// 00842 /// <code><pre> 00843 /// val = obj->set(n, value); 00844 /// </pre></code> 00845 /// 00846 /// @param [in] n type <b>int</b> <i></i> element position 00847 /// @param [in] value type <b>double</b> <i></i> value to set 00848 /// 00849 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 00850 /// <li><b>false</b> if unsuccessful.</li></ul> 00851 /// 00852 /// @remarks 00853 /// 00854 /// @see 00855 /// 00856 /// @author Thor List @date 18-05-2007 00857 /////////////////////////////////////////////////////////////////////////////// 00858 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00859 bool set(int n, double value); 00860 /////////////////////////////////////////////////////////////////////////////// 00861 /// public overloaded set 00862 /// The <b>set</b> method sets the Nth element value and uncertainty 00863 /// 00864 /// <code><pre> 00865 /// val = obj->set(n, value, uncert); 00866 /// </pre></code> 00867 /// 00868 /// @param [in] n type <b>int</b> <i></i> element position 00869 /// @param [in] value type <b>double</b> <i></i> value to set 00870 /// @param [in] uncertainty type <b>double</b> <i></i> uncertainty to set 00871 /// 00872 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 00873 /// <li><b>false</b> if unsuccessful.</li></ul> 00874 /// 00875 /// @remarks 00876 /// 00877 /// @see 00878 /// 00879 /// @author Thor List @date 18-05-2007 00880 /////////////////////////////////////////////////////////////////////////////// 00881 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00882 bool set(int n, double value, double uncertainty); 00883 00884 /////////////////////////////////////////////////////////////////////////////// 00885 /// public virtual overloaded constant equals 00886 /// The <b>equals</b> method tests if two objects are equal 00887 /// 00888 /// <code><pre> 00889 /// val = obj->equals(obj); 00890 /// </pre></code> 00891 /// 00892 /// @param [in] o type <b>const Object *</b> <i></i> object to test 00893 /// 00894 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 00895 /// <li><b>false</b> if unsuccessful.</li></ul> 00896 /// 00897 /// @remarks 00898 /// 00899 /// @see 00900 /// 00901 /// @author Thor List @date 18-05-2007 00902 /////////////////////////////////////////////////////////////////////////////// 00903 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00904 bool equals(const Object* o) const; 00905 /////////////////////////////////////////////////////////////////////////////// 00906 /// public overloaded constant equals 00907 /// The <b>equals</b> method tests if two objects are equal 00908 /// 00909 /// <code><pre> 00910 /// val = obj->equals(point); 00911 /// </pre></code> 00912 /// 00913 /// @param [in] p type <b>const CMPoint &</b> <i></i> point to test 00914 /// 00915 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 00916 /// <li><b>false</b> if unsuccessful.</li></ul> 00917 /// 00918 /// @remarks 00919 /// 00920 /// @see 00921 /// 00922 /// @author Thor List @date 18-05-2007 00923 /////////////////////////////////////////////////////////////////////////////// 00924 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00925 bool equals(const CMPoint& p) const; 00926 /////////////////////////////////////////////////////////////////////////////// 00927 /// public overloaded constant equals 00928 /// The <b>equals</b> method tests if two objects are equal 00929 /// 00930 /// <code><pre> 00931 /// val = obj->equals(point); 00932 /// </pre></code> 00933 /// 00934 /// @param [in] p type <b>const CMPoint *</b> <i></i> point to test 00935 /// 00936 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 00937 /// <li><b>false</b> if unsuccessful.</li></ul> 00938 /// 00939 /// @remarks 00940 /// 00941 /// @see 00942 /// 00943 /// @author Thor List @date 18-05-2007 00944 /////////////////////////////////////////////////////////////////////////////// 00945 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00946 bool equals(const CMPoint* p) const; 00947 /////////////////////////////////////////////////////////////////////////////// 00948 /// public overloaded hasChangedSince 00949 /// The <b>hasChangedSince</b> method tests if a point has changed 00950 /// 00951 /// <code><pre> 00952 /// val = obj->hasChangedSince(point); 00953 /// </pre></code> 00954 /// 00955 /// @param [in] p type <b>const CMPoint &</b> <i></i> point to test 00956 /// 00957 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 00958 /// <li><b>false</b> if unsuccessful.</li></ul> 00959 /// 00960 /// @remarks 00961 /// 00962 /// @see 00963 /// 00964 /// @author Thor List @date 18-05-2007 00965 /////////////////////////////////////////////////////////////////////////////// 00966 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00967 bool hasChangedSince(const CMPoint& p); 00968 /////////////////////////////////////////////////////////////////////////////// 00969 /// public overloaded hasChangedSince 00970 /// The <b>hasChangedSince</b> method tests if a point has changed 00971 /// 00972 /// <code><pre> 00973 /// val = obj->hasChangedSince(point); 00974 /// </pre></code> 00975 /// 00976 /// @param [in] p type <b>const CMPoint *</b> <i></i> point to test 00977 /// 00978 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 00979 /// <li><b>false</b> if unsuccessful.</li></ul> 00980 /// 00981 /// @remarks 00982 /// 00983 /// @see 00984 /// 00985 /// @author Thor List @date 18-05-2007 00986 /////////////////////////////////////////////////////////////////////////////// 00987 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 00988 bool hasChangedSince(const CMPoint* p); 00989 /////////////////////////////////////////////////////////////////////////////// 00990 /// public overloaded addDifference 00991 /// The <b>addDifference</b> method updates a point with a point update 00992 /// 00993 /// <code><pre> 00994 /// val = obj->addDifference(update); 00995 /// </pre></code> 00996 /// 00997 /// @param [in] p type <b>const CMPoint &</b> <i></i> point update 00998 /// 00999 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01000 /// <li><b>false</b> if unsuccessful.</li></ul> 01001 /// 01002 /// @remarks 01003 /// 01004 /// @see 01005 /// 01006 /// @author Thor List @date 18-05-2007 01007 /////////////////////////////////////////////////////////////////////////////// 01008 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01009 bool addDifference(const CMPoint& p); 01010 /////////////////////////////////////////////////////////////////////////////// 01011 /// public overloaded addDifference 01012 /// The <b>addDifference</b> method updates a point with a point update 01013 /// 01014 /// <code><pre> 01015 /// val = obj->addDifference(point); 01016 /// </pre></code> 01017 /// 01018 /// @param [in] p type <b>const CMPoint *</b> <i></i> point update 01019 /// 01020 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01021 /// <li><b>false</b> if unsuccessful.</li></ul> 01022 /// 01023 /// @remarks 01024 /// 01025 /// @see 01026 /// 01027 /// @author Thor List @date 18-05-2007 01028 /////////////////////////////////////////////////////////////////////////////// 01029 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01030 bool addDifference(const CMPoint* p); 01031 01032 double x, y, z, w; 01033 double xUncertainty, yUncertainty, zUncertainty, wUncertainty; 01034 /////////////////////////////////////////////////////////////////////////////// 01035 /// JString units 01036 /// The <b>units</b> variable units in clear text 01037 /// 01038 /// @remarks 01039 /// 01040 /// @author Thor List @date 18-05-2007 01041 /////////////////////////////////////////////////////////////////////////////// 01042 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01043 JString units; 01044 /////////////////////////////////////////////////////////////////////////////// 01045 /// JString coordinateSystem 01046 /// The <b>coordinateSystem</b> variable name of the coordinate system 01047 /// 01048 /// @remarks 01049 /// 01050 /// @author Thor List @date 18-05-2007 01051 /////////////////////////////////////////////////////////////////////////////// 01052 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01053 JString coordinateSystem; 01054 }; 01055 01056 01057 class CMObject; 01058 01059 class CMPose : public Object { 01060 public: 01061 /////////////////////////////////////////////////////////////////////////////// 01062 /// public overloaded constructor CMPose 01063 /// The <b>CMPose</b> method constructs a CMPose object 01064 /// 01065 /// <code><pre> 01066 /// new CMPose(); 01067 /// </pre></code> 01068 /// 01069 /// This function doesn't return a value 01070 /// 01071 /// @remarks 01072 /// 01073 /// @see 01074 /// 01075 /// @author Thor List @date 18-05-2007 01076 /////////////////////////////////////////////////////////////////////////////// 01077 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01078 CMPose(); 01079 /////////////////////////////////////////////////////////////////////////////// 01080 /// public overloaded constructor CMPose 01081 /// The <b>CMPose</b> method constructs a new CMPose from raw XML 01082 /// 01083 /// <code><pre> 01084 /// new CMPose(xml); 01085 /// </pre></code> 01086 /// 01087 /// @param [in] xml type <b>const JString &</b> <i></i> raw XML 01088 /// 01089 /// This function doesn't return a value 01090 /// 01091 /// @remarks 01092 /// 01093 /// @see 01094 /// 01095 /// @author Thor List @date 18-05-2007 01096 /////////////////////////////////////////////////////////////////////////////// 01097 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01098 CMPose(const JString& xml); 01099 /////////////////////////////////////////////////////////////////////////////// 01100 /// public overloaded constructor CMPose 01101 /// The <b>CMPose</b> method constructs a new CMPose from an XML Node 01102 /// 01103 /// <code><pre> 01104 /// new CMPose(node); 01105 /// </pre></code> 01106 /// 01107 /// @param [in, out] node type <b>XMLNode *</b> <i></i> Node containing XML 01108 /// 01109 /// This function doesn't return a value 01110 /// 01111 /// @remarks 01112 /// 01113 /// @see 01114 /// 01115 /// @author Thor List @date 18-05-2007 01116 /////////////////////////////////////////////////////////////////////////////// 01117 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01118 CMPose(XMLNode* node); 01119 /////////////////////////////////////////////////////////////////////////////// 01120 /// public virtual destructor ~CMPose 01121 /// The <b>~CMPose</b> method destroys a CMPose object 01122 /// 01123 /// <code><pre> 01124 /// delete(obj); 01125 /// </pre></code> 01126 /// 01127 /// This function doesn't return a value 01128 /// 01129 /// @remarks 01130 /// 01131 /// @see 01132 /// 01133 /// @author Thor List @date 18-05-2007 01134 /////////////////////////////////////////////////////////////////////////////// 01135 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01136 ~CMPose(); 01137 01138 /////////////////////////////////////////////////////////////////////////////// 01139 /// public virtual constant clone 01140 /// The <b>clone</b> method creates an identical copy of the object 01141 /// 01142 /// <code><pre> 01143 /// val = (CMPose*) obj->clone(); 01144 /// </pre></code> 01145 /// 01146 /// @return <ul><li><b>Object *</b> containing <b>object</b> if successful, or</li> 01147 /// <li><b>NULL</b> if unsuccessful.</li></ul> 01148 /// 01149 /// @remarks 01150 /// 01151 /// @see 01152 /// 01153 /// @author Thor List @date 18-05-2007 01154 /////////////////////////////////////////////////////////////////////////////// 01155 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01156 Object* clone() const; 01157 /////////////////////////////////////////////////////////////////////////////// 01158 /// public virtual overloaded fromXML 01159 /// The <b>fromXML</b> method fills in the object with the content of the XML 01160 /// 01161 /// <code><pre> 01162 /// val = obj->fromXML(xml); 01163 /// </pre></code> 01164 /// 01165 /// @param [in] xml type <b>const JString &</b> <i></i> raw XML 01166 /// 01167 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01168 /// <li><b>false</b> if unsuccessful.</li></ul> 01169 /// 01170 /// @remarks 01171 /// 01172 /// @see 01173 /// 01174 /// @author Thor List @date 18-05-2007 01175 /////////////////////////////////////////////////////////////////////////////// 01176 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01177 bool fromXML(const JString& xml); 01178 /////////////////////////////////////////////////////////////////////////////// 01179 /// public virtual overloaded fromXML 01180 /// The <b>fromXML</b> method fills in the object with the content of the XML Node 01181 /// 01182 /// <code><pre> 01183 /// val = obj->fromXML(node); 01184 /// </pre></code> 01185 /// 01186 /// @param [in, out] node type <b>XMLNode *</b> <i></i> XML Node containing XML 01187 /// 01188 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01189 /// <li><b>false</b> if unsuccessful.</li></ul> 01190 /// 01191 /// @remarks 01192 /// 01193 /// @see 01194 /// 01195 /// @author Thor List @date 18-05-2007 01196 /////////////////////////////////////////////////////////////////////////////// 01197 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01198 bool fromXML(XMLNode* node); 01199 /////////////////////////////////////////////////////////////////////////////// 01200 /// public virtual toXML 01201 /// The <b>toXML</b> method creates XML that represents the full object content 01202 /// 01203 /// <code><pre> 01204 /// val = obj->toXML(); 01205 /// </pre></code> 01206 /// 01207 /// @return <ul><li><b>JString</b> containing <b>XML</b> if successful, or</li> 01208 /// <li><b>empty string</b> if unsuccessful.</li></ul> 01209 /// 01210 /// @remarks 01211 /// 01212 /// @see 01213 /// 01214 /// @author Thor List @date 18-05-2007 01215 /////////////////////////////////////////////////////////////////////////////// 01216 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01217 JString toXML(); 01218 /////////////////////////////////////////////////////////////////////////////// 01219 /// public constant print 01220 /// The <b>print</b> method creates a string representation of the object 01221 /// 01222 /// <code><pre> 01223 /// val = obj->print(); 01224 /// </pre></code> 01225 /// 01226 /// @return <ul><li><b>JString</b> containing <b>text</b> if successful, or</li> 01227 /// <li><b>empty string</b> if unsuccessful.</li></ul> 01228 /// 01229 /// @remarks 01230 /// 01231 /// @see 01232 /// 01233 /// @author Thor List @date 18-05-2007 01234 /////////////////////////////////////////////////////////////////////////////// 01235 JString print(); 01236 /////////////////////////////////////////////////////////////////////////////// 01237 /// public virtual toHTML 01238 /// The <b>toHTML</b> method creates HTML which represents the object 01239 /// 01240 /// <code><pre> 01241 /// val = obj->toHTML(); 01242 /// </pre></code> 01243 /// 01244 /// @return <ul><li><b>JString</b> containing <b>HTML string</b> if successful, or</li> 01245 /// <li><b>empty string</b> if unsuccessful.</li></ul> 01246 /// 01247 /// @remarks 01248 /// 01249 /// @see 01250 /// 01251 /// @author Thor List @date 18-05-2007 01252 /////////////////////////////////////////////////////////////////////////////// 01253 JString toHTML(); 01254 01255 /////////////////////////////////////////////////////////////////////////////// 01256 /// JString id 01257 /// The <b>id</b> variable contains the ID 01258 /// 01259 /// @remarks 01260 /// 01261 /// @author Thor List @date 18-05-2007 01262 /////////////////////////////////////////////////////////////////////////////// 01263 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01264 JString id; 01265 /////////////////////////////////////////////////////////////////////////////// 01266 /// JString type 01267 /// The <b>type</b> variable contains the type 01268 /// 01269 /// @remarks 01270 /// 01271 /// @author Thor List @date 18-05-2007 01272 /////////////////////////////////////////////////////////////////////////////// 01273 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01274 JString type; 01275 /////////////////////////////////////////////////////////////////////////////// 01276 /// CMObject * parent 01277 /// The <b>parent</b> variable contains a pointer to the parent object 01278 /// 01279 /// @remarks 01280 /// 01281 /// @author Thor List @date 18-05-2007 01282 /////////////////////////////////////////////////////////////////////////////// 01283 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01284 CMObject* parent; 01285 /////////////////////////////////////////////////////////////////////////////// 01286 /// Box boundingbox 01287 /// The <b>boundingbox</b> variable contains the bounding box of the object 01288 /// 01289 /// @remarks 01290 /// 01291 /// @author Thor List @date 18-05-2007 01292 /////////////////////////////////////////////////////////////////////////////// 01293 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01294 Box boundingbox; 01295 /////////////////////////////////////////////////////////////////////////////// 01296 /// PointFloat gazedirection 01297 /// The <b>gazedirection</b> variable contains the gaze direction of the object 01298 /// 01299 /// @remarks 01300 /// 01301 /// @author Thor List @date 18-05-2007 01302 /////////////////////////////////////////////////////////////////////////////// 01303 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01304 PointFloat gazedirection; 01305 // hierarchical pose tree 01306 // face 01307 }; 01308 01309 class CMManipulator : public Object { 01310 public: 01311 /////////////////////////////////////////////////////////////////////////////// 01312 /// public overloaded constructor CMManipulator 01313 /// The <b>CMManipulator</b> method constructs a default manipulator 01314 /// 01315 /// <code><pre> 01316 /// new CMManipulator(); 01317 /// </pre></code> 01318 /// 01319 /// This function doesn't return a value 01320 /// 01321 /// @remarks 01322 /// 01323 /// @see 01324 /// 01325 /// @author Thor List @date 18-05-2007 01326 /////////////////////////////////////////////////////////////////////////////// 01327 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01328 CMManipulator(); 01329 /////////////////////////////////////////////////////////////////////////////// 01330 /// public overloaded constructor CMManipulator 01331 /// The <b>CMManipulator</b> method creates a manipulator from raw XML 01332 /// 01333 /// <code><pre> 01334 /// new CMManipulator(xml); 01335 /// </pre></code> 01336 /// 01337 /// @param [in] xml type <b>const JString &</b> <i></i> raw XML 01338 /// 01339 /// This function doesn't return a value 01340 /// 01341 /// @remarks 01342 /// 01343 /// @see 01344 /// 01345 /// @author Thor List @date 18-05-2007 01346 /////////////////////////////////////////////////////////////////////////////// 01347 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01348 CMManipulator(const JString& xml); 01349 /////////////////////////////////////////////////////////////////////////////// 01350 /// public overloaded constructor CMManipulator 01351 /// The <b>CMManipulator</b> method creates a manipulator from an XML Node 01352 /// 01353 /// <code><pre> 01354 /// new CMManipulator(node); 01355 /// </pre></code> 01356 /// 01357 /// @param [in, out] node type <b>XMLNode *</b> <i></i> XML Node containing XML 01358 /// 01359 /// This function doesn't return a value 01360 /// 01361 /// @remarks 01362 /// 01363 /// @see 01364 /// 01365 /// @author Thor List @date 18-05-2007 01366 /////////////////////////////////////////////////////////////////////////////// 01367 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01368 CMManipulator(XMLNode* node); 01369 /////////////////////////////////////////////////////////////////////////////// 01370 /// public virtual destructor ~CMManipulator 01371 /// 01372 /// <code><pre> 01373 /// delete(obj); 01374 /// </pre></code> 01375 /// 01376 /// This function doesn't return a value 01377 /// 01378 /// @remarks 01379 /// 01380 /// @see 01381 /// 01382 /// @author Thor List @date 18-05-2007 01383 /////////////////////////////////////////////////////////////////////////////// 01384 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01385 ~CMManipulator(); 01386 /////////////////////////////////////////////////////////////////////////////// 01387 /// public virtual constant clone 01388 /// The <b>clone</b> method creates an identical object by cloning 01389 /// 01390 /// <code><pre> 01391 /// val = (CMManipulator*) obj->clone(); 01392 /// </pre></code> 01393 /// 01394 /// @return <ul><li><b>Object *</b> containing <b>object</b> if successful, or</li> 01395 /// <li><b>NULL</b> if unsuccessful.</li></ul> 01396 /// 01397 /// @remarks 01398 /// 01399 /// @see 01400 /// 01401 /// @author Thor List @date 18-05-2007 01402 /////////////////////////////////////////////////////////////////////////////// 01403 Object* clone() const; 01404 /////////////////////////////////////////////////////////////////////////////// 01405 /// public virtual overloaded fromXML 01406 /// The <b>fromXML</b> method fills in the object with the content of the XML 01407 /// 01408 /// <code><pre> 01409 /// val = obj->fromXML(xml); 01410 /// </pre></code> 01411 /// 01412 /// @param [in] xml type <b>const JString &</b> <i></i> raw XML 01413 /// 01414 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01415 /// <li><b>false</b> if unsuccessful.</li></ul> 01416 /// 01417 /// @remarks 01418 /// 01419 /// @see 01420 /// 01421 /// @author Thor List @date 18-05-2007 01422 /////////////////////////////////////////////////////////////////////////////// 01423 bool fromXML(const JString& xml); 01424 /////////////////////////////////////////////////////////////////////////////// 01425 /// public virtual fromXML 01426 /// The <b>fromXML</b> method instantiates the object from XML 01427 /// 01428 /// <code><pre> 01429 /// val = obj->fromXML(xmlnode); 01430 /// </pre></code> 01431 /// 01432 /// @param [in, out] node type <b>XMLNode *</b> <i></i> XMLNode containing XML 01433 /// 01434 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01435 /// <li><b>false</b> if unsuccessful.</li></ul> 01436 /// 01437 /// @remarks 01438 /// 01439 /// @see 01440 /// 01441 /// @author Thor List @date 18-05-2007 01442 /////////////////////////////////////////////////////////////////////////////// 01443 bool fromXML(XMLNode* node); 01444 /////////////////////////////////////////////////////////////////////////////// 01445 /// public virtual toXML 01446 /// The <b>toXML</b> method generates the XML representing the object 01447 /// 01448 /// <code><pre> 01449 /// val = obj->toXML(); 01450 /// </pre></code> 01451 /// 01452 /// @return <ul><li><b>JString</b> containing <b>XML</b> if successful, or</li> 01453 /// <li><b>empty string</b> if unsuccessful.</li></ul> 01454 /// 01455 /// @remarks 01456 /// 01457 /// @see 01458 /// 01459 /// @author Thor List @date 18-05-2007 01460 /////////////////////////////////////////////////////////////////////////////// 01461 JString toXML(); 01462 /////////////////////////////////////////////////////////////////////////////// 01463 /// public constant print 01464 /// The <b>print</b> method creates a string representation of the object 01465 /// 01466 /// <code><pre> 01467 /// val = obj->print(); 01468 /// </pre></code> 01469 /// 01470 /// @return <ul><li><b>JString</b> containing <b>text</b> if successful, or</li> 01471 /// <li><b>empty string</b> if unsuccessful.</li></ul> 01472 /// 01473 /// @remarks 01474 /// 01475 /// @see 01476 /// 01477 /// @author Thor List @date 18-05-2007 01478 /////////////////////////////////////////////////////////////////////////////// 01479 JString print(); 01480 /////////////////////////////////////////////////////////////////////////////// 01481 /// public virtual toHTML 01482 /// The <b>toHTML</b> method creates HTML which represents the object 01483 /// 01484 /// <code><pre> 01485 /// val = obj->toHTML(); 01486 /// </pre></code> 01487 /// 01488 /// @return <ul><li><b>JString</b> containing <b>HTML string</b> if successful, or</li> 01489 /// <li><b>empty string</b> if unsuccessful.</li></ul> 01490 /// 01491 /// @remarks 01492 /// 01493 /// @see 01494 /// 01495 /// @author Thor List @date 18-05-2007 01496 /////////////////////////////////////////////////////////////////////////////// 01497 JString toHTML(); 01498 01499 /////////////////////////////////////////////////////////////////////////////// 01500 /// JString id 01501 /// The <b>id</b> variable contains the ID 01502 /// 01503 /// @remarks 01504 /// 01505 /// @author Thor List @date 18-05-2007 01506 /////////////////////////////////////////////////////////////////////////////// 01507 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01508 JString id; 01509 /////////////////////////////////////////////////////////////////////////////// 01510 /// JString type 01511 /// The <b>type</b> variable contains the type 01512 /// 01513 /// @remarks 01514 /// 01515 /// @author Thor List @date 18-05-2007 01516 /////////////////////////////////////////////////////////////////////////////// 01517 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01518 JString type; 01519 /////////////////////////////////////////////////////////////////////////////// 01520 /// CMObject * parent 01521 /// The <b>parent</b> variable contains a pointer to the parent object 01522 /// 01523 /// @remarks 01524 /// 01525 /// @author Thor List @date 18-05-2007 01526 /////////////////////////////////////////////////////////////////////////////// 01527 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01528 CMObject* parent; 01529 /////////////////////////////////////////////////////////////////////////////// 01530 /// Box boundingbox 01531 /// The <b>boundingbox</b> variable contains the bounding box of the manipulator 01532 /// 01533 /// @remarks 01534 /// 01535 /// @author Thor List @date 18-05-2007 01536 /////////////////////////////////////////////////////////////////////////////// 01537 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01538 Box boundingbox; 01539 /////////////////////////////////////////////////////////////////////////////// 01540 /// double open 01541 /// The <b>open</b> variable provides a measurement of how open the manipulator is 01542 /// 01543 /// @remarks 01544 /// 01545 /// @author Thor List @date 18-05-2007 01546 /////////////////////////////////////////////////////////////////////////////// 01547 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01548 double open; 01549 /////////////////////////////////////////////////////////////////////////////// 01550 /// CMPose pose 01551 /// The <b>pose</b> variable contains the pose of the object 01552 /// 01553 /// @remarks 01554 /// 01555 /// @author Thor List @date 18-05-2007 01556 /////////////////////////////////////////////////////////////////////////////// 01557 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01558 CMPose pose; 01559 }; 01560 01561 01562 01563 class CMObject : public Object { 01564 public: 01565 /////////////////////////////////////////////////////////////////////////////// 01566 /// public overloaded constructor CMObject 01567 /// The <b>CMObject</b> method creates a new CMObject 01568 /// 01569 /// <code><pre> 01570 /// new CMObject(); 01571 /// </pre></code> 01572 /// 01573 /// This function doesn't return a value 01574 /// 01575 /// @remarks 01576 /// 01577 /// @see 01578 /// 01579 /// @author Thor List @date 18-05-2007 01580 /////////////////////////////////////////////////////////////////////////////// 01581 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01582 CMObject(); 01583 /////////////////////////////////////////////////////////////////////////////// 01584 /// public overloaded constructor CMObject 01585 /// The <b>CMObject</b> method creates a new CMObject from raw XML 01586 /// 01587 /// <code><pre> 01588 /// new CMObject(xml); 01589 /// </pre></code> 01590 /// 01591 /// @param [in] xml type <b>const JString &</b> <i></i> raw XML text 01592 /// 01593 /// This function doesn't return a value 01594 /// 01595 /// @remarks 01596 /// 01597 /// @see 01598 /// 01599 /// @author Thor List @date 18-05-2007 01600 /////////////////////////////////////////////////////////////////////////////// 01601 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01602 CMObject(const JString& xml); 01603 /////////////////////////////////////////////////////////////////////////////// 01604 /// public overloaded constructor CMObject 01605 /// The <b>CMObject</b> method creates a new CMObject from an XML Node 01606 /// 01607 /// <code><pre> 01608 /// new CMObject(node); 01609 /// </pre></code> 01610 /// 01611 /// @param [in, out] node type <b>XMLNode *</b> <i></i> XML Node containing XML 01612 /// 01613 /// This function doesn't return a value 01614 /// 01615 /// @remarks 01616 /// 01617 /// @see 01618 /// 01619 /// @author Thor List @date 18-05-2007 01620 /////////////////////////////////////////////////////////////////////////////// 01621 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01622 CMObject(XMLNode* node); 01623 /////////////////////////////////////////////////////////////////////////////// 01624 /// public virtual destructor ~CMObject 01625 /// The <b>~CMObject</b> method destroys a CMObject 01626 /// 01627 /// <code><pre> 01628 /// delete(obj); 01629 /// </pre></code> 01630 /// 01631 /// This function doesn't return a value 01632 /// 01633 /// @remarks 01634 /// 01635 /// @see 01636 /// 01637 /// @author Thor List @date 18-05-2007 01638 /////////////////////////////////////////////////////////////////////////////// 01639 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01640 ~CMObject(); 01641 /////////////////////////////////////////////////////////////////////////////// 01642 /// public virtual constant clone 01643 /// The <b>clone</b> method creates an identical object by cloning 01644 /// 01645 /// <code><pre> 01646 /// val = (CMObject*) obj->clone(); 01647 /// </pre></code> 01648 /// 01649 /// @return <ul><li><b>Object *</b> containing <b>object</b> if successful, or</li> 01650 /// <li><b>NULL</b> if unsuccessful.</li></ul> 01651 /// 01652 /// @remarks 01653 /// 01654 /// @see 01655 /// 01656 /// @author Thor List @date 18-05-2007 01657 /////////////////////////////////////////////////////////////////////////////// 01658 Object* clone() const; 01659 /////////////////////////////////////////////////////////////////////////////// 01660 /// public virtual overloaded constant equals 01661 /// The <b>equals</b> method tests if two objects are equal 01662 /// 01663 /// <code><pre> 01664 /// val = obj->equals(obj); 01665 /// </pre></code> 01666 /// 01667 /// @param [in] o type <b>const Object *</b> <i></i> object to test 01668 /// 01669 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01670 /// <li><b>false</b> if unsuccessful.</li></ul> 01671 /// 01672 /// @remarks 01673 /// 01674 /// @see 01675 /// 01676 /// @author Thor List @date 18-05-2007 01677 /////////////////////////////////////////////////////////////////////////////// 01678 bool equals(const Object* o) const; 01679 /////////////////////////////////////////////////////////////////////////////// 01680 /// public virtual overloaded constant equals 01681 /// The <b>equals</b> method tests if two objects are equal 01682 /// 01683 /// <code><pre> 01684 /// val = obj->equals(obj); 01685 /// </pre></code> 01686 /// 01687 /// @param [in] o type <b>const CMObject &</b> <i></i> object to test 01688 /// 01689 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01690 /// <li><b>false</b> if unsuccessful.</li></ul> 01691 /// 01692 /// @remarks 01693 /// 01694 /// @see 01695 /// 01696 /// @author Thor List @date 18-05-2007 01697 /////////////////////////////////////////////////////////////////////////////// 01698 bool equals(const CMObject& p) const; 01699 /////////////////////////////////////////////////////////////////////////////// 01700 /// public virtual overloaded constant equals 01701 /// The <b>equals</b> method tests if two objects are equal 01702 /// 01703 /// <code><pre> 01704 /// val = obj->equals(obj); 01705 /// </pre></code> 01706 /// 01707 /// @param [in] o type <b>const CMObject *</b> <i></i> object to test 01708 /// 01709 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01710 /// <li><b>false</b> if unsuccessful.</li></ul> 01711 /// 01712 /// @remarks 01713 /// 01714 /// @see 01715 /// 01716 /// @author Thor List @date 18-05-2007 01717 /////////////////////////////////////////////////////////////////////////////// 01718 bool equals(const CMObject* p) const; 01719 /////////////////////////////////////////////////////////////////////////////// 01720 /// public virtual overloaded fromXML 01721 /// The <b>fromXML</b> method fills in the object with the content of the XML 01722 /// 01723 /// <code><pre> 01724 /// val = obj->fromXML(xml); 01725 /// </pre></code> 01726 /// 01727 /// @param [in] xml type <b>const JString &</b> <i></i> raw XML 01728 /// 01729 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01730 /// <li><b>false</b> if unsuccessful.</li></ul> 01731 /// 01732 /// @remarks 01733 /// 01734 /// @see 01735 /// 01736 /// @author Thor List @date 18-05-2007 01737 /////////////////////////////////////////////////////////////////////////////// 01738 bool fromXML(const JString& xml); 01739 /////////////////////////////////////////////////////////////////////////////// 01740 /// public virtual fromXML 01741 /// The <b>fromXML</b> method instantiates the object from XML 01742 /// 01743 /// <code><pre> 01744 /// val = obj->fromXML(xmlnode); 01745 /// </pre></code> 01746 /// 01747 /// @param [in, out] node type <b>XMLNode *</b> <i></i> XMLNode containing XML 01748 /// 01749 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01750 /// <li><b>false</b> if unsuccessful.</li></ul> 01751 /// 01752 /// @remarks 01753 /// 01754 /// @see 01755 /// 01756 /// @author Thor List @date 18-05-2007 01757 /////////////////////////////////////////////////////////////////////////////// 01758 bool fromXML(XMLNode* node); 01759 /////////////////////////////////////////////////////////////////////////////// 01760 /// public virtual toXML 01761 /// The <b>toXML</b> method generates the XML representing the object 01762 /// 01763 /// <code><pre> 01764 /// val = obj->toXML(); 01765 /// </pre></code> 01766 /// 01767 /// @return <ul><li><b>JString</b> containing <b>XML</b> if successful, or</li> 01768 /// <li><b>empty string</b> if unsuccessful.</li></ul> 01769 /// 01770 /// @remarks 01771 /// 01772 /// @see 01773 /// 01774 /// @author Thor List @date 18-05-2007 01775 /////////////////////////////////////////////////////////////////////////////// 01776 JString toXML(); 01777 /////////////////////////////////////////////////////////////////////////////// 01778 /// public constant print 01779 /// The <b>print</b> method creates a string representation of the object 01780 /// 01781 /// <code><pre> 01782 /// val = obj->print(); 01783 /// </pre></code> 01784 /// 01785 /// @return <ul><li><b>JString</b> containing <b>text</b> if successful, or</li> 01786 /// <li><b>empty string</b> if unsuccessful.</li></ul> 01787 /// 01788 /// @remarks 01789 /// 01790 /// @see 01791 /// 01792 /// @author Thor List @date 18-05-2007 01793 /////////////////////////////////////////////////////////////////////////////// 01794 JString print(); 01795 /////////////////////////////////////////////////////////////////////////////// 01796 /// public virtual toHTML 01797 /// The <b>toHTML</b> method creates HTML which represents the object 01798 /// 01799 /// <code><pre> 01800 /// val = obj->toHTML(); 01801 /// </pre></code> 01802 /// 01803 /// @return <ul><li><b>JString</b> containing <b>HTML string</b> if successful, or</li> 01804 /// <li><b>empty string</b> if unsuccessful.</li></ul> 01805 /// 01806 /// @remarks 01807 /// 01808 /// @see 01809 /// 01810 /// @author Thor List @date 18-05-2007 01811 /////////////////////////////////////////////////////////////////////////////// 01812 JString toHTML(); 01813 /////////////////////////////////////////////////////////////////////////////// 01814 /// public virtual unitTest 01815 /// The <b>unitTest</b> method runs the object's unit tests 01816 /// 01817 /// <code><pre> 01818 /// val = obj->unitTest(); 01819 /// </pre></code> 01820 /// 01821 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01822 /// <li><b>false</b> if unsuccessful.</li></ul> 01823 /// 01824 /// @remarks 01825 /// 01826 /// @see 01827 /// 01828 /// @author Thor List @date 18-05-2007 01829 /////////////////////////////////////////////////////////////////////////////// 01830 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01831 bool unitTest(); 01832 01833 /////////////////////////////////////////////////////////////////////////////// 01834 /// public operator - 01835 /// The <b>operator -</b> method returns the difference between two CMObjects 01836 /// 01837 /// <code><pre> 01838 /// val = obj - obj2; 01839 /// </pre></code> 01840 /// 01841 /// @param [in, out] otherObject type <b>CMObject *</b> <i></i> CMObject to compare with 01842 /// 01843 /// @return <ul><li><b>CMObject *</b> containing <b>the difference object</b> if successful, or</li> 01844 /// <li><b>NULL</b> if no difference.</li></ul> 01845 /// 01846 /// @remarks 01847 /// 01848 /// @see 01849 /// 01850 /// @author Thor List @date 18-05-2007 01851 /////////////////////////////////////////////////////////////////////////////// 01852 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01853 CMObject* operator-(CMObject* otherObject); 01854 /////////////////////////////////////////////////////////////////////////////// 01855 /// public operator += 01856 /// The <b>operator +=</b> method adds the information from another CMObject 01857 /// 01858 /// <code><pre> 01859 /// val += obj; 01860 /// </pre></code> 01861 /// 01862 /// @param [in, out] otherObject type <b>CMObject *</b> <i></i> CMObject to add 01863 /// 01864 /// @return <ul><li><b>const CMObject &</b> containing <b>self</b> if successful, or</li> 01865 /// <li><b>unmodified self</b> if unsuccessful.</li></ul> 01866 /// 01867 /// @remarks 01868 /// 01869 /// @see 01870 /// 01871 /// @author Thor List @date 18-05-2007 01872 /////////////////////////////////////////////////////////////////////////////// 01873 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01874 const CMObject& operator+=(CMObject* otherObject); 01875 /////////////////////////////////////////////////////////////////////////////// 01876 /// public getDifferenceSince 01877 /// The <b>getDifferenceSince</b> method returns the difference between the two objects 01878 /// 01879 /// <code><pre> 01880 /// val = obj->getDifferenceSince(obj); 01881 /// </pre></code> 01882 /// 01883 /// @param [in, out] otherObject type <b>CMObject *</b> <i></i> CMObject to compare with 01884 /// 01885 /// @return <ul><li><b>CMObject *</b> containing <b>difference object</b></li> 01886 /// 01887 /// @remarks 01888 /// 01889 /// @see 01890 /// 01891 /// @author Thor List @date 18-05-2007 01892 /////////////////////////////////////////////////////////////////////////////// 01893 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01894 CMObject* getDifferenceSince(CMObject* otherObject); 01895 /////////////////////////////////////////////////////////////////////////////// 01896 /// public getDifferenceSinceIfAny 01897 /// The <b>getDifferenceSinceIfAny</b> method returns the difference between the two objects 01898 /// or NULL if there are no difference 01899 /// 01900 /// <code><pre> 01901 /// val = obj->getDifferenceSinceIfAny(obj); 01902 /// </pre></code> 01903 /// 01904 /// @param [in, out] otherObject type <b>CMObject *</b> <i></i> CMObject to compare with 01905 /// 01906 /// @return <ul><li><b>CMObject *</b> containing <b>difference object</b> if successful, or</li> 01907 /// <li><b>NULL</b> if no difference.</li></ul> 01908 /// 01909 /// @remarks 01910 /// 01911 /// @see 01912 /// 01913 /// @author Thor List @date 18-05-2007 01914 /////////////////////////////////////////////////////////////////////////////// 01915 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01916 CMObject* getDifferenceSinceIfAny(CMObject* otherObject); 01917 /////////////////////////////////////////////////////////////////////////////// 01918 /// public addDifference 01919 /// The <b>addDifference</b> method add the values from a CMObject update 01920 /// 01921 /// <code><pre> 01922 /// val = obj->addDifference(obj); 01923 /// </pre></code> 01924 /// 01925 /// @param [in, out] otherObject type <b>CMObject *</b> <i></i> CMObject with values to add 01926 /// 01927 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01928 /// <li><b>false</b> if unsuccessful.</li></ul> 01929 /// 01930 /// @remarks 01931 /// 01932 /// @see 01933 /// 01934 /// @author Thor List @date 18-05-2007 01935 /////////////////////////////////////////////////////////////////////////////// 01936 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01937 bool addDifference(CMObject* otherObject); 01938 01939 /////////////////////////////////////////////////////////////////////////////// 01940 /// public hasProperty 01941 /// The <b>hasProperty</b> method checks if a property exists 01942 /// 01943 /// <code><pre> 01944 /// val = obj->hasProperty(name); 01945 /// </pre></code> 01946 /// 01947 /// @param [in] name type <b>const JString &</b> <i></i> name of property to check 01948 /// 01949 /// @return <ul><li><b>bool</b> containing <b>true</b> if property exists, or</li> 01950 /// <li><b>false</b> if not.</li></ul> 01951 /// 01952 /// @remarks 01953 /// 01954 /// @see 01955 /// 01956 /// @author Thor List @date 18-05-2007 01957 /////////////////////////////////////////////////////////////////////////////// 01958 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01959 bool hasProperty(const JString& name); 01960 /////////////////////////////////////////////////////////////////////////////// 01961 /// public getPropertyType 01962 /// The <b>getPropertyType</b> method returns the type name of a property 01963 /// 01964 /// <code><pre> 01965 /// val = obj->getPropertyType(name); 01966 /// </pre></code> 01967 /// 01968 /// @param [in] name type <b>const JString &</b> <i></i> name of property to check 01969 /// 01970 /// @return <ul><li><b>JString</b> containing <b>type string</b> if successful, or</li> 01971 /// <li><b>empty string</b> if unsuccessful.</li></ul> 01972 /// 01973 /// @remarks 01974 /// 01975 /// @see 01976 /// 01977 /// @author Thor List @date 18-05-2007 01978 /////////////////////////////////////////////////////////////////////////////// 01979 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 01980 JString getPropertyType(const JString& name); 01981 /////////////////////////////////////////////////////////////////////////////// 01982 /// public removeProperty 01983 /// The <b>removeProperty</b> method removes a stored named property 01984 /// 01985 /// <code><pre> 01986 /// val = obj->removeProperty(name); 01987 /// </pre></code> 01988 /// 01989 /// @param [in] name type <b>const JString &</b> <i></i> property name 01990 /// 01991 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 01992 /// <li><b>false</b> if unsuccessful.</li></ul> 01993 /// 01994 /// @remarks 01995 /// 01996 /// @see 01997 /// 01998 /// @author Thor List @date 18-05-2007 01999 /////////////////////////////////////////////////////////////////////////////// 02000 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02001 bool removeProperty(const JString& name); 02002 02003 /////////////////////////////////////////////////////////////////////////////// 02004 /// public getPropertyString 02005 /// The <b>getPropertyString</b> method returns the property content as a string 02006 /// 02007 /// <code><pre> 02008 /// val = obj->getPropertyString(name); 02009 /// </pre></code> 02010 /// 02011 /// @param [in] name type <b>const JString &</b> <i></i> name of property 02012 /// 02013 /// @return <ul><li><b>JString</b> containing <b>content</b> if successful, or</li> 02014 /// <li><b>empty string</b> if unsuccessful.</li></ul> 02015 /// 02016 /// @remarks 02017 /// 02018 /// @see 02019 /// 02020 /// @author Thor List @date 18-05-2007 02021 /////////////////////////////////////////////////////////////////////////////// 02022 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02023 JString getPropertyString(const JString& name); 02024 /////////////////////////////////////////////////////////////////////////////// 02025 /// public getPropertyInteger 02026 /// The <b>getPropertyInteger</b> method returns the property content as an integer 02027 /// 02028 /// <code><pre> 02029 /// val = obj->getPropertyInteger(name); 02030 /// </pre></code> 02031 /// 02032 /// @param [in] name type <b>const JString &</b> <i></i> name of property 02033 /// 02034 /// @return <ul><li><b>int</b> containing <b>value</b> if successful, or</li> 02035 /// <li><b>0</b> if unsuccessful.</li></ul> 02036 /// 02037 /// @remarks 02038 /// 02039 /// @see 02040 /// 02041 /// @author Thor List @date 18-05-2007 02042 /////////////////////////////////////////////////////////////////////////////// 02043 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02044 int getPropertyInteger(const JString& name); 02045 /////////////////////////////////////////////////////////////////////////////// 02046 /// public getPropertyDouble 02047 /// The <b>getPropertyDouble</b> method returns the property content as a double value 02048 /// 02049 /// <code><pre> 02050 /// val = obj->getPropertyDouble(name); 02051 /// </pre></code> 02052 /// 02053 /// @param [in] name type <b>const JString &</b> <i></i> property name 02054 /// 02055 /// @return <ul><li><b>double</b> containing <b>value</b> if successful, or</li> 02056 /// <li><b>0</b> if unsuccessful.</li></ul> 02057 /// 02058 /// @remarks 02059 /// 02060 /// @see 02061 /// 02062 /// @author Thor List @date 18-05-2007 02063 /////////////////////////////////////////////////////////////////////////////// 02064 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02065 double getPropertyDouble(const JString& name); 02066 /////////////////////////////////////////////////////////////////////////////// 02067 /// public getPropertyObject 02068 /// The <b>getPropertyObject</b> method returns the property content as an object 02069 /// 02070 /// <code><pre> 02071 /// val = obj->getPropertyObject(name); 02072 /// </pre></code> 02073 /// 02074 /// @param [in] name type <b>const JString &</b> <i></i> property name 02075 /// 02076 /// @return <ul><li><b>Object *</b> containing <b>the object</b> if successful, or</li> 02077 /// <li><b>NULL</b> if unsuccessful.</li></ul> 02078 /// 02079 /// @remarks 02080 /// 02081 /// @see 02082 /// 02083 /// @author Thor List @date 18-05-2007 02084 /////////////////////////////////////////////////////////////////////////////// 02085 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02086 Object* getPropertyObject(const JString& name); 02087 02088 /////////////////////////////////////////////////////////////////////////////// 02089 /// public get 02090 /// The <b>get</b> method get a property by name 02091 /// 02092 /// <code><pre> 02093 /// val = obj->get(name); 02094 /// </pre></code> 02095 /// 02096 /// @param [in] prop type <b>const JString &</b> <i></i> property name 02097 /// 02098 /// @return <ul><li><b>JString</b> containing <b>property value</b> if successful, or</li> 02099 /// <li><b>empty string</b> if unsuccessful.</li></ul> 02100 /// 02101 /// @remarks 02102 /// 02103 /// @see 02104 /// 02105 /// @author Thor List @date 18-05-2007 02106 /////////////////////////////////////////////////////////////////////////////// 02107 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02108 JString get(const JString& prop); 02109 02110 /////////////////////////////////////////////////////////////////////////////// 02111 /// public setPropertyString 02112 /// The <b>setPropertyString</b> method set the named property 02113 /// 02114 /// <code><pre> 02115 /// val = obj->setPropertyString(name, value); 02116 /// </pre></code> 02117 /// 02118 /// @param [in] name type <b>const JString &</b> <i></i> property name 02119 /// @param [in] value type <b>const JString &</b> <i></i> new property value 02120 /// 02121 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 02122 /// <li><b>false</b> if unsuccessful.</li></ul> 02123 /// 02124 /// @remarks 02125 /// 02126 /// @see 02127 /// 02128 /// @author Thor List @date 18-05-2007 02129 /////////////////////////////////////////////////////////////////////////////// 02130 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02131 bool setPropertyString(const JString& name, const JString& value); 02132 /////////////////////////////////////////////////////////////////////////////// 02133 /// public setPropertyInteger 02134 /// The <b>setPropertyInteger</b> method sets the named property 02135 /// 02136 /// <code><pre> 02137 /// val = obj->setPropertyInteger(name, value); 02138 /// </pre></code> 02139 /// 02140 /// @param [in] name type <b>const JString &</b> <i></i> property name 02141 /// @param [in] value type <b>int</b> <i></i> new property value 02142 /// 02143 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 02144 /// <li><b>false</b> if unsuccessful.</li></ul> 02145 /// 02146 /// @remarks 02147 /// 02148 /// @see 02149 /// 02150 /// @author Thor List @date 18-05-2007 02151 /////////////////////////////////////////////////////////////////////////////// 02152 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02153 bool setPropertyInteger(const JString& name, int value); 02154 /////////////////////////////////////////////////////////////////////////////// 02155 /// public setPropertyDouble 02156 /// The <b>setPropertyDouble</b> method sets a named property 02157 /// 02158 /// <code><pre> 02159 /// val = obj->setPropertyDouble(name, value); 02160 /// </pre></code> 02161 /// 02162 /// @param [in] name type <b>const JString &</b> <i></i> property name 02163 /// @param [in] value type <b>double</b> <i></i> new property value 02164 /// 02165 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 02166 /// <li><b>false</b> if unsuccessful.</li></ul> 02167 /// 02168 /// @remarks 02169 /// 02170 /// @see 02171 /// 02172 /// @author Thor List @date 18-05-2007 02173 /////////////////////////////////////////////////////////////////////////////// 02174 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02175 bool setPropertyDouble(const JString& name, double value); 02176 /////////////////////////////////////////////////////////////////////////////// 02177 /// public setPropertyObject 02178 /// The <b>setPropertyObject</b> method sets a named property 02179 /// 02180 /// <code><pre> 02181 /// val = obj->setPropertyObject(name, object, type); 02182 /// </pre></code> 02183 /// 02184 /// @param [in] name type <b>const JString &</b> <i></i> property name 02185 /// @param [in, out] value type <b>Object *</b> <i></i> property value as object 02186 /// @param [in] type type <b>const JString &</b> <i></i> object type string 02187 /// 02188 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 02189 /// <li><b>false</b> if unsuccessful.</li></ul> 02190 /// 02191 /// @remarks 02192 /// 02193 /// @see 02194 /// 02195 /// @author Thor List @date 18-05-2007 02196 /////////////////////////////////////////////////////////////////////////////// 02197 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02198 bool setPropertyObject(const JString& name, Object* value, const JString& type); 02199 02200 // *************************************************************** 02201 // Binary Functions 02202 // *************************************************************** 02203 02204 /////////////////////////////////////////////////////////////////////////////// 02205 /// public virtual getBinarySize 02206 /// The <b>getBinarySize</b> method returns the size of binary chunk number 'chunk', use -1 for all chunks 02207 /// 02208 /// <code><pre> 02209 /// val = obj->getBinarySize(2); 02210 /// </pre></code> 02211 /// 02212 /// @return <ul><li><b>long</b> containing the size in bytes</li></ul> 02213 /// 02214 /// @remarks 02215 /// 02216 /// @see 02217 /// 02218 /// @author Thor List @date 20-01-2009 02219 /////////////////////////////////////////////////////////////////////////////// 02220 long getBinarySize(int chunk); 02221 02222 /////////////////////////////////////////////////////////////////////////////// 02223 /// public virtual getBinaryChunkCount 02224 /// The <b>getBinaryChunkCount</b> method returns the number of binary chunks present 02225 /// 02226 /// <code><pre> 02227 /// val = obj->getBinaryChunkCount(); 02228 /// </pre></code> 02229 /// 02230 /// @return <ul><li><b>int</b> containing number of binary chunks.</li></ul> 02231 /// 02232 /// @remarks 02233 /// 02234 /// @see 02235 /// 02236 /// @author Thor List @date 20-01-2009 02237 /////////////////////////////////////////////////////////////////////////////// 02238 int getBinaryChunkCount(); 02239 02240 /////////////////////////////////////////////////////////////////////////////// 02241 /// public virtual toBinaryBuffer 02242 /// The <b>toBinaryBuffer</b> method writes a binary chunk to a buffer 02243 /// 02244 /// <code><pre> 02245 /// val = obj->toBinaryBuffer(2, data, 1024); 02246 /// </pre></code> 02247 /// 02248 /// @return <ul><li><b>long</b> containing number of bytes written to buffer.</li></ul> 02249 /// 02250 /// @remarks 02251 /// 02252 /// @see 02253 /// 02254 /// @author Thor List @date 20-01-2009 02255 /////////////////////////////////////////////////////////////////////////////// 02256 //! Write binary data to buffer at chunk number 'chunk' 02257 long toBinaryBuffer(int chunk, char* buffer, int maxlen); 02258 02259 /////////////////////////////////////////////////////////////////////////////// 02260 /// public virtual fromBinaryBuffer 02261 /// The <b>fromBinaryBuffer</b> method sets the data after separate reception 02262 /// 02263 /// <code><pre> 02264 /// val = obj->fromBinaryBuffer(); 02265 /// </pre></code> 02266 /// 02267 /// @return <ul><li><b>Boolean</b> containing <b>true</b> if successful, or</li> 02268 /// <li><b>false</b> if unsuccessful.</li></ul> 02269 /// 02270 /// @remarks 02271 /// 02272 /// @see 02273 /// 02274 /// @author Thor List @date 20-01-2009 02275 /////////////////////////////////////////////////////////////////////////////// 02276 bool fromBinaryBuffer(int chunk, char* buffer, long len); 02277 02278 /////////////////////////////////////////////////////////////////////////////// 02279 /// JString id 02280 /// The <b>id</b> variable contains the id of the object 02281 /// 02282 /// @remarks 02283 /// 02284 /// @author Thor List @date 18-05-2007 02285 /////////////////////////////////////////////////////////////////////////////// 02286 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02287 JString id; 02288 /////////////////////////////////////////////////////////////////////////////// 02289 /// JString type 02290 /// The <b>type</b> variable contains the type of the object 02291 /// 02292 /// @remarks 02293 /// 02294 /// @author Thor List @date 18-05-2007 02295 /////////////////////////////////////////////////////////////////////////////// 02296 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02297 JString type; 02298 JString parentID; 02299 /////////////////////////////////////////////////////////////////////////////// 02300 /// CMObject * parent 02301 /// The <b>parent</b> variable contains the pointer to the parent object 02302 /// 02303 /// @remarks 02304 /// 02305 /// @author Thor List @date 18-05-2007 02306 /////////////////////////////////////////////////////////////////////////////// 02307 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02308 CMObject* parent; 02309 /////////////////////////////////////////////////////////////////////////////// 02310 /// ObjectDictionary children 02311 /// The <b>children</b> variable contains the list of child CMObjects 02312 /// 02313 /// @remarks 02314 /// 02315 /// @author Thor List @date 18-05-2007 02316 /////////////////////////////////////////////////////////////////////////////// 02317 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02318 ObjectDictionary children; 02319 /////////////////////////////////////////////////////////////////////////////// 02320 /// ObjectDictionary properties 02321 /// The <b>properties</b> variable contains a list of properties 02322 /// 02323 /// @remarks 02324 /// 02325 /// @author Thor List @date 18-05-2007 02326 /////////////////////////////////////////////////////////////////////////////// 02327 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02328 ObjectDictionary properties; 02329 /////////////////////////////////////////////////////////////////////////////// 02330 /// Dictionary propertyTypes 02331 /// The <b>propertyTypes</b> variable contains a dictionary of property names and types 02332 /// 02333 /// @remarks 02334 /// 02335 /// @author Thor List @date 18-05-2007 02336 /////////////////////////////////////////////////////////////////////////////// 02337 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02338 Dictionary propertyTypes; 02339 02340 /////////////////////////////////////////////////////////////////////////////// 02341 /// CMPoint pos 02342 /// The <b>pos</b> variable contains the position of the object 02343 /// 02344 /// @remarks 02345 /// 02346 /// @author Thor List @date 18-05-2007 02347 /////////////////////////////////////////////////////////////////////////////// 02348 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02349 CMPoint pos; 02350 CMMeasurement oriX, oriY, oriZ, oriW; 02351 CMMeasurement velX, velY, velZ; 02352 CMMeasurement boxW, boxH, boxD; 02353 /////////////////////////////////////////////////////////////////////////////// 02354 /// JTime createdTime 02355 /// The <b>createdTime</b> variable contains the time of creation 02356 /// 02357 /// @remarks 02358 /// 02359 /// @author Thor List @date 18-05-2007 02360 /////////////////////////////////////////////////////////////////////////////// 02361 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02362 JTime createdTime; 02363 02364 // physical properties 02365 // color 02366 // texture 02367 // geometry 02368 }; 02369 02370 class CMMap : public Object { 02371 public: 02372 /////////////////////////////////////////////////////////////////////////////// 02373 /// public overloaded constructor CMMap 02374 /// The <b>CMMap</b> method creates a CMMap with default values 02375 /// 02376 /// <code><pre> 02377 /// new CMMap(); 02378 /// </pre></code> 02379 /// 02380 /// This function doesn't return a value 02381 /// 02382 /// @remarks 02383 /// 02384 /// @see 02385 /// 02386 /// @author Thor List @date 18-05-2007 02387 /////////////////////////////////////////////////////////////////////////////// 02388 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02389 CMMap(); 02390 /////////////////////////////////////////////////////////////////////////////// 02391 /// public overloaded constructor CMMap 02392 /// The <b>CMMap</b> method creates a new CMMap from raw XML 02393 /// 02394 /// <code><pre> 02395 /// new CMMap(xml); 02396 /// </pre></code> 02397 /// 02398 /// @param [in] xml type <b>const JString &</b> <i></i> raw XML 02399 /// 02400 /// This function doesn't return a value 02401 /// 02402 /// @remarks 02403 /// 02404 /// @see 02405 /// 02406 /// @author Thor List @date 18-05-2007 02407 /////////////////////////////////////////////////////////////////////////////// 02408 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02409 CMMap(const JString& xml); 02410 /////////////////////////////////////////////////////////////////////////////// 02411 /// public overloaded constructor CMMap 02412 /// The <b>CMMap</b> method creates a new CMMap from an XML Node 02413 /// 02414 /// <code><pre> 02415 /// new CMMap(node); 02416 /// </pre></code> 02417 /// 02418 /// @param [in, out] node type <b>XMLNode *</b> <i></i> XML Node containing XML 02419 /// 02420 /// This function doesn't return a value 02421 /// 02422 /// @remarks 02423 /// 02424 /// @see 02425 /// 02426 /// @author Thor List @date 18-05-2007 02427 /////////////////////////////////////////////////////////////////////////////// 02428 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02429 CMMap(XMLNode* node); 02430 /////////////////////////////////////////////////////////////////////////////// 02431 /// public virtual destructor ~CMMap 02432 /// The <b>~CMMap</b> method destroys a CMMap object 02433 /// 02434 /// <code><pre> 02435 /// delete(obj); 02436 /// </pre></code> 02437 /// 02438 /// This function doesn't return a value 02439 /// 02440 /// @remarks 02441 /// 02442 /// @see 02443 /// 02444 /// @author Thor List @date 18-05-2007 02445 /////////////////////////////////////////////////////////////////////////////// 02446 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02447 ~CMMap(); 02448 /////////////////////////////////////////////////////////////////////////////// 02449 /// public virtual constant clone 02450 /// The <b>clone</b> method creates an identical object by cloning 02451 /// 02452 /// <code><pre> 02453 /// val = (CMMap*) obj->clone(); 02454 /// </pre></code> 02455 /// 02456 /// @return <ul><li><b>Object *</b> containing <b>object</b> if successful, or</li> 02457 /// <li><b>NULL</b> if unsuccessful.</li></ul> 02458 /// 02459 /// @remarks 02460 /// 02461 /// @see 02462 /// 02463 /// @author Thor List @date 18-05-2007 02464 /////////////////////////////////////////////////////////////////////////////// 02465 Object* clone() const; 02466 /////////////////////////////////////////////////////////////////////////////// 02467 /// public virtual overloaded fromXML 02468 /// The <b>fromXML</b> method fills in the object with the content of the XML 02469 /// 02470 /// <code><pre> 02471 /// val = obj->fromXML(xml); 02472 /// </pre></code> 02473 /// 02474 /// @param [in] xml type <b>const JString &</b> <i></i> raw XML 02475 /// 02476 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 02477 /// <li><b>false</b> if unsuccessful.</li></ul> 02478 /// 02479 /// @remarks 02480 /// 02481 /// @see 02482 /// 02483 /// @author Thor List @date 18-05-2007 02484 /////////////////////////////////////////////////////////////////////////////// 02485 bool fromXML(const JString& xml); 02486 /////////////////////////////////////////////////////////////////////////////// 02487 /// public virtual fromXML 02488 /// The <b>fromXML</b> method instantiates the object from XML 02489 /// 02490 /// <code><pre> 02491 /// val = obj->fromXML(xmlnode); 02492 /// </pre></code> 02493 /// 02494 /// @param [in, out] node type <b>XMLNode *</b> <i></i> XMLNode containing XML 02495 /// 02496 /// @return <ul><li><b>bool</b> containing <b>true</b> if successful, or</li> 02497 /// <li><b>false</b> if unsuccessful.</li></ul> 02498 /// 02499 /// @remarks 02500 /// 02501 /// @see 02502 /// 02503 /// @author Thor List @date 18-05-2007 02504 /////////////////////////////////////////////////////////////////////////////// 02505 bool fromXML(XMLNode* node); 02506 /////////////////////////////////////////////////////////////////////////////// 02507 /// public virtual toXML 02508 /// The <b>toXML</b> method generates the XML representing the object 02509 /// 02510 /// <code><pre> 02511 /// val = obj->toXML(); 02512 /// </pre></code> 02513 /// 02514 /// @return <ul><li><b>JString</b> containing <b>XML</b> if successful, or</li> 02515 /// <li><b>empty string</b> if unsuccessful.</li></ul> 02516 /// 02517 /// @remarks 02518 /// 02519 /// @see 02520 /// 02521 /// @author Thor List @date 18-05-2007 02522 /////////////////////////////////////////////////////////////////////////////// 02523 JString toXML(); 02524 /////////////////////////////////////////////////////////////////////////////// 02525 /// public constant print 02526 /// The <b>print</b> method creates a string representation of the object 02527 /// 02528 /// <code><pre> 02529 /// val = obj->print(); 02530 /// </pre></code> 02531 /// 02532 /// @return <ul><li><b>JString</b> containing <b>text</b> if successful, or</li> 02533 /// <li><b>empty string</b> if unsuccessful.</li></ul> 02534 /// 02535 /// @remarks 02536 /// 02537 /// @see 02538 /// 02539 /// @author Thor List @date 18-05-2007 02540 /////////////////////////////////////////////////////////////////////////////// 02541 JString print(); 02542 /////////////////////////////////////////////////////////////////////////////// 02543 /// public virtual toHTML 02544 /// The <b>toHTML</b> method creates HTML which represents the object 02545 /// 02546 /// <code><pre> 02547 /// val = obj->toHTML(); 02548 /// </pre></code> 02549 /// 02550 /// @return <ul><li><b>JString</b> containing <b>HTML string</b> if successful, or</li> 02551 /// <li><b>empty string</b> if unsuccessful.</li></ul> 02552 /// 02553 /// @remarks 02554 /// 02555 /// @see 02556 /// 02557 /// @author Thor List @date 18-05-2007 02558 /////////////////////////////////////////////////////////////////////////////// 02559 JString toHTML(); 02560 02561 02562 /////////////////////////////////////////////////////////////////////////////// 02563 /// JString id 02564 /// The <b>id</b> variable contains the id 02565 /// 02566 /// @remarks 02567 /// 02568 /// @author Thor List @date 18-05-2007 02569 /////////////////////////////////////////////////////////////////////////////// 02570 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02571 JString id; 02572 /////////////////////////////////////////////////////////////////////////////// 02573 /// JString type 02574 /// The <b>type</b> variable contains type 02575 /// 02576 /// @remarks 02577 /// 02578 /// @author Thor List @date 18-05-2007 02579 /////////////////////////////////////////////////////////////////////////////// 02580 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02581 JString type; 02582 /////////////////////////////////////////////////////////////////////////////// 02583 /// JString parentID 02584 /// The <b>parentID</b> variable contains id of the parent object 02585 /// 02586 /// @remarks 02587 /// 02588 /// @author Thor List @date 18-05-2007 02589 /////////////////////////////////////////////////////////////////////////////// 02590 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02591 JString parentID; 02592 /////////////////////////////////////////////////////////////////////////////// 02593 /// CMObject * parent 02594 /// The <b>parent</b> variable contains the pointer to the parent object 02595 /// 02596 /// @remarks 02597 /// 02598 /// @author Thor List @date 18-05-2007 02599 /////////////////////////////////////////////////////////////////////////////// 02600 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02601 CMObject* parent; 02602 /////////////////////////////////////////////////////////////////////////////// 02603 /// ObjectDictionary children 02604 /// The <b>children</b> variable contains the list of children objects 02605 /// 02606 /// @remarks 02607 /// 02608 /// @author Thor List @date 18-05-2007 02609 /////////////////////////////////////////////////////////////////////////////// 02610 /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// 02611 ObjectDictionary children; 02612 02613 }; 02614 02615 CMObject* CMObjectFromObject(Object* obj); 02616 02617 CMMap* CMMapFromObject(Object* obj); 02618 02619 }; // namespace cmlabs 02620 02621 #endif // _COGMAPOBJECTS_H_ 02622