Home | nevrax.com |
|
primitive_block_pacs.cppGo to the documentation of this file.00001 00007 /* Copyright, 2001 Nevrax Ltd. 00008 * 00009 * This file is part of NEVRAX NEL. 00010 * NEVRAX NEL is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2, or (at your option) 00013 * any later version. 00014 00015 * NEVRAX NEL is distributed in the hope that it will be useful, but 00016 * WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * General Public License for more details. 00019 00020 * You should have received a copy of the GNU General Public License 00021 * along with NEVRAX NEL; see the file COPYING. If not, write to the 00022 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00023 * MA 02111-1307, USA. 00024 */ 00025 00026 #include "stdpacs.h" 00027 #include "pacs/primitive_block.h" 00028 00029 00030 namespace NLPACS 00031 { 00032 00033 // *************************************************************************** 00034 00035 CPrimitiveDesc::CPrimitiveDesc () 00036 { 00037 Attenuation = 1; 00038 Type = UMovePrimitive::_2DOrientedBox; 00039 Reaction = UMovePrimitive::DoNothing; 00040 Trigger = UMovePrimitive::NotATrigger; 00041 Obstacle = true; 00042 OcclusionMask = 0xffffffff; 00043 CollisionMask = 0xffffffff; 00044 } 00045 00046 // *************************************************************************** 00047 00048 void CPrimitiveDesc::serial (NLMISC::IStream &s) 00049 { 00050 // Serial the version 00051 int ver = s.serialVersion (0); 00052 00053 s.xmlPush ("LENGTH"); 00054 s.serial (Length[0]); 00055 s.serial (Length[1]); 00056 s.xmlPop (); 00057 00058 s.xmlSerial (Height, "HEIGHT"); 00059 s.xmlSerial (Attenuation, "ATTENUATION"); 00060 00061 s.xmlPush ("TYPE"); 00062 s.serialEnum (Type); 00063 s.xmlPop (); 00064 00065 s.xmlPush ("REACTION"); 00066 s.serialEnum (Reaction); 00067 s.xmlPop (); 00068 00069 s.xmlPush ("TRIGGER"); 00070 s.serialEnum (Trigger); 00071 s.xmlPop (); 00072 00073 s.xmlSerial (Obstacle, "OBSTACLE"); 00074 s.xmlSerial (OcclusionMask, "OCCLUSION_MASK"); 00075 s.xmlSerial (CollisionMask, "COLLISION_MASK"); 00076 s.xmlSerial (Position, "POSITION"); 00077 s.xmlSerial (Orientation, "ORIENTATION"); 00078 } 00079 00080 // *************************************************************************** 00081 00082 void CPrimitiveBlock::serial (NLMISC::IStream &s) 00083 { 00084 s.xmlPush ("PRIMITIVE_BLOCK"); 00085 00086 // Serial checks 00087 s.serialCheck ((uint32)'KBRP'); 00088 00089 // Serial the version 00090 int ver = s.serialVersion (0); 00091 00092 s.xmlPush ("PRIMITIVES"); 00093 s.serialCont (Primitives); 00094 s.xmlPop (); 00095 00096 s.xmlPop (); 00097 } 00098 00099 // *************************************************************************** 00100 00101 } // NLPACS |