|
From: <br...@us...> - 2008-09-21 02:15:44
|
Revision: 3648
http://openvrml.svn.sourceforge.net/openvrml/?rev=3648&view=rev
Author: braden
Date: 2008-09-21 02:15:35 +0000 (Sun, 21 Sep 2008)
Log Message:
-----------
Moved X3D Geometry2D node implementations into a convenience library.
Modified Paths:
--------------
trunk/ChangeLog
trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln
trunk/src/Makefile.am
trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp
Added Paths:
-----------
trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d/
trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d/x3d-geometry2d.vcproj
trunk/src/node/x3d-geometry2d/
trunk/src/node/x3d-geometry2d/arc2d.cpp
trunk/src/node/x3d-geometry2d/arc2d.h
trunk/src/node/x3d-geometry2d/arc_close2d.cpp
trunk/src/node/x3d-geometry2d/arc_close2d.h
trunk/src/node/x3d-geometry2d/circle2d.cpp
trunk/src/node/x3d-geometry2d/circle2d.h
trunk/src/node/x3d-geometry2d/disk2d.cpp
trunk/src/node/x3d-geometry2d/disk2d.h
trunk/src/node/x3d-geometry2d/polyline2d.cpp
trunk/src/node/x3d-geometry2d/polyline2d.h
trunk/src/node/x3d-geometry2d/polypoint2d.cpp
trunk/src/node/x3d-geometry2d/polypoint2d.h
trunk/src/node/x3d-geometry2d/rectangle2d.cpp
trunk/src/node/x3d-geometry2d/rectangle2d.h
trunk/src/node/x3d-geometry2d/triangle_set2d.cpp
trunk/src/node/x3d-geometry2d/triangle_set2d.h
Removed Paths:
-------------
trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d/x3d-geometry2d.vcproj
trunk/src/node/x3d-geometry2d/arc2d.cpp
trunk/src/node/x3d-geometry2d/arc2d.h
trunk/src/node/x3d-geometry2d/arc_close2d.cpp
trunk/src/node/x3d-geometry2d/arc_close2d.h
trunk/src/node/x3d-geometry2d/circle2d.cpp
trunk/src/node/x3d-geometry2d/circle2d.h
trunk/src/node/x3d-geometry2d/disk2d.cpp
trunk/src/node/x3d-geometry2d/disk2d.h
trunk/src/node/x3d-geometry2d/polyline2d.cpp
trunk/src/node/x3d-geometry2d/polyline2d.h
trunk/src/node/x3d-geometry2d/polypoint2d.cpp
trunk/src/node/x3d-geometry2d/polypoint2d.h
trunk/src/node/x3d-geometry2d/rectangle2d.cpp
trunk/src/node/x3d-geometry2d/rectangle2d.h
trunk/src/node/x3d-geometry2d/triangle_set2d.cpp
trunk/src/node/x3d-geometry2d/triangle_set2d.h
Property Changed:
----------------
trunk/
trunk/src/node/x3d-core/metadata_double.cpp
trunk/src/node/x3d-core/metadata_double.h
trunk/src/node/x3d-core/metadata_float.cpp
trunk/src/node/x3d-core/metadata_float.h
trunk/src/node/x3d-core/metadata_integer.cpp
trunk/src/node/x3d-core/metadata_integer.h
trunk/src/node/x3d-core/metadata_set.cpp
trunk/src/node/x3d-core/metadata_set.h
trunk/src/node/x3d-core/metadata_string.cpp
trunk/src/node/x3d-core/metadata_string.h
trunk/src/node/x3d-grouping/static_group.cpp
trunk/src/node/x3d-grouping/static_group.h
trunk/src/node/x3d-networking/load_sensor.cpp
trunk/src/node/x3d-networking/load_sensor.h
trunk/src/node/x3d-rendering/color_rgba.cpp
trunk/src/node/x3d-rendering/color_rgba.h
trunk/src/node/x3d-rendering/indexed_triangle_fan_set.cpp
trunk/src/node/x3d-rendering/indexed_triangle_fan_set.h
trunk/src/node/x3d-rendering/indexed_triangle_set.cpp
trunk/src/node/x3d-rendering/indexed_triangle_set.h
trunk/src/node/x3d-rendering/indexed_triangle_strip_set.cpp
trunk/src/node/x3d-rendering/indexed_triangle_strip_set.h
trunk/src/node/x3d-rendering/triangle_fan_set.cpp
trunk/src/node/x3d-rendering/triangle_fan_set.h
trunk/src/node/x3d-rendering/triangle_set.cpp
trunk/src/node/x3d-rendering/triangle_set.h
trunk/src/node/x3d-rendering/triangle_strip_set.cpp
trunk/src/node/x3d-rendering/triangle_strip_set.h
trunk/src/node/x3d-shape/fill_properties.cpp
trunk/src/node/x3d-shape/fill_properties.h
trunk/src/node/x3d-shape/line_properties.cpp
trunk/src/node/x3d-shape/line_properties.h
Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644
+ /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2008-09-21 02:07:30 UTC (rev 3647)
+++ trunk/ChangeLog 2008-09-21 02:15:35 UTC (rev 3648)
@@ -1,3 +1,32 @@
+2008-09-20 Braden McDaniel <br...@en...>
+
+ Moved X3D Geometry2D node implementations into a convenience
+ library.
+
+ * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added
+ x3d-geometry2d static library project.
+ * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d/x3d-geometry2d.vcproj
+ * src/Makefile.am: Added convenience library
+ node/x3d-shape/libx3d-geometry2d.la.
+ * src/libopenvrml/openvrml/x3d_geometry2d.cpp: Moved node
+ implementations to separate files.
+ * src/node/x3d-geometry2d/rectangle2d.h
+ * src/node/x3d-geometry2d/arc2d.h
+ * src/node/x3d-geometry2d/triangle_set2d.cpp
+ * src/node/x3d-geometry2d/triangle_set2d.h
+ * src/node/x3d-geometry2d/arc_close2d.cpp
+ * src/node/x3d-geometry2d/disk2d.cpp
+ * src/node/x3d-geometry2d/polyline2d.cpp
+ * src/node/x3d-geometry2d/polypoint2d.cpp
+ * src/node/x3d-geometry2d/arc_close2d.h
+ * src/node/x3d-geometry2d/disk2d.h
+ * src/node/x3d-geometry2d/polyline2d.h
+ * src/node/x3d-geometry2d/circle2d.cpp
+ * src/node/x3d-geometry2d/polypoint2d.h
+ * src/node/x3d-geometry2d/rectangle2d.cpp
+ * src/node/x3d-geometry2d/arc2d.cpp
+ * src/node/x3d-geometry2d/circle2d.h
+
2008-09-18 Braden McDaniel <br...@en...>
Moved X3D Shape node implementations into a convenience
Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln
===================================================================
--- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 02:07:30 UTC (rev 3647)
+++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 02:15:35 UTC (rev 3648)
@@ -4,8 +4,10 @@
ProjectSection(ProjectDependencies) = postProject
{78133A10-3ADF-474C-B32A-74124A976482} = {78133A10-3ADF-474C-B32A-74124A976482}
{430B1A48-8E64-43DF-8CC4-AD09C41BA735} = {430B1A48-8E64-43DF-8CC4-AD09C41BA735}
+ {61A31C6F-23A1-4243-A338-EF749912592A} = {61A31C6F-23A1-4243-A338-EF749912592A}
{7DAC4CA0-9382-4ED0-A26E-A5F84776054C} = {7DAC4CA0-9382-4ED0-A26E-A5F84776054C}
{5ED398C0-0529-40D5-AB2C-C7EF0769002B} = {5ED398C0-0529-40D5-AB2C-C7EF0769002B}
+ {95D646C4-B759-469D-BDBB-A370A5778CA5} = {95D646C4-B759-469D-BDBB-A370A5778CA5}
{1D32E4EB-6613-4270-8295-7113712BC6C5} = {1D32E4EB-6613-4270-8295-7113712BC6C5}
EndProjectSection
EndProject
@@ -53,6 +55,8 @@
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-shape", "x3d-shape\x3d-shape.vcproj", "{95D646C4-B759-469D-BDBB-A370A5778CA5}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-geometry2d", "x3d-geometry2d\x3d-geometry2d.vcproj", "{61A31C6F-23A1-4243-A338-EF749912592A}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -111,6 +115,10 @@
{95D646C4-B759-469D-BDBB-A370A5778CA5}.Debug|Win32.Build.0 = Debug|Win32
{95D646C4-B759-469D-BDBB-A370A5778CA5}.Release|Win32.ActiveCfg = Release|Win32
{95D646C4-B759-469D-BDBB-A370A5778CA5}.Release|Win32.Build.0 = Release|Win32
+ {61A31C6F-23A1-4243-A338-EF749912592A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {61A31C6F-23A1-4243-A338-EF749912592A}.Debug|Win32.Build.0 = Debug|Win32
+ {61A31C6F-23A1-4243-A338-EF749912592A}.Release|Win32.ActiveCfg = Release|Win32
+ {61A31C6F-23A1-4243-A338-EF749912592A}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d
___________________________________________________________________
Added: svn:ignore
+ Debug
Release
x3d-geometry2d.vcproj.*.user
Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d/x3d-geometry2d.vcproj
===================================================================
--- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d/x3d-geometry2d.vcproj 2008-09-21 02:07:30 UTC (rev 3647)
+++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d/x3d-geometry2d.vcproj 2008-09-21 02:15:35 UTC (rev 3648)
@@ -1,235 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="x3d-geometry2d"
- ProjectGUID="{61A31C6F-23A1-4243-A338-EF749912592A}"
- RootNamespace="x3dgeometry2d"
- Keyword="Win32Proj"
- TargetFrameworkVersion="196613"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;OPENVRML_BUILD_DLL"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="4"
- DisableSpecificWarnings="4226;4250;4251;4275;4290;4355;4661;4800"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;OPENVRML_BUILD_DLL"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- DebugInformationFormat="3"
- DisableSpecificWarnings="4226;4250;4251;4275;4290;4355;4661;4800"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\arc2d.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\arc_close2d.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\circle2d.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\disk2d.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\polyline2d.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\polypoint2d.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\rectangle2d.cpp"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\triangle_set2d.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\arc2d.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\arc_close2d.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\circle2d.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\disk2d.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\polyline2d.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\polypoint2d.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\rectangle2d.h"
- >
- </File>
- <File
- RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\triangle_set2d.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
Copied: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d/x3d-geometry2d.vcproj (from rev 3647, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d/x3d-geometry2d.vcproj)
===================================================================
--- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d/x3d-geometry2d.vcproj (rev 0)
+++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geometry2d/x3d-geometry2d.vcproj 2008-09-21 02:15:35 UTC (rev 3648)
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="x3d-geometry2d"
+ ProjectGUID="{61A31C6F-23A1-4243-A338-EF749912592A}"
+ RootNamespace="x3dgeometry2d"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="4"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB;OPENVRML_BUILD_DLL"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4226;4250;4251;4275;4290;4355;4661;4800"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="4"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB;OPENVRML_BUILD_DLL"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4226;4250;4251;4275;4290;4355;4661;4800"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\arc2d.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\arc_close2d.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\circle2d.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\disk2d.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\polyline2d.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\polypoint2d.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\rectangle2d.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\triangle_set2d.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\arc2d.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\arc_close2d.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\circle2d.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\disk2d.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\polyline2d.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\polypoint2d.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\rectangle2d.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\..\..\src\node\x3d-geometry2d\triangle_set2d.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Modified: trunk/src/Makefile.am
===================================================================
--- trunk/src/Makefile.am 2008-09-21 02:07:30 UTC (rev 3647)
+++ trunk/src/Makefile.am 2008-09-21 02:15:35 UTC (rev 3648)
@@ -9,7 +9,8 @@
node/x3d-networking/libx3d-networking.la \
node/x3d-grouping/libx3d-grouping.la \
node/x3d-rendering/libx3d-rendering.la \
- node/x3d-shape/libx3d-shape.la
+ node/x3d-shape/libx3d-shape.la \
+ node/x3d-geometry2d/libx3d-geometry2d.la
if ENABLE_GL_RENDERER
lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la
endif
@@ -147,6 +148,7 @@
node/x3d-grouping/libx3d-grouping.la \
node/x3d-rendering/libx3d-rendering.la \
node/x3d-shape/libx3d-shape.la \
+ node/x3d-geometry2d/libx3d-geometry2d.la \
-lboost_thread$(BOOST_LIB_SUFFIX) \
-lboost_filesystem$(BOOST_LIB_SUFFIX) \
-lltdl
@@ -392,6 +394,29 @@
node/x3d-shape/line_properties.cpp \
node/x3d-shape/line_properties.h
+node_x3d_geometry2d_libx3d_geometry2d_la_CPPFLAGS = \
+ -I$(top_builddir)/src/libopenvrml \
+ -I$(top_srcdir)/src/libopenvrml
+node_x3d_geometry2d_libx3d_geometry2d_la_CXXFLAGS = \
+ $(PTHREAD_CFLAGS)
+node_x3d_geometry2d_libx3d_geometry2d_la_SOURCES = \
+ node/x3d-geometry2d/arc2d.cpp \
+ node/x3d-geometry2d/arc2d.h \
+ node/x3d-geometry2d/arc_close2d.cpp \
+ node/x3d-geometry2d/arc_close2d.h \
+ node/x3d-geometry2d/circle2d.cpp \
+ node/x3d-geometry2d/circle2d.h \
+ node/x3d-geometry2d/disk2d.cpp \
+ node/x3d-geometry2d/disk2d.h \
+ node/x3d-geometry2d/polyline2d.cpp \
+ node/x3d-geometry2d/polyline2d.h \
+ node/x3d-geometry2d/polypoint2d.cpp \
+ node/x3d-geometry2d/polypoint2d.h \
+ node/x3d-geometry2d/rectangle2d.cpp \
+ node/x3d-geometry2d/rectangle2d.h \
+ node/x3d-geometry2d/triangle_set2d.cpp \
+ node/x3d-geometry2d/triangle_set2d.h
+
libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \
-I$(top_builddir)/src/libopenvrml \
-I$(top_srcdir)/src/libopenvrml \
Modified: trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp
===================================================================
--- trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp 2008-09-21 02:07:30 UTC (rev 3647)
+++ trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp 2008-09-21 02:15:35 UTC (rev 3648)
@@ -2,7 +2,7 @@
//
// OpenVRML
//
-// Copyright 2006, 2007 Braden McDaniel
+// Copyright 2006, 2007, 2008 Braden McDaniel
//
// This library is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by
@@ -27,161 +27,20 @@
# include "browser.h"
# include "node_impl_util.h"
# include "x3d_geometry2d.h"
+# include <x3d-geometry2d/arc2d.h>
+# include <x3d-geometry2d/arc_close2d.h>
+# include <x3d-geometry2d/circle2d.h>
+# include <x3d-geometry2d/disk2d.h>
+# include <x3d-geometry2d/polyline2d.h>
+# include <x3d-geometry2d/polypoint2d.h>
+# include <x3d-geometry2d/rectangle2d.h>
+# include <x3d-geometry2d/triangle_set2d.h>
-using namespace openvrml;
-using namespace openvrml::node_impl_util;
-using namespace std;
-
-namespace {
-
- /**
- * @brief Class object for Arc2D nodes.
- */
- class OPENVRML_LOCAL arc2d_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit arc2d_metatype(openvrml::browser & browser);
- virtual ~arc2d_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for ArcClose2D nodes.
- */
- class OPENVRML_LOCAL arc_close2d_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit arc_close2d_metatype(openvrml::browser & browser);
- virtual ~arc_close2d_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for Circle2D nodes.
- */
- class OPENVRML_LOCAL circle2d_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit circle2d_metatype(openvrml::browser & browser);
- virtual ~circle2d_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for Disk2D nodes.
- */
- class OPENVRML_LOCAL disk2d_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit disk2d_metatype(openvrml::browser & browser);
- virtual ~disk2d_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for Polyline2D nodes.
- */
- class OPENVRML_LOCAL polyline2d_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit polyline2d_metatype(openvrml::browser & browser);
- virtual ~polyline2d_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for Polypoint2D nodes.
- */
- class OPENVRML_LOCAL polypoint2d_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit polypoint2d_metatype(openvrml::browser & browser);
- virtual ~polypoint2d_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for Rectangle2D nodes.
- */
- class OPENVRML_LOCAL rectangle2d_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit rectangle2d_metatype(openvrml::browser & browser);
- virtual ~rectangle2d_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-
-
- /**
- * @brief Class object for TriangleSet2D nodes.
- */
- class OPENVRML_LOCAL triangle_set2d_metatype : public node_metatype {
- public:
- static const char * const id;
-
- explicit triangle_set2d_metatype(openvrml::browser & browser);
- virtual ~triangle_set2d_metatype() OPENVRML_NOTHROW;
-
- private:
- virtual const boost::shared_ptr<node_type>
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc);
- };
-}
-
void register_geometry2d_node_metatypes(openvrml::browser & b)
{
using boost::shared_ptr;
using openvrml::node_metatype;
+ using namespace openvrml_node_x3d_geometry2d;
b.add_node_metatype(arc2d_metatype::id,
shared_ptr<node_metatype>(new arc2d_metatype(b)));
b.add_node_metatype(arc_close2d_metatype::id,
@@ -197,1493 +56,6 @@
b.add_node_metatype(rectangle2d_metatype::id,
shared_ptr<node_metatype>(new rectangle2d_metatype(b)));
b.add_node_metatype(triangle_set2d_metatype::id,
- shared_ptr<node_metatype>(new triangle_set2d_metatype(b)));
+ shared_ptr<node_metatype>(
+ new triangle_set2d_metatype(b)));
}
-
-namespace {
-
- using namespace openvrml_;
-
- class OPENVRML_LOCAL arc2d_node : public abstract_node<arc2d_node>,
- public geometry_node,
- public child_node {
- friend class arc2d_metatype;
-
- sffloat end_angle_;
- sffloat radius_;
- sffloat start_angle_;
-
- public:
- arc2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~arc2d_node() OPENVRML_NOTHROW;
-
- virtual bool modified() const;
- private:
- virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer,
- rendering_context context);
- };
-
-
- class OPENVRML_LOCAL arc_close2d_node :
- public abstract_node<arc_close2d_node>,
- public geometry_node,
- public child_node {
-
- friend class arc_close2d_metatype;
-
- sfstring closure_type_;
- sffloat end_angle_;
- sffloat radius_;
- sfbool solid_;
- sffloat start_angle_;
-
- public:
- arc_close2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~arc_close2d_node() OPENVRML_NOTHROW;
-
- virtual bool modified() const;
- private:
- virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer,
- rendering_context context);
- };
-
-
- class OPENVRML_LOCAL circle2d_node : public abstract_node<circle2d_node>,
- public geometry_node,
- public child_node {
- friend class circle2d_metatype;
-
- sffloat radius_;
-
- public:
- circle2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~circle2d_node() OPENVRML_NOTHROW;
-
- virtual bool modified() const;
- private:
- virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer,
- rendering_context context);
- };
-
-
- class OPENVRML_LOCAL disk2d_node : public abstract_node<disk2d_node>,
- public geometry_node,
- public child_node {
- friend class disk2d_metatype;
-
- sffloat inner_radius_;
- sffloat outer_radius_;
- sfbool solid_;
-
- public:
- disk2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~disk2d_node() OPENVRML_NOTHROW;
-
- virtual bool modified() const;
- private:
- virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer,
- rendering_context context);
- };
-
-
- class OPENVRML_LOCAL polyline2d_node :
- public abstract_node<polyline2d_node>,
- public geometry_node,
- public child_node {
-
- friend class polyline2d_metatype;
-
- mfvec2f line_segments_;
-
- public:
- polyline2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~polyline2d_node() OPENVRML_NOTHROW;
-
- virtual bool modified() const;
- private:
- virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer,
- rendering_context context);
- };
-
- class OPENVRML_LOCAL polypoint2d_node :
- public abstract_node<polypoint2d_node>,
- public geometry_node,
- public child_node {
-
- friend class polypoint2d_metatype;
-
- mfvec2f point_;
-
- public:
- polypoint2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~polypoint2d_node() OPENVRML_NOTHROW;
-
- virtual bool modified() const;
- private:
- virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer,
- rendering_context context);
- };
-
- class OPENVRML_LOCAL rectangle2d_node :
- public abstract_node<rectangle2d_node>,
- public geometry_node,
- public child_node {
-
- friend class rectangle2d_metatype;
-
- sfvec2f size_;
- sfbool solid_;
-
- public:
- rectangle2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~rectangle2d_node() OPENVRML_NOTHROW;
-
- virtual bool modified() const;
- private:
- virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer,
- rendering_context context);
- };
-
- class OPENVRML_LOCAL triangle_set2d_node :
- public abstract_node<triangle_set2d_node>,
- public geometry_node,
- public child_node {
-
- friend class triangle_set2d_metatype;
-
- exposedfield<mfvec2f> vertices_;
- sfbool solid_;
-
- public:
- triangle_set2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope);
- virtual ~triangle_set2d_node() OPENVRML_NOTHROW;
-
- virtual bool modified() const;
- private:
- virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer,
- rendering_context context);
- };
-
-
- /**
- * @brief @c node_metatype identifier.
- */
- const char * const arc2d_metatype::id = "urn:X-openvrml:node:Arc2D";
-
- /**
- * @brief Construct.
- *
- * @param browser the @c browser associated with this @c arc2d_metatype.
- */
- arc2d_metatype::arc2d_metatype(openvrml::browser & browser):
- node_metatype(arc2d_metatype::id, browser)
- {}
-
- /**
- * @brief Destroy.
- */
- arc2d_metatype::~arc2d_metatype() OPENVRML_NOTHROW
- {}
-
- /**
- * @brief Create a node_type.
- *
- * @param id the name for the new node_type.
- * @param interfaces the interfaces for the new node_type.
- *
- * @return a node_type_ptr to a node_type capable of creating Arc2D nodes.
- *
- * @exception unsupported_interface if @p interfaces includes an interface
- * not supported by arc2d_metatype.
- * @exception std::bad_alloc if memory allocation fails.
- */
- const boost::shared_ptr<openvrml::node_type>
- arc2d_metatype::do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc)
- {
- typedef boost::array<node_interface, 4> supported_interfaces_t;
- static const supported_interfaces_t supported_interfaces = {
- node_interface(node_interface::exposedfield_id,
- field_value::sfnode_id,
- "metadata"),
- node_interface(node_interface::field_id,
- field_value::sffloat_id,
- "endAngle"),
- node_interface(node_interface::field_id,
- field_value::sffloat_id,
- "radius"),
- node_interface(node_interface::field_id,
- field_value::sffloat_id,
- "startAngle")
- };
- typedef node_type_impl<arc2d_node> node_type_t;
-
- const boost::shared_ptr<node_type> type(new node_type_t(*this, id));
- node_type_t & the_node_type = static_cast<node_type_t &>(*type);
-
- for (node_interface_set::const_iterator interface_(interfaces.begin());
- interface_ != interfaces.end();
- ++interface_) {
- supported_interfaces_t::const_iterator supported_interface =
- supported_interfaces.begin() - 1;
- if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &arc2d_node::metadata);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &arc2d_node::end_angle_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &arc2d_node::radius_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &arc2d_node::start_angle_);
- } else {
- throw unsupported_interface(*interface_);
- }
- }
- return type;
- }
-
- /**
- * @class arc2d_node
- *
- * @brief Represents Arc2D node instances.
- */
-
- /**
- * @var arc2d_node::arc2d_metatype
- *
- * @brief Class object for Arc2D nodes.
- */
-
- /**
- * @var arc2d_node::end_angle_
- *
- * @brief end_angle field
- */
-
- /**
- * @var arc2d_node::radius_
- *
- * @brief radius field
- */
-
- /**
- * @var arc2d_node::start_angle_
- *
- * @brief start_angle field
- */
-
-
- /**
- * @brief Insert this geometry into @p viewer's display list.
- *
- * @param viewer a Viewer.
- * @param context the rendering context.
- *
- * @todo Implement this!
- */
- openvrml::viewer::object_t
- arc2d_node::
- do_render_geometry(openvrml::viewer & /* viewer */,
- const rendering_context /* context */)
- {
- //TODO: Implement this!
- return 0;
- }
-
-
- /**
- * @brief Determine whether the node has been modified.
- *
- * @return @c true if the node or one of its children has been modified,
- * @c false otherwise.
- */
- bool arc2d_node::modified() const
- {
- return this->node::modified();
- }
-
- /**
- * @brief Construct.
- *
- * @param type the node_type associated with this node.
- * @param scope the scope to which the node belongs.
- */
- arc2d_node::arc2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope):
- node(type, scope),
- bounded_volume_node(type, scope),
- abstract_node<self_t>(type, scope),
- geometry_node(type, scope),
- child_node(type, scope),
- end_angle_(1.57079633f),
- radius_(1)
- {}
-
- /**
- * @brief Destroy.
- */
- arc2d_node::~arc2d_node() OPENVRML_NOTHROW
- {}
-
-
- /**
- * @brief @c node_metatype identifier.
- */
- const char * const arc_close2d_metatype::id =
- "urn:X-openvrml:node:ArcClose2D";
-
- /**
- * @brief Construct.
- *
- * @param browser the @c browser associated with this @c arc_close2d_metatype.
- */
- arc_close2d_metatype::arc_close2d_metatype(openvrml::browser & browser):
- node_metatype(arc_close2d_metatype::id, browser)
- {}
-
- /**
- * @brief Destroy.
- */
- arc_close2d_metatype::~arc_close2d_metatype() OPENVRML_NOTHROW
- {}
-
- /**
- * @brief Create a node_type.
- *
- * @param id the name for the new node_type.
- * @param interfaces the interfaces for the new node_type.
- *
- * @return a node_type_ptr to a node_type capable of creating ArcClose2D nodes.
- *
- * @exception unsupported_interface if @p interfaces includes an interface
- * not supported by arc_close2d_metatype.
- * @exception std::bad_alloc if memory allocation fails.
- */
- const boost::shared_ptr<openvrml::node_type>
- arc_close2d_metatype::
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc)
- {
- typedef boost::array<node_interface, 6> supported_interfaces_t;
- static const supported_interfaces_t supported_interfaces = {
- node_interface(node_interface::exposedfield_id,
- field_value::sfnode_id,
- "metadata"),
- node_interface(node_interface::field_id,
- field_value::sfstring_id,
- "closureType"),
- node_interface(node_interface::field_id,
- field_value::sffloat_id,
- "endAngle"),
- node_interface(node_interface::field_id,
- field_value::sffloat_id,
- "radius"),
- node_interface(node_interface::field_id,
- field_value::sfbool_id,
- "solid"),
- node_interface(node_interface::field_id,
- field_value::sffloat_id,
- "startAngle")
- };
- typedef node_type_impl<arc_close2d_node> node_type_t;
-
- const boost::shared_ptr<node_type> type(new node_type_t(*this, id));
- node_type_t & the_node_type = static_cast<node_type_t &>(*type);
-
- for (node_interface_set::const_iterator interface_(interfaces.begin());
- interface_ != interfaces.end();
- ++interface_) {
- supported_interfaces_t::const_iterator supported_interface =
- supported_interfaces.begin() - 1;
- if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &arc_close2d_node::metadata);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &arc_close2d_node::closure_type_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &arc_close2d_node::end_angle_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &arc_close2d_node::radius_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &arc_close2d_node::solid_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &arc_close2d_node::start_angle_);
- } else {
- throw unsupported_interface(*interface_);
- }
- }
- return type;
- }
-
- /**
- * @class arc_close2d_node
- *
- * @brief Represents ArcClose2D node instances.
- */
-
- /**
- * @var arc_close2d_node::arc_close2d_metatype
- *
- * @brief Class object for ArcClose2D nodes.
- */
-
- /**
- * @var arc_close2d_node::closure_type_
- *
- * @brief closure_type field
- */
-
- /**
- * @var arc_close2d_node::end_angle_
- *
- * @brief end_angle field
- */
-
- /**
- * @var arc_close2d_node::radius_
- *
- * @brief radius field
- */
-
- /**
- * @var arc_close2d_node::solid_
- *
- * @brief solid field
- */
-
- /**
- * @var arc_close2d_node::start_angle_
- *
- * @brief start_angle field
- */
-
-
- /**
- * @brief Insert this geometry into @p viewer's display list.
- *
- * @param viewer a @c viewer.
- * @param context the rendering context.
- *
- * @todo Implement this!
- */
- openvrml::viewer::object_t
- arc_close2d_node::
- do_render_geometry(openvrml::viewer & /* viewer */,
- const rendering_context /* context */)
- {
- //TODO: Implement this!
- return 0;
- }
-
-
- /**
- * @brief Determine whether the node has been modified.
- *
- * @return @c true if the node or one of its children has been modified,
- * @c false otherwise.
- */
- bool arc_close2d_node::modified() const
- {
- return this->node::modified();
- }
-
- /**
- * @brief Construct.
- *
- * @param type the node_type associated with this node.
- * @param scope the scope to which the node belongs.
- */
- arc_close2d_node::
- arc_close2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope):
- node(type, scope),
- bounded_volume_node(type, scope),
- abstract_node<self_t>(type, scope),
- geometry_node(type, scope),
- child_node(type, scope),
- closure_type_("PIE"),
- end_angle_(1.57079633f),
- radius_(1)
- {}
-
- /**
- * @brief Destroy.
- */
- arc_close2d_node::~arc_close2d_node() OPENVRML_NOTHROW
- {}
-
-
- /**
- * @brief @c node_metatype identifier.
- */
- const char * const circle2d_metatype::id = "urn:X-openvrml:node:Circle2D";
-
- /**
- * @brief Construct.
- *
- * @param browser the @c browser associated with this @c circle2d_metatype.
- */
- circle2d_metatype::circle2d_metatype(openvrml::browser & browser):
- node_metatype(circle2d_metatype::id, browser)
- {}
-
- /**
- * @brief Destroy.
- */
- circle2d_metatype::~circle2d_metatype() OPENVRML_NOTHROW
- {}
-
- /**
- * @brief Create a node_type.
- *
- * @param id the name for the new node_type.
- * @param interfaces the interfaces for the new node_type.
- *
- * @return a node_type capable of creating Circle2D nodes.
- *
- * @exception unsupported_interface if @p interfaces includes an interface
- * not supported by circle2d_metatype.
- * @exception std::bad_alloc if memory allocation fails.
- */
- const boost::shared_ptr<openvrml::node_type>
- circle2d_metatype::
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc)
- {
- typedef boost::array<node_interface, 2> supported_interfaces_t;
- static const supported_interfaces_t supported_interfaces = {
- node_interface(node_interface::exposedfield_id,
- field_value::sfnode_id,
- "metadata"),
- node_interface(node_interface::field_id,
- field_value::sffloat_id,
- "radius")
- };
- typedef node_type_impl<circle2d_node> node_type_t;
-
- const boost::shared_ptr<node_type> type(new node_type_t(*this, id));
- node_type_t & the_node_type = static_cast<node_type_t &>(*type);
-
- for (node_interface_set::const_iterator interface_(interfaces.begin());
- interface_ != interfaces.end();
- ++interface_) {
- supported_interfaces_t::const_iterator supported_interface =
- supported_interfaces.begin() - 1;
- if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &circle2d_node::metadata);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &circle2d_node::radius_);
- } else {
- throw unsupported_interface(*interface_);
- }
- }
- return type;
- }
-
- /**
- * @class circle2d_node
- *
- * @brief Represents Circle2D node instances.
- */
-
- /**
- * @var circle2d_node::circle2d_metatype
- *
- * @brief Class object for Circle2D nodes.
- */
-
- /**
- * @var circle2d_node::radius_
- *
- * @brief radius field
- */
-
-
- /**
- * @brief Insert this geometry into @p viewer's display list.
- *
- * @param viewer a Viewer.
- * @param context the rendering context.
- *
- * @todo Implement this!
- */
- openvrml::viewer::object_t
- circle2d_node::
- do_render_geometry(openvrml::viewer & /* viewer */,
- const rendering_context /* context */)
- {
- //TODO: Implement this!
- return 0;
- }
-
-
- /**
- * @brief Determine whether the node has been modified.
- *
- * @return @c true if the node or one of its children has been modified,
- * @c false otherwise.
- */
- bool circle2d_node::modified() const
- {
- return this->node::modified();
- }
-
- /**
- * @brief Construct.
- *
- * @param type the node_type associated with this node.
- * @param scope the scope to which the node belongs.
- */
- circle2d_node::
- circle2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope):
- node(type, scope),
- bounded_volume_node(type, scope),
- abstract_node<self_t>(type, scope),
- geometry_node(type, scope),
- child_node(type, scope),
- radius_(1)
- {}
-
- /**
- * @brief Destroy.
- */
- circle2d_node::~circle2d_node() OPENVRML_NOTHROW
- {}
-
-
- /**
- * @brief @c node_metatype identifier.
- */
- const char * const disk2d_metatype::id = "urn:X-openvrml:node:Disk2D";
-
- /**
- * @brief Construct.
- *
- * @param browser the @c browser associated with this @c disk2d_metatype.
- */
- disk2d_metatype::disk2d_metatype(openvrml::browser & browser):
- node_metatype(disk2d_metatype::id, browser)
- {}
-
- /**
- * @brief Destroy.
- */
- disk2d_metatype::~disk2d_metatype() OPENVRML_NOTHROW
- {}
-
- /**
- * @brief Create a node_type.
- *
- * @param id the name for the new node_type.
- * @param interfaces the interfaces for the new node_type.
- *
- * @return a node_type capable of creating Disk2D nodes.
- *
- * @exception unsupported_interface if @p interfaces includes an interface
- * not supported by disk2d_metatype.
- * @exception std::bad_alloc if memory allocation fails.
- */
- const boost::shared_ptr<openvrml::node_type>
- disk2d_metatype::
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc)
- {
- typedef boost::array<node_interface, 4> supported_interfaces_t;
- static const supported_interfaces_t supported_interfaces = {
- node_interface(node_interface::exposedfield_id,
- field_value::sfnode_id,
- "metadata"),
- node_interface(node_interface::field_id,
- field_value::sffloat_id,
- "innerRadius"),
- node_interface(node_interface::field_id,
- field_value::sffloat_id,
- "outerRadius"),
- node_interface(node_interface::field_id,
- field_value::sfbool_id,
- "solid")
- };
- typedef node_type_impl<disk2d_node> node_type_t;
-
- const boost::shared_ptr<node_type> type(new node_type_t(*this, id));
- node_type_t & the_node_type = static_cast<node_type_t &>(*type);
-
- for (node_interface_set::const_iterator interface_(interfaces.begin());
- interface_ != interfaces.end();
- ++interface_) {
- supported_interfaces_t::const_iterator supported_interface =
- supported_interfaces.begin() - 1;
- if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &disk2d_node::metadata);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &disk2d_node::inner_radius_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &disk2d_node::outer_radius_);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &disk2d_node::solid_);
- } else {
- throw unsupported_interface(*interface_);
- }
- }
- return type;
- }
-
- /**
- * @class disk2d_node
- *
- * @brief Represents Disk2D node instances.
- */
-
- /**
- * @var disk2d_node::disk2d_metatype
- *
- * @brief Class object for Disk2D nodes.
- */
-
- /**
- * @var disk2d_node::inner_radius_
- *
- * @brief inner_radius field
- */
-
- /**
- * @var disk2d_node::outer_radius_
- *
- * @brief outer_radius field
- */
-
- /**
- * @var disk2d_node::solid_
- *
- * @brief solid field
- */
-
- /**
- * @brief Insert this geometry into @p viewer's display list.
- *
- * @param viewer a Viewer.
- * @param context the rendering context.
- *
- * @todo Implement this!
- */
- openvrml::viewer::object_t
- disk2d_node::
- do_render_geometry(openvrml::viewer & /* viewer */,
- const rendering_context /* context */)
- {
- //TODO: Implement this!
- return 0;
- }
-
- /**
- * @brief Determine whether the node has been modified.
- *
- * @return @c true if the node or one of its children has been modified,
- * @c false otherwise.
- */
- bool disk2d_node::modified() const
- {
- return this->node::modified();
- }
-
- /**
- * @brief Construct.
- *
- * @param type the node_type associated with this node.
- * @param scope the scope to which the node belongs.
- */
- disk2d_node::
- disk2d_node(const node_type & type,
- const boost::shared_ptr<openvrml::scope> & scope):
- node(type, scope),
- bounded_volume_node(type, scope),
- abstract_node<self_t>(type, scope),
- geometry_node(type, scope),
- child_node(type, scope),
- outer_radius_(1)
- {}
-
- /**
- * @brief Destroy.
- */
- disk2d_node::~disk2d_node() OPENVRML_NOTHROW
- {}
-
-
- /**
- * @brief @c node_metatype identifier.
- */
- const char * const polyline2d_metatype::id =
- "urn:X-openvrml:node:Polyline2D";
-
- /**
- * @brief Construct.
- *
- * @param browser the @c browser associated with this @c polyline2d_metatype.
- */
- polyline2d_metatype::polyline2d_metatype(openvrml::browser & browser):
- node_metatype(polyline2d_metatype::id, browser)
- {}
-
- /**
- * @brief Destroy.
- */
- polyline2d_metatype::~polyline2d_metatype() OPENVRML_NOTHROW
- {}
-
- /**
- * @brief Create a node_type.
- *
- * @param id the name for the new node_type.
- * @param interfaces the interfaces for the new node_type.
- *
- * @return a node_type_ptr to a node_type capable of creating Polyline2D nodes.
- *
- * @exception unsupported_interface if @p interfaces includes an interface
- * not supported by polyline2d_metatype.
- * @exception std::bad_alloc if memory allocation fails.
- */
- const boost::shared_ptr<openvrml::node_type>
- polyline2d_metatype::
- do_create_type(const std::string & id,
- const node_interface_set & interfaces) const
- OPENVRML_THROW2(unsupported_interface, std::bad_alloc)
- {
- typedef boost::array<node_interface, 2> supported_interfaces_t;
- static const supported_interfaces_t supported_interfaces = {
- node_interface(node_interface::exposedfield_id,
- field_value::sfnode_id,
- "metadata"),
- node_interface(node_interface::field_id,
- field_value::mfvec2f_id,
- "lineSegments")
- };
- typedef node_type_impl<polyline2d_node> node_type_t;
-
- const boost::shared_ptr<node_type> type(new node_type_t(*this, id));
- node_type_t & the_node_type = static_cast<node_type_t &>(*type);
-
- for (node_interface_set::const_iterator interface_(interfaces.begin());
- interface_ != interfaces.end();
- ++interface_) {
- supported_interfaces_t::const_iterator supported_interface =
- supported_interfaces.begin() - 1;
- if (*interface_ == *++supported_interface) {
- the_node_type.add_exposedfield(
- supported_interface->field_type,
- supported_interface->id,
- &polyline2d_node::metadata);
- } else if (*interface_ == *++supported_interface) {
- the_node_type.add_field(
- supported_interface->field_type,
- supported_interface->id,
- &polyline2d_node::line_segments_);
- } else {
- throw unsupported_interface(*interface_);
- }
- }
- return type;
- }
-
-
- /**
- * @brief @c node_metatype identifier.
- */
- const char * const polypoint2d_metatype::id =
- "urn:X-openvrml:node:Polypoint2D";
-
- /**
- * @brief Construct.
- *
- * @param browser the @c browser associated with this @c polypoint2d_metatype.
- */
- polypoint2d_metatype::polypoint2d_metatype(openvrml::browser & browser):
- node_metatype(polypoint2d_metatype::id, browser)
- {}
-
- /**
- * @brief Destroy.
- */
- polypoint2d_metatype::~polypoint2d_metatype() OPENVRML_NOTHROW
- {}
-
- /**
- * @brief Create a node_type.
- *
- * @param id the name for the new node_type.
- * @param interfaces the interfaces for the new node_type.
- *
- * @return a node_type_ptr to a node_type capable of creating Polypoint2D nodes.
- *
- * @exception unsupported_interface if @p interfaces includes an interface
- * not support...
[truncated message content] |