00001 #include "Normal.h" 00002 00003 #include <iostream> 00004 00005 using namespace X3DTK; 00006 using namespace std; 00007 00008 Normal::Normal() 00009 : X3DNormalNode() 00010 { 00011 defineTagName("Normal", "Rendering"); 00012 } 00013 00014 Normal::Normal(const MFVec3f &vector) 00015 : X3DNormalNode(), vector_(vector) 00016 { 00017 defineTagName("Normal", "Rendering"); 00018 } 00019 00020 Normal::Normal(const Normal &C) 00021 : X3DNormalNode(), vector_(C.vector_) 00022 { 00023 defineTagName("Normal", "Rendering"); 00024 } 00025 00026 SFNode Normal::clone() const 00027 { 00028 return new Normal(*this); 00029 } 00030 00031 Normal::~Normal() 00032 { 00033 } 00034 00035 void Normal::setVector(const MFVec3f &vector) 00036 { 00037 vector_ = vector; 00038 } 00039 00040 void Normal::loadAttributes(const X3DFileElement *element) 00041 { 00042 int index; 00043 index = element->getIndexAttribute("vector"); 00044 if (index != -1) 00045 vector_ = MFVec3f(element->getAttribute(index)); 00046 } 00047 00048 SFString Normal::writeAttributes() const 00049 { 00050 SFString attr; 00051 if (!vector_.empty()) 00052 attr += " vector=\"" + toSFString(vector_) + "\""; 00053 00054 return attr; 00055 }