00001 #include "DefaultShapeCreator.h" 00002 #include "ShapeNodes.h" 00003 00004 using namespace X3DTK; 00005 00006 DefaultShapeCreator::DefaultShapeCreator() 00007 { 00008 defineNewCreationFunction<DefaultShapeCreator>("Appearance" , &DefaultShapeCreator::createAppearance); 00009 defineNewCreationFunction<DefaultShapeCreator>("FillProperties" , &DefaultShapeCreator::createFillProperties); 00010 defineNewCreationFunction<DefaultShapeCreator>("LineProperties" , &DefaultShapeCreator::createLineProperties); 00011 defineNewCreationFunction<DefaultShapeCreator>("Material" , &DefaultShapeCreator::createMaterial); 00012 defineNewCreationFunction<DefaultShapeCreator>("Shape" , &DefaultShapeCreator::createShape); 00013 defineNewCreationFunction<DefaultShapeCreator>("X3DAppearanceChildNode" , 0); 00014 defineNewCreationFunction<DefaultShapeCreator>("X3DAppearanceNode" , 0); 00015 defineNewCreationFunction<DefaultShapeCreator>("X3DMaterialNode" , 0); 00016 defineNewCreationFunction<DefaultShapeCreator>("X3DShapeNode" , 0); 00017 } 00018 00019 DefaultShapeCreator::~DefaultShapeCreator() 00020 { 00021 } 00022 00023 SFNode DefaultShapeCreator::createAppearance() const 00024 { 00025 return new Appearance(); 00026 } 00027 00028 SFNode DefaultShapeCreator::createFillProperties() const 00029 { 00030 return new FillProperties(); 00031 } 00032 00033 SFNode DefaultShapeCreator::createLineProperties() const 00034 { 00035 return new LineProperties(); 00036 } 00037 00038 SFNode DefaultShapeCreator::createMaterial() const 00039 { 00040 return new Material(); 00041 } 00042 00043 SFNode DefaultShapeCreator::createShape() const 00044 { 00045 return new Shape(); 00046 }