From: <br...@us...> - 2008-09-24 06:45:26
|
Revision: 3686 http://openvrml.svn.sourceforge.net/openvrml/?rev=3686&view=rev Author: braden Date: 2008-09-24 06:45:08 +0000 (Wed, 24 Sep 2008) Log Message: ----------- Moved X3D NURBS 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_nurbs.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-nurbs/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-nurbs/x3d-nurbs.vcproj trunk/src/node/x3d-nurbs/ trunk/src/node/x3d-nurbs/contour2d.cpp trunk/src/node/x3d-nurbs/contour2d.h trunk/src/node/x3d-nurbs/contour_polyline2d.cpp trunk/src/node/x3d-nurbs/contour_polyline2d.h trunk/src/node/x3d-nurbs/coordinate_double.cpp trunk/src/node/x3d-nurbs/coordinate_double.h trunk/src/node/x3d-nurbs/nurbs_curve.cpp trunk/src/node/x3d-nurbs/nurbs_curve.h trunk/src/node/x3d-nurbs/nurbs_curve2d.cpp trunk/src/node/x3d-nurbs/nurbs_curve2d.h trunk/src/node/x3d-nurbs/nurbs_orientation_interpolator.cpp trunk/src/node/x3d-nurbs/nurbs_orientation_interpolator.h trunk/src/node/x3d-nurbs/nurbs_patch_surface.cpp trunk/src/node/x3d-nurbs/nurbs_patch_surface.h trunk/src/node/x3d-nurbs/nurbs_position_interpolator.cpp trunk/src/node/x3d-nurbs/nurbs_position_interpolator.h trunk/src/node/x3d-nurbs/nurbs_set.cpp trunk/src/node/x3d-nurbs/nurbs_set.h trunk/src/node/x3d-nurbs/nurbs_surface_interpolator.cpp trunk/src/node/x3d-nurbs/nurbs_surface_interpolator.h trunk/src/node/x3d-nurbs/nurbs_swept_surface.cpp trunk/src/node/x3d-nurbs/nurbs_swept_surface.h trunk/src/node/x3d-nurbs/nurbs_swung_surface.cpp trunk/src/node/x3d-nurbs/nurbs_swung_surface.h trunk/src/node/x3d-nurbs/nurbs_texture_coordinate.cpp trunk/src/node/x3d-nurbs/nurbs_texture_coordinate.h trunk/src/node/x3d-nurbs/nurbs_trimmed_surface.cpp trunk/src/node/x3d-nurbs/nurbs_trimmed_surface.h Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-nurbs/x3d-nurbs.vcproj trunk/src/node/x3d-nurbs/contour2d.cpp trunk/src/node/x3d-nurbs/contour2d.h trunk/src/node/x3d-nurbs/contour_polyline2d.cpp trunk/src/node/x3d-nurbs/contour_polyline2d.h trunk/src/node/x3d-nurbs/coordinate_double.cpp trunk/src/node/x3d-nurbs/coordinate_double.h trunk/src/node/x3d-nurbs/nurbs_curve.cpp trunk/src/node/x3d-nurbs/nurbs_curve.h trunk/src/node/x3d-nurbs/nurbs_curve2d.cpp trunk/src/node/x3d-nurbs/nurbs_curve2d.h trunk/src/node/x3d-nurbs/nurbs_orientation_interpolator.cpp trunk/src/node/x3d-nurbs/nurbs_orientation_interpolator.h trunk/src/node/x3d-nurbs/nurbs_patch_surface.cpp trunk/src/node/x3d-nurbs/nurbs_patch_surface.h trunk/src/node/x3d-nurbs/nurbs_position_interpolator.cpp trunk/src/node/x3d-nurbs/nurbs_position_interpolator.h trunk/src/node/x3d-nurbs/nurbs_set.cpp trunk/src/node/x3d-nurbs/nurbs_set.h trunk/src/node/x3d-nurbs/nurbs_surface_interpolator.cpp trunk/src/node/x3d-nurbs/nurbs_surface_interpolator.h trunk/src/node/x3d-nurbs/nurbs_swept_surface.cpp trunk/src/node/x3d-nurbs/nurbs_swept_surface.h trunk/src/node/x3d-nurbs/nurbs_swung_surface.cpp trunk/src/node/x3d-nurbs/nurbs_swung_surface.h trunk/src/node/x3d-nurbs/nurbs_texture_coordinate.cpp trunk/src/node/x3d-nurbs/nurbs_texture_coordinate.h trunk/src/node/x3d-nurbs/nurbs_trimmed_surface.cpp trunk/src/node/x3d-nurbs/nurbs_trimmed_surface.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-dis/espdu_transform.cpp trunk/src/node/x3d-dis/espdu_transform.h trunk/src/node/x3d-dis/receiver_pdu.cpp trunk/src/node/x3d-dis/receiver_pdu.h trunk/src/node/x3d-dis/signal_pdu.cpp trunk/src/node/x3d-dis/signal_pdu.h trunk/src/node/x3d-dis/transmitter_pdu.cpp trunk/src/node/x3d-dis/transmitter_pdu.h trunk/src/node/x3d-environmental-effects/texture_background.cpp trunk/src/node/x3d-environmental-effects/texture_background.h trunk/src/node/x3d-event-utilities/boolean_filter.cpp trunk/src/node/x3d-event-utilities/boolean_filter.h trunk/src/node/x3d-event-utilities/boolean_sequencer.cpp trunk/src/node/x3d-event-utilities/boolean_sequencer.h trunk/src/node/x3d-event-utilities/boolean_toggle.cpp trunk/src/node/x3d-event-utilities/boolean_toggle.h trunk/src/node/x3d-event-utilities/boolean_trigger.cpp trunk/src/node/x3d-event-utilities/boolean_trigger.h trunk/src/node/x3d-event-utilities/integer_sequencer.cpp trunk/src/node/x3d-event-utilities/integer_sequencer.h trunk/src/node/x3d-event-utilities/integer_trigger.cpp trunk/src/node/x3d-event-utilities/integer_trigger.h trunk/src/node/x3d-event-utilities/time_trigger.cpp trunk/src/node/x3d-event-utilities/time_trigger.h 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 trunk/src/node/x3d-geospatial/geo_coordinate.cpp trunk/src/node/x3d-geospatial/geo_coordinate.h trunk/src/node/x3d-geospatial/geo_elevation_grid.cpp trunk/src/node/x3d-geospatial/geo_elevation_grid.h trunk/src/node/x3d-geospatial/geo_location.cpp trunk/src/node/x3d-geospatial/geo_location.h trunk/src/node/x3d-geospatial/geo_lod.cpp trunk/src/node/x3d-geospatial/geo_lod.h trunk/src/node/x3d-geospatial/geo_metadata.cpp trunk/src/node/x3d-geospatial/geo_metadata.h trunk/src/node/x3d-geospatial/geo_origin.cpp trunk/src/node/x3d-geospatial/geo_origin.h trunk/src/node/x3d-geospatial/geo_position_interpolator.cpp trunk/src/node/x3d-geospatial/geo_position_interpolator.h trunk/src/node/x3d-geospatial/geo_touch_sensor.cpp trunk/src/node/x3d-geospatial/geo_touch_sensor.h trunk/src/node/x3d-geospatial/geo_viewpoint.cpp trunk/src/node/x3d-geospatial/geo_viewpoint.h trunk/src/node/x3d-grouping/static_group.cpp trunk/src/node/x3d-grouping/static_group.h trunk/src/node/x3d-h-anim/h_anim_displacer.cpp trunk/src/node/x3d-h-anim/h_anim_displacer.h trunk/src/node/x3d-h-anim/h_anim_humanoid.cpp trunk/src/node/x3d-h-anim/h_anim_humanoid.h trunk/src/node/x3d-h-anim/h_anim_joint.cpp trunk/src/node/x3d-h-anim/h_anim_joint.h trunk/src/node/x3d-h-anim/h_anim_segment.cpp trunk/src/node/x3d-h-anim/h_anim_segment.h trunk/src/node/x3d-h-anim/h_anim_site.cpp trunk/src/node/x3d-h-anim/h_anim_site.h trunk/src/node/x3d-interpolation/coordinate_interpolator2d.cpp trunk/src/node/x3d-interpolation/coordinate_interpolator2d.h trunk/src/node/x3d-interpolation/position_interpolator2d.cpp trunk/src/node/x3d-interpolation/position_interpolator2d.h trunk/src/node/x3d-key-device-sensor/key_sensor.cpp trunk/src/node/x3d-key-device-sensor/key_sensor.h trunk/src/node/x3d-key-device-sensor/string_sensor.cpp trunk/src/node/x3d-key-device-sensor/string_sensor.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 trunk/src/node/x3d-texturing/multi_texture.cpp trunk/src/node/x3d-texturing/multi_texture.h trunk/src/node/x3d-texturing/multi_texture_coordinate.cpp trunk/src/node/x3d-texturing/multi_texture_coordinate.h trunk/src/node/x3d-texturing/multi_texture_transform.cpp trunk/src/node/x3d-texturing/multi_texture_transform.h trunk/src/node/x3d-texturing/texture_coordinate_generator.cpp trunk/src/node/x3d-texturing/texture_coordinate_generator.h Property changes on: trunk ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668,3670-3671,3673-3674 + /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668,3670-3671,3673-3674,3684-3685 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-24 06:17:56 UTC (rev 3685) +++ trunk/ChangeLog 2008-09-24 06:45:08 UTC (rev 3686) @@ -1,3 +1,44 @@ +2008-09-24 Braden McDaniel <br...@en...> + + Moved X3D NURBS node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-nurbs static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-nurbs/x3d-nurbs.vcproj + * src/Makefile.am: Added convenience library + node/x3d-nurbs/libx3d-nurbs.la. + * src/libopenvrml/openvrml/x3d_nurbs.cpp: Moved node + implementations to separate files. + * src/node/x3d-nurbs/contour2d.cpp + * src/node/x3d-nurbs/contour2d.h + * src/node/x3d-nurbs/contour_polyline2d.cpp + * src/node/x3d-nurbs/contour_polyline2d.h + * src/node/x3d-nurbs/coordinate_double.cpp + * src/node/x3d-nurbs/coordinate_double.h + * src/node/x3d-nurbs/nurbs_curve.cpp + * src/node/x3d-nurbs/nurbs_curve.h + * src/node/x3d-nurbs/nurbs_curve2d.cpp + * src/node/x3d-nurbs/nurbs_curve2d.h + * src/node/x3d-nurbs/nurbs_orientation_interpolator.cpp + * src/node/x3d-nurbs/nurbs_orientation_interpolator.h + * src/node/x3d-nurbs/nurbs_patch_surface.cpp + * src/node/x3d-nurbs/nurbs_patch_surface.h + * src/node/x3d-nurbs/nurbs_position_interpolator.cpp + * src/node/x3d-nurbs/nurbs_position_interpolator.h + * src/node/x3d-nurbs/nurbs_set.cpp + * src/node/x3d-nurbs/nurbs_set.h + * src/node/x3d-nurbs/nurbs_surface_interpolator.cpp + * src/node/x3d-nurbs/nurbs_surface_interpolator.h + * src/node/x3d-nurbs/nurbs_swept_surface.cpp + * src/node/x3d-nurbs/nurbs_swept_surface.h + * src/node/x3d-nurbs/nurbs_swung_surface.cpp + * src/node/x3d-nurbs/nurbs_swung_surface.h + * src/node/x3d-nurbs/nurbs_texture_coordinate.cpp + * src/node/x3d-nurbs/nurbs_texture_coordinate.h + * src/node/x3d-nurbs/nurbs_trimmed_surface.cpp + * src/node/x3d-nurbs/nurbs_trimmed_surface.h + 2008-09-23 Braden McDaniel <br...@en...> * src/libopenvrml/openvrml/browser.cpp @@ -18,16 +59,16 @@ node/x3d-h-anim/libx3d-h-anim.la. * src/libopenvrml/openvrml/x3d_hanim.cpp: Moved node implementations to separate files. + * src/node/x3d-h-anim/h_anim_displacer.cpp + * src/node/x3d-h-anim/h_anim_displacer.h + * src/node/x3d-h-anim/h_anim_humanoid.cpp + * src/node/x3d-h-anim/h_anim_humanoid.h * src/node/x3d-h-anim/h_anim_joint.cpp - * src/node/x3d-h-anim/h_anim_humanoid.cpp + * src/node/x3d-h-anim/h_anim_joint.h + * src/node/x3d-h-anim/h_anim_segment.cpp + * src/node/x3d-h-anim/h_anim_segment.h * src/node/x3d-h-anim/h_anim_site.cpp - * src/node/x3d-h-anim/h_anim_displacer.cpp - * src/node/x3d-h-anim/h_anim_segment.h - * src/node/x3d-h-anim/h_anim_joint.h - * src/node/x3d-h-anim/h_anim_humanoid.h * src/node/x3d-h-anim/h_anim_site.h - * src/node/x3d-h-anim/h_anim_displacer.h - * src/node/x3d-h-anim/h_anim_segment.cpp 2008-09-22 Braden McDaniel <br...@en...> Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-24 06:17:56 UTC (rev 3685) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-24 06:45:08 UTC (rev 3686) @@ -17,6 +17,7 @@ {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30} = {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30} {20B850E9-E417-49A2-A66C-38827401597B} = {20B850E9-E417-49A2-A66C-38827401597B} {1D32E4EB-6613-4270-8295-7113712BC6C5} = {1D32E4EB-6613-4270-8295-7113712BC6C5} + {D884D3FB-79C4-497A-AD7C-7D7877F9768E} = {D884D3FB-79C4-497A-AD7C-7D7877F9768E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvrml-gl", "openvrml-gl\openvrml-gl.vcproj", "{141F90C2-6630-4D7A-834F-D5D57C6CFC24}" @@ -81,6 +82,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-h-anim", "x3d-h-anim\x3d-h-anim.vcproj", "{3DA77516-5D3A-42AA-8D99-BF87643A75A2}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-nurbs", "x3d-nurbs\x3d-nurbs.vcproj", "{D884D3FB-79C4-497A-AD7C-7D7877F9768E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -175,6 +178,10 @@ {3DA77516-5D3A-42AA-8D99-BF87643A75A2}.Debug|Win32.Build.0 = Debug|Win32 {3DA77516-5D3A-42AA-8D99-BF87643A75A2}.Release|Win32.ActiveCfg = Release|Win32 {3DA77516-5D3A-42AA-8D99-BF87643A75A2}.Release|Win32.Build.0 = Release|Win32 + {D884D3FB-79C4-497A-AD7C-7D7877F9768E}.Debug|Win32.ActiveCfg = Debug|Win32 + {D884D3FB-79C4-497A-AD7C-7D7877F9768E}.Debug|Win32.Build.0 = Debug|Win32 + {D884D3FB-79C4-497A-AD7C-7D7877F9768E}.Release|Win32.ActiveCfg = Release|Win32 + {D884D3FB-79C4-497A-AD7C-7D7877F9768E}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-nurbs ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-nurbs.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-nurbs/x3d-nurbs.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-nurbs/x3d-nurbs.vcproj 2008-09-24 06:17:56 UTC (rev 3685) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-nurbs/x3d-nurbs.vcproj 2008-09-24 06:45:08 UTC (rev 3686) @@ -1,283 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-nurbs" - ProjectGUID="{D884D3FB-79C4-497A-AD7C-7D7877F9768E}" - RootNamespace="x3dnurbs" - 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-nurbs\contour2d.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\contour_polyline2d.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\coordinate_double.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_curve.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_curve2d.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_orientation_interpolator.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_patch_surface.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_position_interpolator.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_set.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_surface_interpolator.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_swept_surface.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_swung_surface.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_texture_coordinate.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_trimmed_surface.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-nurbs\contour2d.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\contour_polyline2d.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\coordinate_double.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_curve.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_curve2d.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_orientation_interpolator.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_patch_surface.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_position_interpolator.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_set.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_surface_interpolator.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_swept_surface.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_swung_surface.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_texture_coordinate.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_trimmed_surface.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-nurbs/x3d-nurbs.vcproj (from rev 3685, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-nurbs/x3d-nurbs.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-nurbs/x3d-nurbs.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-nurbs/x3d-nurbs.vcproj 2008-09-24 06:45:08 UTC (rev 3686) @@ -0,0 +1,283 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-nurbs" + ProjectGUID="{D884D3FB-79C4-497A-AD7C-7D7877F9768E}" + RootNamespace="x3dnurbs" + 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-nurbs\contour2d.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\contour_polyline2d.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\coordinate_double.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_curve.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_curve2d.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_orientation_interpolator.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_patch_surface.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_position_interpolator.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_set.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_surface_interpolator.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_swept_surface.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_swung_surface.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_texture_coordinate.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_trimmed_surface.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-nurbs\contour2d.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\contour_polyline2d.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\coordinate_double.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_curve.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_curve2d.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_orientation_interpolator.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_patch_surface.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_position_interpolator.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_set.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_surface_interpolator.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_swept_surface.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_swung_surface.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_texture_coordinate.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-nurbs\nurbs_trimmed_surface.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-24 06:17:56 UTC (rev 3685) +++ trunk/src/Makefile.am 2008-09-24 06:45:08 UTC (rev 3686) @@ -18,7 +18,8 @@ node/x3d-dis/libx3d-dis.la \ node/x3d-environmental-effects/libx3d-environmental-effects.la \ node/x3d-geospatial/libx3d-geospatial.la \ - node/x3d-h-anim/libx3d-h-anim.la + node/x3d-h-anim/libx3d-h-anim.la \ + node/x3d-nurbs/libx3d-nurbs.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -165,6 +166,7 @@ node/x3d-environmental-effects/libx3d-environmental-effects.la \ node/x3d-geospatial/libx3d-geospatial.la \ node/x3d-h-anim/libx3d-h-anim.la \ + node/x3d-nurbs/libx3d-nurbs.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -559,6 +561,41 @@ node/x3d-h-anim/h_anim_site.cpp \ node/x3d-h-anim/h_anim_site.h +node_x3d_nurbs_libx3d_nurbs_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_nurbs_libx3d_nurbs_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_nurbs_libx3d_nurbs_la_SOURCES = \ + node/x3d-nurbs/contour2d.cpp \ + node/x3d-nurbs/contour2d.h \ + node/x3d-nurbs/contour_polyline2d.cpp \ + node/x3d-nurbs/contour_polyline2d.h \ + node/x3d-nurbs/coordinate_double.cpp \ + node/x3d-nurbs/coordinate_double.h \ + node/x3d-nurbs/nurbs_curve.cpp \ + node/x3d-nurbs/nurbs_curve.h \ + node/x3d-nurbs/nurbs_curve2d.cpp \ + node/x3d-nurbs/nurbs_curve2d.h \ + node/x3d-nurbs/nurbs_orientation_interpolator.cpp \ + node/x3d-nurbs/nurbs_orientation_interpolator.h \ + node/x3d-nurbs/nurbs_patch_surface.cpp \ + node/x3d-nurbs/nurbs_patch_surface.h \ + node/x3d-nurbs/nurbs_position_interpolator.cpp \ + node/x3d-nurbs/nurbs_position_interpolator.h \ + node/x3d-nurbs/nurbs_set.cpp \ + node/x3d-nurbs/nurbs_set.h \ + node/x3d-nurbs/nurbs_surface_interpolator.cpp \ + node/x3d-nurbs/nurbs_surface_interpolator.h \ + node/x3d-nurbs/nurbs_swept_surface.cpp \ + node/x3d-nurbs/nurbs_swept_surface.h \ + node/x3d-nurbs/nurbs_swung_surface.cpp \ + node/x3d-nurbs/nurbs_swung_surface.h \ + node/x3d-nurbs/nurbs_texture_coordinate.cpp \ + node/x3d-nurbs/nurbs_texture_coordinate.h \ + node/x3d-nurbs/nurbs_trimmed_surface.cpp \ + node/x3d-nurbs/nurbs_trimmed_surface.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_nurbs.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_nurbs.cpp 2008-09-24 06:17:56 UTC (rev 3685) +++ trunk/src/libopenvrml/openvrml/x3d_nurbs.cpp 2008-09-24 06:45:08 UTC (rev 3686) @@ -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 @@ -18,282 +18,32 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include "browser.h" +# include "x3d_nurbs.h" +# include <x3d-nurbs/contour2d.h> +# include <x3d-nurbs/contour_polyline2d.h> +# include <x3d-nurbs/coordinate_double.h> +# include <x3d-nurbs/nurbs_curve.h> +# include <x3d-nurbs/nurbs_curve2d.h> +# include <x3d-nurbs/nurbs_orientation_interpolator.h> +# include <x3d-nurbs/nurbs_patch_surface.h> +# include <x3d-nurbs/nurbs_position_interpolator.h> +# include <x3d-nurbs/nurbs_set.h> +# include <x3d-nurbs/nurbs_surface_interpolator.h> +# include <x3d-nurbs/nurbs_swept_surface.h> +# include <x3d-nurbs/nurbs_swung_surface.h> +# include <x3d-nurbs/nurbs_texture_coordinate.h> +# include <x3d-nurbs/nurbs_trimmed_surface.h> + # ifdef HAVE_CONFIG_H # include <config.h> # endif -# include <boost/array.hpp> -# include <private.h> -# include "browser.h" -# include "node_impl_util.h" -# include "x3d_nurbs.h" - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Class object for Contour2D nodes. - */ - class OPENVRML_LOCAL contour2d_metatype : public node_metatype { - public: - static const char * const id; - - explicit contour2d_metatype(openvrml::browser & browser); - virtual ~contour2d_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 ContourPolyline2D nodes. - */ - class OPENVRML_LOCAL contour_polyline2d_metatype : public node_metatype { - public: - static const char * const id; - - explicit contour_polyline2d_metatype(openvrml::browser & browser); - virtual ~contour_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 CoordinateDouble nodes. - */ - class OPENVRML_LOCAL coordinate_double_metatype : public node_metatype { - public: - static const char * const id; - - explicit coordinate_double_metatype(openvrml::browser & browser); - virtual ~coordinate_double_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 NurbsCurve nodes. - */ - class OPENVRML_LOCAL nurbs_curve_metatype : public node_metatype { - public: - static const char * const id; - - explicit nurbs_curve_metatype(openvrml::browser & browser); - virtual ~nurbs_curve_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 NurbsCurve2D nodes. - */ - class OPENVRML_LOCAL nurbs_curve2d_metatype : public node_metatype { - public: - static const char * const id; - - explicit nurbs_curve2d_metatype(openvrml::browser & browser); - virtual ~nurbs_curve2d_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 NurbsOrientationInterpolator nodes. - */ - class OPENVRML_LOCAL nurbs_orientation_interpolator_metatype : - public node_metatype { - public: - static const char * const id; - - explicit nurbs_orientation_interpolator_metatype( - openvrml::browser & browser); - virtual ~nurbs_orientation_interpolator_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 NurbsPatchSurface nodes. - */ - class OPENVRML_LOCAL nurbs_patch_surface_metatype : public node_metatype { - public: - static const char * const id; - - explicit nurbs_patch_surface_metatype(openvrml::browser & browser); - virtual ~nurbs_patch_surface_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 NurbsPositionInterpolator nodes. - */ - class OPENVRML_LOCAL nurbs_position_interpolator_metatype : - public node_metatype { - public: - static const char * const id; - - explicit nurbs_position_interpolator_metatype( - openvrml::browser & browser); - virtual ~nurbs_position_interpolator_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 NurbsSet nodes. - */ - class OPENVRML_LOCAL nurbs_set_metatype : public node_metatype { - public: - static const char * const id; - - explicit nurbs_set_metatype(openvrml::browser & browser); - virtual ~nurbs_set_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 NurbsSurfaceInterpolator nodes. - */ - class OPENVRML_LOCAL nurbs_surface_interpolator_metatype : public node_metatype { - public: - static const char * const id; - - explicit nurbs_surface_interpolator_metatype(openvrml::browser & browser); - virtual ~nurbs_surface_interpolator_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 NurbsSweptSurface nodes. - */ - class OPENVRML_LOCAL nurbs_swept_surface_metatype : public node_metatype { - public: - static const char * const id; - - explicit nurbs_swept_surface_metatype(openvrml::browser & browser); - virtual ~nurbs_swept_surface_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 NurbsSwungSurface nodes. - */ - class OPENVRML_LOCAL nurbs_swung_surface_metatype : public node_metatype { - public: - static const char * const id; - - explicit nurbs_swung_surface_metatype(openvrml::browser & browser); - virtual ~nurbs_swung_surface_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 NurbsTextureCoordinate nodes. - */ - class OPENVRML_LOCAL nurbs_texture_coordinate_metatype : public node_metatype { - public: - static const char * const id; - - explicit nurbs_texture_coordinate_metatype(openvrml::browser & browser); - virtual ~nurbs_texture_coordinate_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 NurbsTrimmedSurface nodes. - */ - class OPENVRML_LOCAL nurbs_trimmed_surface_metatype : public node_metatype { - public: - static const char * const id; - - explicit nurbs_trimmed_surface_metatype(openvrml::browser & browser); - virtual ~nurbs_trimmed_surface_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_nurbs_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; + using namespace openvrml_node_x3d_nurbs; b.add_node_metatype(contour2d_metatype::id, shared_ptr<node_metatype>(new contour2d_metatype(b))); b.add_node_metatype(contour_polyline2d_metatype::id, @@ -335,3588 +85,3 @@ shared_ptr<node_metatype>( new nurbs_trimmed_surface_metatype(b))); } - -namespace { - using namespace openvrml_; - - class OPENVRML_LOCAL contour2d_node : - public abstract_node<contour2d_node> { - - friend class contour2d_metatype; - - class add_children_listener : public event_listener_base<self_t>, - public mfnode_listener { - public: - explicit add_children_listener(self_t & node); - virtual ~add_children_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const mfnode & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class remove_children_listener : public event_listener_base<self_t>, - public mfnode_listener { - public: - explicit remove_children_listener(self_t & node); - virtual ~remove_children_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const mfnode & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - add_children_listener add_children_listener_; - remove_children_listener remove_children_listener_; - exposedfield<mfnode> children_; - - public: - contour2d_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~contour2d_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL contour_polyline2d_node : - public abstract_node<contour_polyline2d_node> { - - friend class contour_polyline2d_metatype; - - exposedfield<mfvec2f> point_; - - public: - contour_polyline2d_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~contour_polyline2d_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL coordinate_double_node : - public abstract_node<coordinate_double_node> { - - friend class coordinate_double_metatype; - - exposedfield<mfvec3d> point_; - - public: - coordinate_double_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~coordinate_double_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL nurbs_curve_node : - public abstract_node<nurbs_curve_node>, - public geometry_node, - public child_node { - - friend class nurbs_curve_metatype; - - exposedfield<sfnode> control_point_; - exposedfield<sfint32> tessellation_; - exposedfield<mfdouble> weight_; - sfbool closed_; - mfdouble knot_; - sfint32 order_; - - public: - nurbs_curve_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~nurbs_curve_node() OPENVRML_NOTHROW; - - virtual bool modified() const; - private: - virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer, - rendering_context context); - }; - - class OPENVRML_LOCAL nurbs_curve2d_node : - public abstract_node<nurbs_curve2d_node> { - - friend class nurbs_curve2d_metatype; - - exposedfield<mfvec2d> control_point_; - exposedfield<sfint32> tessellation_; - exposedfield<mfdouble> weight_; - sfbool closed_; - mfdouble knot_; - sfint32 order_; - - public: - nurbs_curve2d_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~nurbs_curve2d_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL nurbs_orientation_interpolator_node : - public abstract_node<nurbs_orientation_interpolator_node>, - public child_node { - - friend class nurbs_orientation_interpolator_metatype; - - class set_fraction_listener : public event_listener_base<self_t>, - public sffloat_listener { - public: - explicit set_fraction_listener(self_t & node); - virtual ~set_fraction_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_fraction_listener set_fraction_listener_; - exposedfield<sfnode> control_points_; - exposedfield<mfdouble> knot_; - exposedfield<sfint32> order_; - exposedfield<mfdouble> weight_; - sfrotation value_changed_; - sfrotation_emitter value_changed_emitter_; - - public: - nurbs_orientation_interpolator_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - - virtual ~nurbs_orientation_interpolator_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL nurbs_patch_surface_node : - public abstract_node<nurbs_patch_surface_node>, - public geometry_node, - public child_node { - - friend class nurbs_patch_surface_metatype; - - exposedfield<sfnode> control_point_; - exposedfield<sfnode> tex_coord_; - exposedfield<sfint32> u_tessellation_; - exposedfield<sfint32> v_tessellation_; - exposedfield<mfdouble> weight_; - sfbool solid_; - sfbool u_closed_; - sfint32 u_dimension_; - mfdouble u_knot_; - sfint32 u_order_; - sfbool v_closed_; - sfint32 v_dimension_; - mfdouble v_knot_; - sfint32 v_order_; - - public: - nurbs_patch_surface_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~nurbs_patch_surface_node() OPENVRML_NOTHROW; - - virtual bool modified() const; - private: - virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer, - rendering_context context); - }; - - class OPENVRML_LOCAL nurbs_position_interpolator_node : - public abstract_node<nurbs_position_interpolator_node>, - public child_node { - - friend class nurbs_position_interpolator_metatype; - - class set_fraction_listener : public event_listener_base<self_t>, - public sffloat_listener { - public: - explicit set_fraction_listener(self_t & node); - virtual ~set_fraction_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_fraction_listener set_fraction_listener_; - exposedfield<sfnode> control_points_; - exposedfield<mfdouble> knot_; - exposedfield<sfint32> order_; - exposedfield<mfdouble> weight_; - sfvec3f value_changed_; - sfvec3f_emitter value_changed_emitter_; - - public: - nurbs_position_interpolator_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - - virtual ~nurbs_position_interpolator_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL nurbs_set_node : - public abstract_node<nurbs_set_node>, - public child_node { - - friend class nurbs_set_metatype; - - class add_geometry_listener : public event_listener_base<self_t>, - public mfnode_listener { - public: - explicit add_geometry_listener(self_t & node); - virtual ~add_geometry_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const mfnode & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class remove_geometry_listener : - public event_listener_base<self_t>, - public mfnode_listener - { - public: - explicit remove_geometry_listener(self_t & node); - virtual ~remove_geometry_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const mfnode & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - add_geometry_listener add_geometry_listener_; - remove_geometry_listener remove_geometry_listener_; - exposedfield<mfnode> geometry_; - exposedfield<sffloat> tessellation_scale_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - public: - nurbs_set_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~nurbs_set_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL nurbs_surface_interpolator_node : - public abstract_node<nurbs_surface_interpolator_node>, - public child_node { - - friend class nurbs_surface_interpolator_metatype; - - class set_fraction_listener : public event_listener_base<self_t>, - public sfvec2f_listener { - public: - explicit set_fraction_listener(self_t & node); - virtual ~set_fraction_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sfvec2f & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_fraction_listener set_fraction_listener_; - exposedfield<sfnode> control_points_; - exposedfield<mfdouble> weight_; - sfvec3f position_changed_; - sfvec3f_emitter position_changed_emitter_; - sfvec3f normal_changed_; - sfvec3f_emitter normal_changed_emitter_; - sfint32 u_dimension_; - mfdouble u_knot_; - sfint32 u_order_; - sfint32 v_dimension_; - mfdouble v_knot_; - sfint32 v_order_; - - public: - nurbs_surface_interpolator_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~nurbs_surface_interpolator_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL nurbs_swept_surface_node : - public abstract_node<nurbs_swept_surface_node>, - public geometry_node, - public child_node { - - friend class nurbs_swept_surface_metatype; - - exposedfield<sfnode> cross_section_curve_; - exposedfield<sfnode> trajectory_curve_; - sfbool ccw_; - sfbool solid_; - - public: - nurbs_swept_surface_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~nurbs_swept_surface_node() OPENVRML_NOTHROW; - - virtual bool modified() const; - private: - virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer, - rendering_context context); - }; - - class OPENVRML_LOCAL nurbs_swung_surface_node : - public abstract_node<nurbs_swung_surface_node>, - public geometry_node, - public child_node { - - friend class nurbs_swung_surface_metatype; - - exposedfield<sfnode> componentcurve_; - exposedfield<sfnode> trajectory_curve_; - sfbool ccw_; - sfbool solid_; - - public: - nurbs_swung_surface_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~nurbs_swung_surface_node() OPENVRML_NOTHROW; - - virtual bool modified() const; - private: - virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer, - rendering_context context); - }; - - class OPENVRML_LOCAL nurbs_texture_coordinate_node : - public abstract_node<nurbs_texture_coordinate_node> { - - friend class nurbs_texture_coordinate_metatype; - - exposedfield<mfvec2f> control_point_; - exposedfield<mffloat> weight_; - sfint32 u_dimension_; - mfdouble u_knot_; - sfint32 u_order_; - sfint32 v_dimension_; - mfdouble v_knot_; - sfint32 v_order_; - - public: - nurbs_texture_coordinate_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~nurbs_texture_coordinate_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL nurbs_trimmed_surface_node : - public abstract_node<nurbs_trimmed_surface_node>, - public geometry_node, - public child_node { - - friend class nurbs_trimmed_surface_metatype; - - class add_trimming_contour_listener : - public event_listener_base<self_t>, - public mfnode_listener { - public: - explicit add_trimming_contour_listener(self_t & node); - virtual ~add_trimming_contour_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const mfnode & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class remove_trimming_contour_listener : - public event_listener_base<self_t>, - public mfnode_listener { - public: - explicit remove_trimming_contour_listener(self_t & node); - virtual ~remove_trimming_contour_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const mfnode & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - add_trimming_contour_listener add_trimming_contour_listener_; - remove_trimming_contour_listener remove_trimming_contour_listener_; - exposedfield<sfnode> control_point_; - exposedfield<sfnode> tex_coord_; - exposedfield<mfnode> trimming_contour_; - exposedfield<sfint32> u_tessellation_; - exposedfield<sfint32> v_tessellation_; - exposedfield<mfdouble> weight_; - sfbool solid_; - sfbool u_closed_; - sfint32 u_dimension_; - mfdouble u_knot_; - sfint32 u_order_; - sfbool v_closed_; - sfint32 v_dimension_; - mfdouble v_knot_; - sfint32 v_order_; - - public: - nurbs_trimmed_surface_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~nurbs_trimmed_surface_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 contour2d_metatype::id = "urn:X-openvrml:node:Contour2D"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this @c contour2d_metatype. - */ - contour2d_metatype::contour2d_metatype(openvrml::browser & browser): - node_metatype(contour2d_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - contour2d_metatype::~contour2d_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 @c node_type capable of creating Contour2D nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by contour2d_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - contour2d_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::eventin_id, - field_value::mfnode_id, - "addChildren"), - node_interface(node_interface::eventin_id, - field_value::mfnode_id, - "removeChildren"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - ... [truncated message content] |