From: <br...@us...> - 2008-09-09 05:41:25
|
Revision: 3592 http://openvrml.svn.sourceforge.net/openvrml/?rev=3592&view=rev Author: braden Date: 2008-09-09 05:41:35 +0000 (Tue, 09 Sep 2008) Log Message: ----------- Changed to CRLF line endings. Modified Paths: -------------- trunk/ChangeLog trunk/ide-projects/Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-09 05:37:24 UTC (rev 3591) +++ trunk/ChangeLog 2008-09-09 05:41:35 UTC (rev 3592) @@ -1,3 +1,8 @@ +2008-09-09 Braden McDaniel <br...@en...> + + * ide-projects/Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj: + Changed to CRLF line endings. + 2008-09-08 Braden McDaniel <br...@en...> * src/libopenvrml/openvrml/browser.cpp: Added doc-comments and Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj 2008-09-09 05:37:24 UTC (rev 3591) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj 2008-09-09 05:41:35 UTC (rev 3592) @@ -1,212 +1,212 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="sdl-viewer" - ProjectGUID="{2DD5D192-3E85-4E64-854B-DF7A1FF06B76}" - RootNamespace="sdl-viewer" - Keyword="Win32Proj" - TargetFrameworkVersion="131072" - > - <Platforms> - <Platform - Name="Win32" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml;"..\openvrml-gl";"..\..\..\..\..\src\libopenvrml-gl"" - PreprocessorDefinitions="OPENVRML_USE_DLL;OPENVRML_GL_USE_DLL" - MinimalRebuild="true" - BasicRuntimeChecks="0" - RuntimeLibrary="3" - TreatWChar_tAsBuiltInType="true" - ForceConformanceInForLoopScope="true" - RuntimeTypeInfo="true" - UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="4" - DisableSpecificWarnings="4250;4251;4275;4290;4355" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="opengl32.lib glu32.lib SDLmain.lib SDL.lib" - OutputFile="$(SolutionDir)..\bin\sdl-viewerd.exe" - LinkIncremental="2" - IgnoreDefaultLibraryNames="msvcrt.lib" - GenerateDebugInformation="true" - ProgramDatabaseFile="$(OutDir)/sdl-viewer.pdb" - SubSystem="2" - RandomizedBaseAddress="1" - DataExecutionPrevention="0" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory="$(ConfigurationName)" - IntermediateDirectory="$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="3" - WholeProgramOptimization="true" - AdditionalIncludeDirectories="..\..\..\..\..\src\libopenvrml;"..\..\..\..\..\src\libopenvrml-gl";..\openvrml;"..\openvrml-gl"" - PreprocessorDefinitions="OPENVRML_USE_DLL;OPENVRML_GL_USE_DLL;NDEBUG" - RuntimeLibrary="2" - TreatWChar_tAsBuiltInType="true" - ForceConformanceInForLoopScope="true" - RuntimeTypeInfo="true" - UsePrecompiledHeader="0" - WarningLevel="3" - DebugInformationFormat="3" - DisableSpecificWarnings="4226;4250;4251;4275;4290;4355;4800" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="opengl32.lib glu32.lib SDLmain.lib SDL.lib" - OutputFile="$(SolutionDir)..\bin\sdl-viewer.exe" - LinkIncremental="1" - GenerateDebugInformation="true" - SubSystem="2" - OptimizeReferences="2" - EnableCOMDATFolding="2" - LinkTimeCodeGeneration="1" - RandomizedBaseAddress="1" - DataExecutionPrevention="0" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" - > - <File - RelativePath="..\..\..\..\..\examples\sdl_viewer.cpp" - > - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > - </Filter> - <Filter - Name="Resource Files" - Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" - UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" - > - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="sdl-viewer" + ProjectGUID="{2DD5D192-3E85-4E64-854B-DF7A1FF06B76}" + RootNamespace="sdl-viewer" + Keyword="Win32Proj" + TargetFrameworkVersion="131072" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml;"..\openvrml-gl";"..\..\..\..\..\src\libopenvrml-gl"" + PreprocessorDefinitions="OPENVRML_USE_DLL;OPENVRML_GL_USE_DLL" + MinimalRebuild="true" + BasicRuntimeChecks="0" + RuntimeLibrary="3" + TreatWChar_tAsBuiltInType="true" + ForceConformanceInForLoopScope="true" + RuntimeTypeInfo="true" + UsePrecompiledHeader="0" + WarningLevel="3" + DebugInformationFormat="4" + DisableSpecificWarnings="4250;4251;4275;4290;4355" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="opengl32.lib glu32.lib SDLmain.lib SDL.lib" + OutputFile="$(SolutionDir)..\bin\sdl-viewerd.exe" + LinkIncremental="2" + IgnoreDefaultLibraryNames="msvcrt.lib" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(OutDir)/sdl-viewer.pdb" + SubSystem="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="3" + WholeProgramOptimization="true" + AdditionalIncludeDirectories="..\..\..\..\..\src\libopenvrml;"..\..\..\..\..\src\libopenvrml-gl";..\openvrml;"..\openvrml-gl"" + PreprocessorDefinitions="OPENVRML_USE_DLL;OPENVRML_GL_USE_DLL;NDEBUG" + RuntimeLibrary="2" + TreatWChar_tAsBuiltInType="true" + ForceConformanceInForLoopScope="true" + RuntimeTypeInfo="true" + UsePrecompiledHeader="0" + WarningLevel="3" + DebugInformationFormat="3" + DisableSpecificWarnings="4226;4250;4251;4275;4290;4355;4800" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="opengl32.lib glu32.lib SDLmain.lib SDL.lib" + OutputFile="$(SolutionDir)..\bin\sdl-viewer.exe" + LinkIncremental="1" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + LinkTimeCodeGeneration="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath="..\..\..\..\..\examples\sdl_viewer.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-09 07:13:20
|
Revision: 3593 http://openvrml.svn.sourceforge.net/openvrml/?rev=3593&view=rev Author: braden Date: 2008-09-09 07:13:24 +0000 (Tue, 09 Sep 2008) Log Message: ----------- Order include directories consistently for Debug and Release configurations. Modified Paths: -------------- trunk/ChangeLog trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml-gl/openvrml-gl.vcproj trunk/ide-projects/Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-09 05:41:35 UTC (rev 3592) +++ trunk/ChangeLog 2008-09-09 07:13:24 UTC (rev 3593) @@ -1,5 +1,13 @@ 2008-09-09 Braden McDaniel <br...@en...> + Order include directories consistently for Debug and Release + configurations. + + * ide-projects/Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj + * ide-projects/Windows/VisualC9_0/OpenVRML/openvrml-gl/openvrml-gl.vcproj + +2008-09-09 Braden McDaniel <br...@en...> + * ide-projects/Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj: Changed to CRLF line endings. Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml-gl/openvrml-gl.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml-gl/openvrml-gl.vcproj 2008-09-09 05:41:35 UTC (rev 3592) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml-gl/openvrml-gl.vcproj 2008-09-09 07:13:24 UTC (rev 3593) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=".;"..\..\..\..\..\src\libopenvrml-gl";..\openvrml;..\..\..\..\..\src\libopenvrml" + AdditionalIncludeDirectories=".;..\openvrml;"..\..\..\..\..\src\libopenvrml-gl";..\..\..\..\..\src\libopenvrml" PreprocessorDefinitions="HAVE_WINDOWS_H;OPENVRML_USE_DLL;OPENVRML_GL_BUILD_DLL" MinimalRebuild="true" BasicRuntimeChecks="0" @@ -59,7 +59,7 @@ /> <Tool Name="VCResourceCompilerTool" - AdditionalIncludeDirectories="..\..\..\..\..\src\libopenvrml" + AdditionalIncludeDirectories="" /> <Tool Name="VCPreLinkEventTool" @@ -123,7 +123,7 @@ Optimization="3" InlineFunctionExpansion="1" OmitFramePointers="true" - AdditionalIncludeDirectories=""..\..\..\..\..\src\libopenvrml-gl";..\..\..\..\..\src\libopenvrml;..\openvrml;." + AdditionalIncludeDirectories=".;..\openvrml;"..\..\..\..\..\src\libopenvrml-gl";..\..\..\..\..\src\libopenvrml" PreprocessorDefinitions="HAVE_WINDOWS_H;OPENVRML_GL_BUILD_DLL;OPENVRML_USE_DLL;NDEBUG" StringPooling="true" RuntimeLibrary="2" Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj 2008-09-09 05:41:35 UTC (rev 3592) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj 2008-09-09 07:13:24 UTC (rev 3593) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml;"..\openvrml-gl";"..\..\..\..\..\src\libopenvrml-gl"" + AdditionalIncludeDirectories=""..\openvrml-gl";..\openvrml;"..\..\..\..\..\src\libopenvrml-gl";..\..\..\..\..\src\libopenvrml" PreprocessorDefinitions="OPENVRML_USE_DLL;OPENVRML_GL_USE_DLL" MinimalRebuild="true" BasicRuntimeChecks="0" @@ -124,7 +124,7 @@ Name="VCCLCompilerTool" Optimization="3" WholeProgramOptimization="true" - AdditionalIncludeDirectories="..\..\..\..\..\src\libopenvrml;"..\..\..\..\..\src\libopenvrml-gl";..\openvrml;"..\openvrml-gl"" + AdditionalIncludeDirectories=""..\openvrml-gl";..\openvrml;"..\..\..\..\..\src\libopenvrml-gl";..\..\..\..\..\src\libopenvrml" PreprocessorDefinitions="OPENVRML_USE_DLL;OPENVRML_GL_USE_DLL;NDEBUG" RuntimeLibrary="2" TreatWChar_tAsBuiltInType="true" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-09 07:47:22
|
Revision: 3595 http://openvrml.svn.sourceforge.net/openvrml/?rev=3595&view=rev Author: braden Date: 2008-09-09 07:47:33 +0000 (Tue, 09 Sep 2008) Log Message: ----------- Removed unnecessary backslash. Modified Paths: -------------- trunk/ChangeLog trunk/ide-projects/Windows/VisualC9_0/OpenVRML/javascript/javascript.vcproj Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-09 07:17:33 UTC (rev 3594) +++ trunk/ChangeLog 2008-09-09 07:47:33 UTC (rev 3595) @@ -1,5 +1,10 @@ 2008-09-09 Braden McDaniel <br...@en...> + * ide-projects/Windows/VisualC9_0/OpenVRML/javascript/javascript.vcproj: + Removed unnecessary backslash. + +2008-09-09 Braden McDaniel <br...@en...> + Order include directories consistently for Debug and Release configurations. Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/javascript/javascript.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/javascript/javascript.vcproj 2008-09-09 07:17:33 UTC (rev 3594) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/javascript/javascript.vcproj 2008-09-09 07:47:33 UTC (rev 3595) @@ -63,7 +63,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="js3250.lib" - OutputFile="$(SolutionDir)\..\bin\script\$(ProjectName).dll" + OutputFile="$(SolutionDir)..\bin\script\$(ProjectName).dll" LinkIncremental="2" GenerateDebugInformation="true" SubSystem="2" @@ -139,7 +139,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="js3250.lib" - OutputFile="$(SolutionDir)\..\bin\script\$(ProjectName).dll" + OutputFile="$(SolutionDir)..\bin\script\$(ProjectName).dll" LinkIncremental="1" GenerateDebugInformation="true" SubSystem="2" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-09 07:52:56
|
Revision: 3596 http://openvrml.svn.sourceforge.net/openvrml/?rev=3596&view=rev Author: braden Date: 2008-09-09 07:53:05 +0000 (Tue, 09 Sep 2008) Log Message: ----------- No reason to define span before setting its value. Modified Paths: -------------- trunk/ChangeLog trunk/src/libopenvrml/openvrml/bounding_volume.cpp Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-09 07:47:33 UTC (rev 3595) +++ trunk/ChangeLog 2008-09-09 07:53:05 UTC (rev 3596) @@ -1,5 +1,12 @@ 2008-09-09 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/bounding_volume.cpp + (openvrml::bounding_sphere::do_enclose(const + std::vector<vec3f>&)): No reason to define span before + setting its value. + +2008-09-09 Braden McDaniel <br...@en...> + * ide-projects/Windows/VisualC9_0/OpenVRML/javascript/javascript.vcproj: Removed unnecessary backslash. Modified: trunk/src/libopenvrml/openvrml/bounding_volume.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/bounding_volume.cpp 2008-09-09 07:47:33 UTC (rev 3595) +++ trunk/src/libopenvrml/openvrml/bounding_volume.cpp 2008-09-09 07:53:05 UTC (rev 3596) @@ -611,8 +611,7 @@ // // Pick the two points most distant from one another. // - vec3f span; - span = *max_p[0] - *min_p[0]; + vec3f span = *max_p[0] - *min_p[0]; float dx = span.dot(span); span = *max_p[1] - *min_p[1]; float dy = span.dot(span); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-11 04:06:44
|
Revision: 3611 http://openvrml.svn.sourceforge.net/openvrml/?rev=3611&view=rev Author: braden Date: 2008-09-11 04:06:55 +0000 (Thu, 11 Sep 2008) Log Message: ----------- Added projects for the parse-vrml97 and parse-x3dvrml test programs to the Visual C++ solution. Modified Paths: -------------- trunk/ChangeLog trunk/ide-projects/Makefile.am Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-10 06:08:41 UTC (rev 3610) +++ trunk/ChangeLog 2008-09-11 04:06:55 UTC (rev 3611) @@ -1,5 +1,15 @@ 2008-09-10 Braden McDaniel <br...@en...> + Added projects for the parse-vrml97 and parse-x3dvrml test + programs to the Visual C++ solution. + + * ide-projects/Makefile.am: Distribute the project files. + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln + * ide-projects/Windows/VisualC9_0/OpenVRML/parse-x3dvrml/parse-x3dvrml.vcproj + * ide-projects/Windows/VisualC9_0/OpenVRML/parse-vrml97/parse-vrml97.vcproj + +2008-09-10 Braden McDaniel <br...@en...> + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Changed to CRLF line endings. Modified: trunk/ide-projects/Makefile.am =================================================================== --- trunk/ide-projects/Makefile.am 2008-09-10 06:08:41 UTC (rev 3610) +++ trunk/ide-projects/Makefile.am 2008-09-11 04:06:55 UTC (rev 3611) @@ -6,6 +6,8 @@ Windows/VisualC9_0/OpenVRML/openvrml-gl/openvrml-gl.vcproj \ Windows/VisualC9_0/OpenVRML/openvrml-gl/openvrml-gl-config.h \ Windows/VisualC9_0/OpenVRML/openvrml-gl/openvrml-gl.rc \ + Windows/VisualC9_0/OpenVRML/sdl-viewer/parse-vrml97.vcproj \ + Windows/VisualC9_0/OpenVRML/sdl-viewer/parse-x3dvrml.vcproj \ Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj EXTRA_DIST = $(VISUALC9_0_FILES) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-11 04:13:42
|
Revision: 3612 http://openvrml.svn.sourceforge.net/openvrml/?rev=3612&view=rev Author: braden Date: 2008-09-11 04:13:47 +0000 (Thu, 11 Sep 2008) Log Message: ----------- Added a Visual C++ project file for the pretty-print example. Modified Paths: -------------- trunk/ChangeLog trunk/examples/pretty_print.cpp trunk/ide-projects/Makefile.am trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-11 04:06:55 UTC (rev 3611) +++ trunk/ChangeLog 2008-09-11 04:13:47 UTC (rev 3612) @@ -1,3 +1,15 @@ +2008-09-11 Braden McDaniel <br...@en...> + + Added a Visual C++ project file for the pretty-print example. + + * examples/pretty_print.cpp: Removed uses of "interface" as an + identifier for Windows friendliness. + * ide-projects/Makefile.am: Distribute pretty-print.vcproj. + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added the + pretty-print project. + * ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj: + Added. + 2008-09-10 Braden McDaniel <br...@en...> Added projects for the parse-vrml97 and parse-x3dvrml test Modified: trunk/examples/pretty_print.cpp =================================================================== --- trunk/examples/pretty_print.cpp 2008-09-11 04:06:55 UTC (rev 3611) +++ trunk/examples/pretty_print.cpp 2008-09-11 04:13:47 UTC (rev 3612) @@ -161,11 +161,11 @@ using std::vector; a.out << a.indent_ << "EXTERNPROTO " << node_type_id << " [\n"; ++a.indent_; - for (node_interface_set::const_iterator interface = + for (node_interface_set::const_iterator interface_ = interfaces.begin(); - interface != interfaces.end(); - ++interface) { - a.out << a.indent_ << *interface << '\n'; + interface_ != interfaces.end(); + ++interface_) { + a.out << a.indent_ << *interface_ << '\n'; } --a.indent_; a.out << a.indent_ << "] [\n"; @@ -205,11 +205,11 @@ a(a) {} - void operator()(const node_interface & interface) const + void operator()(const node_interface & interface_) const { - a.out << a.indent_ << interface; - if (interface.type == node_interface::eventin_id - || interface.type == node_interface::eventout_id) { + a.out << a.indent_ << interface_; + if (interface_.type == node_interface::eventin_id + || interface_.type == node_interface::eventout_id) { a.out << '\n'; } } @@ -284,9 +284,9 @@ a(a) {} - void operator()(const node_interface & interface) const + void operator()(const node_interface & interface_) const { - a.out << a.indent_ << interface; + a.out << a.indent_ << interface_; } actions & a; Modified: trunk/ide-projects/Makefile.am =================================================================== --- trunk/ide-projects/Makefile.am 2008-09-11 04:06:55 UTC (rev 3611) +++ trunk/ide-projects/Makefile.am 2008-09-11 04:13:47 UTC (rev 3612) @@ -6,8 +6,9 @@ Windows/VisualC9_0/OpenVRML/openvrml-gl/openvrml-gl.vcproj \ Windows/VisualC9_0/OpenVRML/openvrml-gl/openvrml-gl-config.h \ Windows/VisualC9_0/OpenVRML/openvrml-gl/openvrml-gl.rc \ - Windows/VisualC9_0/OpenVRML/sdl-viewer/parse-vrml97.vcproj \ - Windows/VisualC9_0/OpenVRML/sdl-viewer/parse-x3dvrml.vcproj \ + Windows/VisualC9_0/OpenVRML/parse-vrml97/parse-vrml97.vcproj \ + Windows/VisualC9_0/OpenVRML/parse-x3dvrml/parse-x3dvrml.vcproj \ + Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj \ Windows/VisualC9_0/OpenVRML/sdl-viewer/sdl-viewer.vcproj EXTRA_DIST = $(VISUALC9_0_FILES) Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-11 04:06:55 UTC (rev 3611) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-11 04:13:47 UTC (rev 3612) @@ -29,6 +29,11 @@ {E5287CD2-4BAC-4341-AF28-A1F9C0F5949C} = {E5287CD2-4BAC-4341-AF28-A1F9C0F5949C} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pretty-print", "pretty-print\pretty-print.vcproj", "{EFCFAB14-FC2B-4816-AD49-DC0E6F4D04E1}" + ProjectSection(ProjectDependencies) = postProject + {E5287CD2-4BAC-4341-AF28-A1F9C0F5949C} = {E5287CD2-4BAC-4341-AF28-A1F9C0F5949C} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -59,6 +64,10 @@ {38979260-FBDB-49E6-A0AD-15E3C8C553A3}.Debug|Win32.Build.0 = Debug|Win32 {38979260-FBDB-49E6-A0AD-15E3C8C553A3}.Release|Win32.ActiveCfg = Release|Win32 {38979260-FBDB-49E6-A0AD-15E3C8C553A3}.Release|Win32.Build.0 = Release|Win32 + {EFCFAB14-FC2B-4816-AD49-DC0E6F4D04E1}.Debug|Win32.ActiveCfg = Debug|Win32 + {EFCFAB14-FC2B-4816-AD49-DC0E6F4D04E1}.Debug|Win32.Build.0 = Debug|Win32 + {EFCFAB14-FC2B-4816-AD49-DC0E6F4D04E1}.Release|Win32.ActiveCfg = Release|Win32 + {EFCFAB14-FC2B-4816-AD49-DC0E6F4D04E1}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print ___________________________________________________________________ Added: svn:ignore + Debug Release pretty-print.vcproj.*.user Added: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj 2008-09-11 04:13:47 UTC (rev 3612) @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="pretty-print" + ProjectGUID="{EFCFAB14-FC2B-4816-AD49-DC0E6F4D04E1}" + RootNamespace="prettyprint" + Keyword="Win32Proj" + TargetFrameworkVersion="196613" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="1" + 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;_CONSOLE;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;OPENVRML_USE_DLL" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + DebugInformationFormat="4" + DisableSpecificWarnings="4250;4251;4275;4355;4800" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="$(SolutionDir)..\bin\$(ProjectName)d.exe" + LinkIncremental="2" + GenerateDebugInformation="true" + SubSystem="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="1" + 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;_CONSOLE;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;OPENVRML_USE_DLL" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" + UsePrecompiledHeader="0" + WarningLevel="3" + DebugInformationFormat="3" + DisableSpecificWarnings="4250;4251;4275;4355;4800" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + OutputFile="$(SolutionDir)..\bin\$(ProjectName).exe" + LinkIncremental="1" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <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="..\..\..\..\..\examples\pretty_print.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + </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> Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj ___________________________________________________________________ Added: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-15 05:28:59
|
Revision: 3621 http://openvrml.svn.sourceforge.net/openvrml/?rev=3621&view=rev Author: braden Date: 2008-09-15 05:29:07 +0000 (Mon, 15 Sep 2008) Log Message: ----------- Put the VRML97 node implementations into a convenience library for now. Modified Paths: -------------- trunk/ChangeLog trunk/src/Makefile.am Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-15 05:22:29 UTC (rev 3620) +++ trunk/ChangeLog 2008-09-15 05:29:07 UTC (rev 3621) @@ -1,3 +1,26 @@ +2008-09-15 Braden McDaniel <br...@en...> + + Put the VRML97 node implementations into a convenience library for + now. + + * src/Makefile.am + (noinst_LTLIBRARIES): Added node/vrml97/libvrml97.la as a + convenience library. + (libopenvrml_libopenvrml_la_CXXFLAGS): Removed flags now only + needed by libvrml97.la. + (libopenvrml_libopenvrml_la_SOURCES): Removed sources now present + in libvrml97.la. + (libopenvrml_libopenvrml_la_LDFLAGS): Removed flags now only + needed by libvrml97.la. + (node_vrml97_libvrml97_la_CPPFLAGS): Preprocessor flags for + node/vrml97/libvrml97.la. + (node_vrml97_libvrml97_la_CXXFLAGS): Compiler flags for + node/vrml97/libvrml97.la. + (node_vrml97_libvrml97_la_SOURCES): Sources for + node/vrml97/libvrml97.la. + (node_vrml97_libvrml97_la_LDFLAGS): Linker flags for + node/vrml97/libvrml97.la. + 2008-09-14 Braden McDaniel <br...@en...> Made openvrml::node_impl_util::node_type_impl's member functions Modified: trunk/src/Makefile.am =================================================================== --- trunk/src/Makefile.am 2008-09-15 05:22:29 UTC (rev 3620) +++ trunk/src/Makefile.am 2008-09-15 05:29:07 UTC (rev 3621) @@ -1,6 +1,7 @@ SUBDIRS = script lib_LTLIBRARIES = libopenvrml/libopenvrml.la +noinst_LTLIBRARIES = node/vrml97/libvrml97.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -100,12 +101,103 @@ -DBOOST_SPIRIT_CLOSURE_LIMIT=6 \ -DPHOENIX_LIMIT=6 libopenvrml_libopenvrml_la_CXXFLAGS = \ + $(FREETYPE_CFLAGS) \ $(PTHREAD_CFLAGS) \ - $(XML_CFLAGS) \ + $(XML_CFLAGS) + +libopenvrml_libopenvrml_la_SOURCES = \ + libopenvrml/openvrml/vrml97_grammar.cpp \ + libopenvrml/openvrml/x3d_vrml_grammar.cpp \ + libopenvrml/openvrml/read_write_mutex.cpp \ + libopenvrml/openvrml/basetypes.cpp \ + libopenvrml/openvrml/field_value.cpp \ + libopenvrml/openvrml/event.cpp \ + libopenvrml/openvrml/exposedfield.cpp \ + libopenvrml/openvrml/scope.cpp \ + libopenvrml/openvrml/node.cpp \ + libopenvrml/openvrml/bounding_volume.cpp \ + libopenvrml/openvrml/browser.cpp \ + libopenvrml/openvrml/viewer.cpp \ + libopenvrml/openvrml/rendering_context.cpp \ + libopenvrml/openvrml/frustum.cpp \ + libopenvrml/openvrml/node_impl_util.cpp \ + libopenvrml/openvrml/vrml97node.cpp \ + libopenvrml/openvrml/x3d_core.cpp \ + libopenvrml/openvrml/x3d_networking.cpp \ + libopenvrml/openvrml/x3d_grouping.cpp \ + libopenvrml/openvrml/x3d_rendering.cpp \ + libopenvrml/openvrml/x3d_shape.cpp \ + libopenvrml/openvrml/x3d_geometry2d.cpp \ + libopenvrml/openvrml/x3d_texturing.cpp \ + libopenvrml/openvrml/x3d_interpolation.cpp \ + libopenvrml/openvrml/x3d_key_device_sensor.cpp \ + libopenvrml/openvrml/x3d_event_utilities.cpp \ + libopenvrml/openvrml/x3d_dis.cpp \ + libopenvrml/openvrml/x3d_environmental_effects.cpp \ + libopenvrml/openvrml/x3d_geospatial.cpp \ + libopenvrml/openvrml/x3d_hanim.cpp \ + libopenvrml/openvrml/x3d_nurbs.cpp \ + libopenvrml/openvrml/x3d_cad_geometry.cpp + +libopenvrml_libopenvrml_la_LDFLAGS = \ + -version-info $(LIBOPENVRML_LIBRARY_VERSION) \ + $(XML_LIBS) \ + $(PTHREAD_LIBS) + +libopenvrml_libopenvrml_la_LIBADD = \ + node/vrml97/libvrml97.la \ + -lboost_thread$(BOOST_LIB_SUFFIX) \ + -lboost_filesystem$(BOOST_LIB_SUFFIX) \ + -lltdl + +openvrmlscriptdir = $(pkglibdir)/script + +openvrmlscript_LTLIBRARIES = +if ENABLE_SCRIPT_NODE_JAVASCRIPT +openvrmlscript_LTLIBRARIES += script/javascript.la +endif +if ENABLE_SCRIPT_NODE_JAVA +openvrmlscript_LTLIBRARIES += script/java.la +endif + +script_javascript_la_SOURCES = script/javascript.cpp +script_javascript_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml \ + -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS \ + -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 +script_javascript_la_CXXFLAGS = $(JS_CFLAGS) +script_javascript_la_LDFLAGS = \ + -module \ + -avoid-version \ + $(OPENVRML_JAVASCRIPT_RPATH) \ + $(JS_LIBS) + +script_java_la_SOURCES = script/java.cpp +script_java_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml \ + -I$(top_builddir)/src/script/java \ + -DOPENVRML_LIBDIR_=\"$(libdir)\" \ + -DOPENVRML_PKGDATADIR_=\"$(pkgdatadir)\" \ + -DJAVA_HOME=\"$(JAVA_HOME)\" \ + -DOPENVRML_JVM_ARCH=\"$(OPENVRML_JVM_ARCH)\" \ + -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS \ + -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 +script_java_la_LDFLAGS = \ + -module \ + -avoid-version + +node_vrml97_libvrml97_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml \ + -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS \ + -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 +node_vrml97_libvrml97_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) \ $(FONTCONFIG_CFLAGS) \ $(FREETYPE_CFLAGS) - -libopenvrml_libopenvrml_la_SOURCES = \ +node_vrml97_libvrml97_la_SOURCES = \ node/vrml97/image_stream_listener.h \ node/vrml97/image_stream_listener.cpp \ node/vrml97/abstract_light.h \ @@ -221,92 +313,15 @@ node/vrml97/cad_layer.h \ node/vrml97/cad_layer.cpp \ node/vrml97/cad_assembly.h \ - node/vrml97/cad_assembly.cpp \ - libopenvrml/openvrml/vrml97_grammar.cpp \ - libopenvrml/openvrml/x3d_vrml_grammar.cpp \ - libopenvrml/openvrml/read_write_mutex.cpp \ - libopenvrml/openvrml/basetypes.cpp \ - libopenvrml/openvrml/field_value.cpp \ - libopenvrml/openvrml/event.cpp \ - libopenvrml/openvrml/exposedfield.cpp \ - libopenvrml/openvrml/scope.cpp \ - libopenvrml/openvrml/node.cpp \ - libopenvrml/openvrml/bounding_volume.cpp \ - libopenvrml/openvrml/browser.cpp \ - libopenvrml/openvrml/viewer.cpp \ - libopenvrml/openvrml/rendering_context.cpp \ - libopenvrml/openvrml/frustum.cpp \ - libopenvrml/openvrml/node_impl_util.cpp \ - libopenvrml/openvrml/vrml97node.cpp \ - libopenvrml/openvrml/x3d_core.cpp \ - libopenvrml/openvrml/x3d_networking.cpp \ - libopenvrml/openvrml/x3d_grouping.cpp \ - libopenvrml/openvrml/x3d_rendering.cpp \ - libopenvrml/openvrml/x3d_shape.cpp \ - libopenvrml/openvrml/x3d_geometry2d.cpp \ - libopenvrml/openvrml/x3d_texturing.cpp \ - libopenvrml/openvrml/x3d_interpolation.cpp \ - libopenvrml/openvrml/x3d_key_device_sensor.cpp \ - libopenvrml/openvrml/x3d_event_utilities.cpp \ - libopenvrml/openvrml/x3d_dis.cpp \ - libopenvrml/openvrml/x3d_environmental_effects.cpp \ - libopenvrml/openvrml/x3d_geospatial.cpp \ - libopenvrml/openvrml/x3d_hanim.cpp \ - libopenvrml/openvrml/x3d_nurbs.cpp \ - libopenvrml/openvrml/x3d_cad_geometry.cpp - -libopenvrml_libopenvrml_la_LDFLAGS = \ - -version-info $(LIBOPENVRML_LIBRARY_VERSION) \ - $(XML_LIBS) \ + node/vrml97/cad_assembly.cpp +node_vrml97_libvrml97_la_LDFLAGS = \ + -avoid-version \ $(JPEG_LIBS) \ $(PNG_LIBS) \ $(FONTCONFIG_LIBS) \ $(FREETYPE_LIBS) \ $(PTHREAD_LIBS) -libopenvrml_libopenvrml_la_LIBADD = \ - -lboost_thread$(BOOST_LIB_SUFFIX) \ - -lboost_filesystem$(BOOST_LIB_SUFFIX) \ - -lltdl - -openvrmlscriptdir = $(pkglibdir)/script - -openvrmlscript_LTLIBRARIES = -if ENABLE_SCRIPT_NODE_JAVASCRIPT -openvrmlscript_LTLIBRARIES += script/javascript.la -endif -if ENABLE_SCRIPT_NODE_JAVA -openvrmlscript_LTLIBRARIES += script/java.la -endif - -script_javascript_la_SOURCES = script/javascript.cpp -script_javascript_la_CPPFLAGS = \ - -I$(top_builddir)/src/libopenvrml \ - -I$(top_srcdir)/src/libopenvrml \ - -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS \ - -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 -script_javascript_la_CXXFLAGS = $(JS_CFLAGS) -script_javascript_la_LDFLAGS = \ - -module \ - -avoid-version \ - $(OPENVRML_JAVASCRIPT_RPATH) \ - $(JS_LIBS) - -script_java_la_SOURCES = script/java.cpp -script_java_la_CPPFLAGS = \ - -I$(top_builddir)/src/libopenvrml \ - -I$(top_srcdir)/src/libopenvrml \ - -I$(top_builddir)/src/script/java \ - -DOPENVRML_LIBDIR_=\"$(libdir)\" \ - -DOPENVRML_PKGDATADIR_=\"$(pkgdatadir)\" \ - -DJAVA_HOME=\"$(JAVA_HOME)\" \ - -DOPENVRML_JVM_ARCH=\"$(OPENVRML_JVM_ARCH)\" \ - -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS \ - -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 -script_java_la_LDFLAGS = \ - -module \ - -avoid-version - libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-15 22:05:50
|
Revision: 3625 http://openvrml.svn.sourceforge.net/openvrml/?rev=3625&view=rev Author: braden Date: 2008-09-15 22:06:00 +0000 (Mon, 15 Sep 2008) Log Message: ----------- Made contents of BUILT_SOURCES conditional based on ENABLE_XEMBED and ENABLE_PLAYER. Modified Paths: -------------- trunk/ChangeLog trunk/src/Makefile.am Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-15 15:19:05 UTC (rev 3624) +++ trunk/ChangeLog 2008-09-15 22:06:00 UTC (rev 3625) @@ -1,5 +1,10 @@ 2008-09-15 Braden McDaniel <br...@en...> + * src/Makefile.am: Made contents of BUILT_SOURCES conditional + based on ENABLE_XEMBED and ENABLE_PLAYER. + +2008-09-15 Braden McDaniel <br...@en...> + Put the VRML97 node implementations into a convenience library for now. Modified: trunk/src/Makefile.am =================================================================== --- trunk/src/Makefile.am 2008-09-15 15:19:05 UTC (rev 3624) +++ trunk/src/Makefile.am 2008-09-15 22:06:00 UTC (rev 3625) @@ -1,20 +1,13 @@ SUBDIRS = script +BUILT_SOURCES = + lib_LTLIBRARIES = libopenvrml/libopenvrml.la noinst_LTLIBRARIES = node/vrml97/libvrml97.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif -if ENABLE_XEMBED -libexec_PROGRAMS = openvrml-xembed/openvrml-xembed -session_bus_services_DATA = openvrml-xembed/org.openvrml.BrowserControl.service -endif - -if ENABLE_PLAYER -bin_PROGRAMS = openvrml-player/openvrml-player -endif - pkginclude_HEADERS = \ libopenvrml/openvrml-config.h \ libopenvrml/openvrml-common.h @@ -322,6 +315,14 @@ $(FREETYPE_LIBS) \ $(PTHREAD_LIBS) +if ENABLE_XEMBED +libexec_PROGRAMS = openvrml-xembed/openvrml-xembed +session_bus_services_DATA = openvrml-xembed/org.openvrml.BrowserControl.service +BUILT_SOURCES += \ + openvrml-xembed/browser-server-glue.h \ + openvrml-xembed/browser-factory-server-glue.h +endif + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ @@ -376,11 +377,6 @@ openvrml-xembed/browser-factory.xml \ openvrml-xembed/browser-host.xml -BUILT_SOURCES = \ - openvrml-xembed/browser-server-glue.h \ - openvrml-xembed/browser-factory-server-glue.h \ - openvrml-player/browser-host-server-glue.h - openvrml-xembed/browser-server-glue.h: $(srcdir)/openvrml-xembed/browser.xml $(LIBTOOL) --mode=execute $(DBUS_BINDING_TOOL) \ --prefix=openvrml_xembed_browser \ @@ -395,6 +391,12 @@ --output=$@ \ $? +if ENABLE_PLAYER +bin_PROGRAMS = openvrml-player/openvrml-player +BUILT_SOURCES += \ + openvrml-player/browser-host-server-glue.h +endif + openvrml_player_openvrml_player_CPPFLAGS = \ -DG_DISABLE_DEPRECATED \ -DGTK_DISABLE_DEPRECATED \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-16 02:22:27
|
Revision: 3627 http://openvrml.svn.sourceforge.net/openvrml/?rev=3627&view=rev Author: braden Date: 2008-09-16 02:22:37 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Define BOOST_SPIRIT_THREADSAFE, BOOST_SPIRIT_CLOSURE_LIMIT, and PHOENIX_LIMIT in openvrml-common.h since we need to ensure these get set for client code. Modified Paths: -------------- trunk/ChangeLog trunk/examples/Makefile.am trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj trunk/ide-projects/Windows/VisualC9_0/OpenVRML/parse-vrml97/parse-vrml97.vcproj trunk/ide-projects/Windows/VisualC9_0/OpenVRML/parse-x3dvrml/parse-x3dvrml.vcproj trunk/ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj trunk/src/Makefile.am trunk/src/libopenvrml/openvrml/vrml97_grammar.h trunk/src/libopenvrml/openvrml-common.h trunk/tests/Makefile.am Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-15 22:13:19 UTC (rev 3626) +++ trunk/ChangeLog 2008-09-16 02:22:37 UTC (rev 3627) @@ -1,5 +1,40 @@ 2008-09-15 Braden McDaniel <br...@en...> + Define BOOST_SPIRIT_THREADSAFE, BOOST_SPIRIT_CLOSURE_LIMIT, and + PHOENIX_LIMIT in openvrml-common.h since we need to ensure these + get set for client code. + + * src/Makefile.am + (libopenvrml_libopenvrml_la_CPPFLAGS): Removed flags defining + BOOST_SPIRIT_THREADSAFE, BOOST_SPIRIT_CLOSURE_LIMIT, and + PHOENIX_LIMIT. + * src/libopenvrml/openvrml/vrml97_grammar.h: Reordered includes to + ensure that openvrml-common.h gets included before Boost headers. + * src/libopenvrml/openvrml-common.h: Define + BOOST_SPIRIT_THREADSAFE, BOOST_SPIRIT_CLOSURE_LIMIT, and + PHOENIX_LIMIT. + * ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj: + Removed flags defining BOOST_SPIRIT_THREADSAFE, + BOOST_SPIRIT_CLOSURE_LIMIT, and PHOENIX_LIMIT. + * ide-projects/Windows/VisualC9_0/OpenVRML/parse-vrml97/parse-vrml97.vcproj: + Removed flags defining BOOST_SPIRIT_THREADSAFE, + BOOST_SPIRIT_CLOSURE_LIMIT, and PHOENIX_LIMIT. + * ide-projects/Windows/VisualC9_0/OpenVRML/parse-x3dvrml/parse-x3dvrml.vcproj: + Removed flags defining BOOST_SPIRIT_THREADSAFE, + BOOST_SPIRIT_CLOSURE_LIMIT, and PHOENIX_LIMIT. + * ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj: + Removed flags defining BOOST_SPIRIT_THREADSAFE, + BOOST_SPIRIT_CLOSURE_LIMIT, and PHOENIX_LIMIT. + * tests/Makefile.am + (AM_CPPFLAGS): Removed flags defining BOOST_SPIRIT_THREADSAFE, + BOOST_SPIRIT_CLOSURE_LIMIT, and PHOENIX_LIMIT. + * examples/Makefile.am + (pretty_print_CPPFLAGS): Removed flags defining + BOOST_SPIRIT_THREADSAFE, BOOST_SPIRIT_CLOSURE_LIMIT, and + PHOENIX_LIMIT. + +2008-09-15 Braden McDaniel <br...@en...> + * src/libopenvrml/openvrml/vrml97node.cpp: Explicitly instantiate std::vector<boost::intrusive_ptr<openvrml::node> >::pop_back. gcc 4.0.1 seems to need this (on Mac OS X 10.5, at least) and it Modified: trunk/examples/Makefile.am =================================================================== --- trunk/examples/Makefile.am 2008-09-15 22:13:19 UTC (rev 3626) +++ trunk/examples/Makefile.am 2008-09-16 02:22:37 UTC (rev 3627) @@ -26,10 +26,7 @@ pretty_print_SOURCES = pretty_print.cpp pretty_print_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ - -I$(top_srcdir)/src/libopenvrml \ - -DBOOST_SPIRIT_THREADSAFE \ - -DBOOST_SPIRIT_CLOSURE_LIMIT=6 \ - -DPHOENIX_LIMIT=6 + -I$(top_srcdir)/src/libopenvrml pretty_print_LDFLAGS = $(OPENVRML_RPATH) pretty_print_LDADD = $(top_builddir)/src/libopenvrml/libopenvrml.la Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj 2008-09-15 22:13:19 UTC (rev 3626) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj 2008-09-16 02:22:37 UTC (rev 3627) @@ -42,7 +42,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml" - PreprocessorDefinitions="NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;PACKAGE_VERSION=\"0.17.8\";BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;OPENVRML_BUILD_DLL;OPENVRML_ENABLE_PNG_TEXTURES;OPENVRML_ENABLE_RENDER_TEXT_NODE;OPENVRML_FT_CONST="const";OPENVRML_PKGDATADIR_=\"\";OPENVRML_PKGLIBDIR_=\"\"" + PreprocessorDefinitions="NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PACKAGE_VERSION=\"0.17.8\";BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;OPENVRML_BUILD_DLL;OPENVRML_ENABLE_PNG_TEXTURES;OPENVRML_ENABLE_RENDER_TEXT_NODE;OPENVRML_FT_CONST="const";OPENVRML_PKGDATADIR_=\"\";OPENVRML_PKGLIBDIR_=\"\"" MinimalRebuild="false" BasicRuntimeChecks="0" RuntimeLibrary="3" @@ -127,7 +127,7 @@ InlineFunctionExpansion="1" OmitFramePointers="true" AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml" - PreprocessorDefinitions="NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;BOOST_SPIRIT_THREADSAFE;PACKAGE_VERSION=\"0.17.8\";BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;OPENVRML_BUILD_DLL;OPENVRML_ENABLE_PNG_TEXTURES;OPENVRML_ENABLE_RENDER_TEXT_NODE;OPENVRML_FT_CONST="const";OPENVRML_PKGDATADIR_=\"\";OPENVRML_PKGLIBDIR_=\"\";NDEBUG" + PreprocessorDefinitions="NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PACKAGE_VERSION=\"0.17.8\";BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;OPENVRML_BUILD_DLL;OPENVRML_ENABLE_PNG_TEXTURES;OPENVRML_ENABLE_RENDER_TEXT_NODE;OPENVRML_FT_CONST="const";OPENVRML_PKGDATADIR_=\"\";OPENVRML_PKGLIBDIR_=\"\";NDEBUG" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/parse-vrml97/parse-vrml97.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/parse-vrml97/parse-vrml97.vcproj 2008-09-15 22:13:19 UTC (rev 3626) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/parse-vrml97/parse-vrml97.vcproj 2008-09-16 02:22:37 UTC (rev 3627) @@ -42,7 +42,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;OPENVRML_USE_DLL" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;OPENVRML_USE_DLL" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/parse-x3dvrml/parse-x3dvrml.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/parse-x3dvrml/parse-x3dvrml.vcproj 2008-09-15 22:13:19 UTC (rev 3626) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/parse-x3dvrml/parse-x3dvrml.vcproj 2008-09-16 02:22:37 UTC (rev 3627) @@ -42,7 +42,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;OPENVRML_USE_DLL" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;OPENVRML_USE_DLL" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -119,7 +119,7 @@ InlineFunctionExpansion="1" OmitFramePointers="true" AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;OPENVRML_USE_DLL" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;OPENVRML_USE_DLL" RuntimeLibrary="2" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj 2008-09-15 22:13:19 UTC (rev 3626) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/pretty-print/pretty-print.vcproj 2008-09-16 02:22:37 UTC (rev 3627) @@ -42,7 +42,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;OPENVRML_USE_DLL" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;OPENVRML_USE_DLL" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -118,7 +118,7 @@ Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;OPENVRML_USE_DLL" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;OPENVRML_USE_DLL" RuntimeLibrary="2" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" Modified: trunk/src/Makefile.am =================================================================== --- trunk/src/Makefile.am 2008-09-15 22:13:19 UTC (rev 3626) +++ trunk/src/Makefile.am 2008-09-16 02:22:37 UTC (rev 3627) @@ -89,10 +89,7 @@ -DOPENVRML_PKGDATADIR_=\"$(pkgdatadir)\" \ -DOPENVRML_PKGLIBDIR_=\"$(pkglibdir)\" \ -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS \ - -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 \ - -DBOOST_SPIRIT_THREADSAFE \ - -DBOOST_SPIRIT_CLOSURE_LIMIT=6 \ - -DPHOENIX_LIMIT=6 + -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 libopenvrml_libopenvrml_la_CXXFLAGS = \ $(FREETYPE_CFLAGS) \ $(PTHREAD_CFLAGS) \ Modified: trunk/src/libopenvrml/openvrml/vrml97_grammar.h =================================================================== --- trunk/src/libopenvrml/openvrml/vrml97_grammar.h 2008-09-15 22:13:19 UTC (rev 3626) +++ trunk/src/libopenvrml/openvrml/vrml97_grammar.h 2008-09-16 02:22:37 UTC (rev 3627) @@ -21,13 +21,13 @@ # ifndef OPENVRML_VRML97_GRAMMAR_H # define OPENVRML_VRML97_GRAMMAR_H -# include <stack> +# include <openvrml/browser.h> # include <boost/spirit.hpp> # include <boost/spirit/actor.hpp> # include <boost/spirit/dynamic.hpp> # include <boost/spirit/phoenix.hpp> # include <boost/test/floating_point_comparison.hpp> -# include <openvrml/browser.h> +# include <stack> namespace openvrml { Modified: trunk/src/libopenvrml/openvrml-common.h =================================================================== --- trunk/src/libopenvrml/openvrml-common.h 2008-09-15 22:13:19 UTC (rev 3626) +++ trunk/src/libopenvrml/openvrml-common.h 2008-09-16 02:22:37 UTC (rev 3627) @@ -2,7 +2,7 @@ // // OpenVRML // -// Copyright 2005, 2006, 2007 Braden McDaniel +// Copyright 2005, 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 @@ -23,6 +23,18 @@ # include <openvrml-config.h> +# ifndef BOOST_SPIRIT_THREADSAFE +# define BOOST_SPIRIT_THREADSAFE +# endif + +# ifndef BOOST_SPIRIT_CLOSURE_LIMIT +# define BOOST_SPIRIT_CLOSURE_LIMIT 6 +# endif + +# ifndef PHOENIX_LIMIT +# define PHOENIX_LIMIT 6 +# endif + # if OPENVRML_ENABLE_EXCEPTION_SPECS # define OPENVRML_NOTHROW throw () # define OPENVRML_THROW1(ex_) throw (ex_) Modified: trunk/tests/Makefile.am =================================================================== --- trunk/tests/Makefile.am 2008-09-15 22:13:19 UTC (rev 3626) +++ trunk/tests/Makefile.am 2008-09-16 02:22:37 UTC (rev 3627) @@ -1,9 +1,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ - -DBOOST_SPIRIT_THREADSAFE \ - -DBOOST_SPIRIT_CLOSURE_LIMIT=6 \ - -DPHOENIX_LIMIT=6 \ -DBOOST_TEST_DYN_LINK AM_CXXFLAGS = $(PTHREAD_CFLAGS) AM_LDFLAGS = $(OPENVRML_RPATH) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-16 04:22:35
|
Revision: 3628 http://openvrml.svn.sourceforge.net/openvrml/?rev=3628&view=rev Author: braden Date: 2008-09-16 04:22:45 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Moved VRML97 node implementations to a static library in the Visual C++ solution. Modified Paths: -------------- trunk/ChangeLog trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj trunk/src/libopenvrml-gl/openvrml/gl/viewer.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/vrml97/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/vrml97/vrml97.vcproj Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-16 02:22:37 UTC (rev 3627) +++ trunk/ChangeLog 2008-09-16 04:22:45 UTC (rev 3628) @@ -1,3 +1,12 @@ +2008-09-16 Braden McDaniel <br...@en...> + + Moved VRML97 node implementations to a static library in the + Visual C++ solution. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln + * ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj + * ide-projects/Windows/VisualC9_0/OpenVRML/vrml97/vrml97.vcproj + 2008-09-15 Braden McDaniel <br...@en...> Define BOOST_SPIRIT_THREADSAFE, BOOST_SPIRIT_CLOSURE_LIMIT, and Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-16 02:22:37 UTC (rev 3627) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-16 04:22:45 UTC (rev 3628) @@ -1,6 +1,9 @@ Microsoft Visual Studio Solution File, Format Version 10.00 # Visual C++ Express 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvrml", "openvrml\openvrml.vcproj", "{E5287CD2-4BAC-4341-AF28-A1F9C0F5949C}" + ProjectSection(ProjectDependencies) = postProject + {5ED398C0-0529-40D5-AB2C-C7EF0769002B} = {5ED398C0-0529-40D5-AB2C-C7EF0769002B} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvrml-gl", "openvrml-gl\openvrml-gl.vcproj", "{141F90C2-6630-4D7A-834F-D5D57C6CFC24}" ProjectSection(ProjectDependencies) = postProject @@ -34,6 +37,8 @@ {E5287CD2-4BAC-4341-AF28-A1F9C0F5949C} = {E5287CD2-4BAC-4341-AF28-A1F9C0F5949C} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vrml97", "vrml97\vrml97.vcproj", "{5ED398C0-0529-40D5-AB2C-C7EF0769002B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -68,6 +73,10 @@ {EFCFAB14-FC2B-4816-AD49-DC0E6F4D04E1}.Debug|Win32.Build.0 = Debug|Win32 {EFCFAB14-FC2B-4816-AD49-DC0E6F4D04E1}.Release|Win32.ActiveCfg = Release|Win32 {EFCFAB14-FC2B-4816-AD49-DC0E6F4D04E1}.Release|Win32.Build.0 = Release|Win32 + {5ED398C0-0529-40D5-AB2C-C7EF0769002B}.Debug|Win32.ActiveCfg = Debug|Win32 + {5ED398C0-0529-40D5-AB2C-C7EF0769002B}.Debug|Win32.Build.0 = Debug|Win32 + {5ED398C0-0529-40D5-AB2C-C7EF0769002B}.Release|Win32.ActiveCfg = Release|Win32 + {5ED398C0-0529-40D5-AB2C-C7EF0769002B}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj 2008-09-16 02:22:37 UTC (rev 3627) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj 2008-09-16 04:22:45 UTC (rev 3628) @@ -42,7 +42,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml" - PreprocessorDefinitions="NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PACKAGE_VERSION=\"0.17.8\";BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;OPENVRML_BUILD_DLL;OPENVRML_ENABLE_PNG_TEXTURES;OPENVRML_ENABLE_RENDER_TEXT_NODE;OPENVRML_FT_CONST="const";OPENVRML_PKGDATADIR_=\"\";OPENVRML_PKGLIBDIR_=\"\"" + PreprocessorDefinitions="NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PACKAGE_VERSION=\"0.17.8\";BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;OPENVRML_BUILD_DLL;OPENVRML_PKGDATADIR_=\"\";OPENVRML_PKGLIBDIR_=\"\"" MinimalRebuild="false" BasicRuntimeChecks="0" RuntimeLibrary="3" @@ -127,7 +127,7 @@ InlineFunctionExpansion="1" OmitFramePointers="true" AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml" - PreprocessorDefinitions="NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PACKAGE_VERSION=\"0.17.8\";BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;OPENVRML_BUILD_DLL;OPENVRML_ENABLE_PNG_TEXTURES;OPENVRML_ENABLE_RENDER_TEXT_NODE;OPENVRML_FT_CONST="const";OPENVRML_PKGDATADIR_=\"\";OPENVRML_PKGLIBDIR_=\"\";NDEBUG" + PreprocessorDefinitions="NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PACKAGE_VERSION=\"0.17.8\";BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;OPENVRML_BUILD_DLL;OPENVRML_PKGDATADIR_=\"\";OPENVRML_PKGLIBDIR_=\"\";NDEBUG" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -191,22 +191,6 @@ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm" > <File - RelativePath="..\..\..\..\..\src\node\vrml97\anchor.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\appearance.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\audio_clip.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\background.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\basetypes.cpp" > <FileConfiguration @@ -219,18 +203,10 @@ </FileConfiguration> </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\billboard.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\bounding_volume.cpp" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\box.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\browser.cpp" > <FileConfiguration @@ -244,54 +220,6 @@ </FileConfiguration> </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\cad_assembly.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\cad_layer.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\collision.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\color.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\color_interpolator.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\cone.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\coordinate.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\coordinate_interpolator.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\cylinder.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\cylinder_sensor.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\directional_light.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\elevation_grid.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\event.cpp" > </File> @@ -300,66 +228,14 @@ > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\extrusion.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\field_value.cpp" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\fog.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\font_style.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\frustum.cpp" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\group.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\image_stream_listener.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\image_texture.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\indexed_face_set.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\indexed_line_set.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\inline.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\lod.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\material.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\movie_texture.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\navigation_info.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\node.cpp" > </File> @@ -368,42 +244,6 @@ > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\normal.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\normal_interpolator.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\orientation_interpolator.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\pixel_texture.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\plane_sensor.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\point_light.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\point_set.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\position_interpolator.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\proximity_sensor.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\read_write_mutex.cpp" > </File> @@ -412,74 +252,14 @@ > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\scalar_interpolator.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\scope.cpp" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\shape.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\sound.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\sphere.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\sphere_sensor.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\spot_light.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\switch.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\text.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\texture_coordinate.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\texture_transform.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\time_sensor.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\touch_sensor.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\transform.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\viewer.cpp" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\viewpoint.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\visibility_sensor.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\vrml97_grammar.cpp" > </File> @@ -491,7 +271,6 @@ > <Tool Name="VCCLCompilerTool" - AdditionalOptions="/bigobj" AdditionalIncludeDirectories="..\..\..\..\..\src\node" MinimalRebuild="false" DebugInformationFormat="1" @@ -509,10 +288,6 @@ </FileConfiguration> </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\world_info.cpp" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\x3d_cad_geometry.cpp" > </File> @@ -582,106 +357,22 @@ Filter="h;hpp;hxx;hm;inl;inc" > <File - RelativePath="..\..\..\..\..\src\node\vrml97\abstract_indexed_set.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\abstract_light.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\abstract_texture.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\anchor.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\appearance.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\audio_clip.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\background.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\basetypes.h" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\billboard.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\bounding_volume.h" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\box.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\browser.h" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\cad_assembly.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\cad_layer.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\collision.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\color.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\color_interpolator.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\common.h" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\cone.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\coordinate.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\coordinate_interpolator.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\cylinder.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\cylinder_sensor.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\directional_light.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\elevation_grid.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\event.h" > </File> @@ -690,70 +381,14 @@ > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\extrusion.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\field_value.h" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\fog.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\font_style.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\frustum.h" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\group.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\grouping_node_base.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\image_stream_listener.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\image_texture.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\indexed_face_set.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\indexed_line_set.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\inline.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\lod.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\material.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\movie_texture.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\navigation_info.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\node.h" > </File> @@ -762,14 +397,6 @@ > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\normal.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\normal_interpolator.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml-common.h" > </File> @@ -778,38 +405,10 @@ > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\orientation_interpolator.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\pixel_texture.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\plane_sensor.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\point_light.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\point_set.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\position_interpolator.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\private.h" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\proximity_sensor.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\read_write_mutex.h" > </File> @@ -818,10 +417,6 @@ > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\scalar_interpolator.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\scope.h" > </File> @@ -830,66 +425,10 @@ > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\shape.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\sound.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\sphere.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\sphere_sensor.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\spot_light.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\switch.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\text.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\texture_coordinate.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\texture_transform.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\time_sensor.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\touch_sensor.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\transform.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\viewer.h" > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\viewpoint.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\vrml97\visibility_sensor.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\vrml97_grammar.h" > </File> @@ -898,10 +437,6 @@ > </File> <File - RelativePath="..\..\..\..\..\src\node\vrml97\world_info.h" - > - </File> - <File RelativePath="..\..\..\..\..\src\libopenvrml\openvrml\x3d_cad_geometry.h" > </File> Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/vrml97 ___________________________________________________________________ Added: svn:ignore + Debug Release vrml97.vcproj.*.user Added: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/vrml97/vrml97.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/vrml97/vrml97.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/vrml97/vrml97.vcproj 2008-09-16 04:22:45 UTC (rev 3628) @@ -0,0 +1,635 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="vrml97" + ProjectGUID="{5ED398C0-0529-40D5-AB2C-C7EF0769002B}" + RootNamespace="vrml97" + Keyword="Win32Proj" + TargetFrameworkVersion="196613" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="4" + CharacterSet="2" + > + <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;NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;OPENVRML_BUILD_DLL;OPENVRML_FT_CONST="const";OPENVRML_ENABLE_PNG_TEXTURES;OPENVRML_ENABLE_RENDER_TEXT_NODE" + MinimalRebuild="false" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + DebugInformationFormat="4" + DisableSpecificWarnings="4250;4251;4275;4355;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;NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;OPENVRML_BUILD_DLL;OPENVRML_FT_CONST="const";OPENVRML_ENABLE_PNG_TEXTURES;OPENVRML_ENABLE_RENDER_TEXT_NODE" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" + UsePrecompiledHeader="0" + WarningLevel="3" + DebugInformationFormat="3" + DisableSpecificWarnings="4250;4251;4275;4355;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\vrml97\anchor.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\appearance.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\audio_clip.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\background.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\billboard.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\box.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\cad_assembly.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\cad_layer.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\collision.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\color.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\color_interpolator.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\cone.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\coordinate.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\coordinate_interpolator.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\cylinder.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\cylinder_sensor.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\directional_light.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\elevation_grid.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\extrusion.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\fog.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\font_style.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\group.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\image_stream_listener.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\image_texture.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\indexed_face_set.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\indexed_line_set.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\inline.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\lod.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\material.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\movie_texture.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\navigation_info.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\normal.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\normal_interpolator.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\orientation_interpolator.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\pixel_texture.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\plane_sensor.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\point_light.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\point_set.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\position_interpolator.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\proximity_sensor.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\scalar_interpolator.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\shape.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\sound.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\sphere.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\sphere_sensor.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\spot_light.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\switch.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\text.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\texture_coordinate.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\texture_transform.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\time_sensor.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\touch_sensor.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\transform.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\viewpoint.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\visibility_sensor.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\world_info.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\vrml97\abstract_indexed_set.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\abstract_light.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\abstract_texture.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\anchor.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\appearance.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\audio_clip.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\background.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\billboard.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\box.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\cad_assembly.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\cad_layer.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\collision.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\color.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\color_interpolator.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\cone.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\coordinate.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\coordinate_interpolator.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\cylinder.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\cylinder_sensor.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\directional_light.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\elevation_grid.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\extrusion.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\fog.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\font_style.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\group.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\grouping_node_base.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\image_stream_listener.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\image_texture.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\indexed_face_set.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\indexed_line_set.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\inline.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\lod.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\material.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\movie_texture.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\navigation_info.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\normal.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\normal_interpolator.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\orientation_interpolator.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\pixel_texture.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\plane_sensor.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\point_light.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\point_set.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\position_interpolator.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\proximity_sensor.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\scalar_interpolator.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\shape.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\sound.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\sphere.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\sphere_sensor.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\spot_light.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\switch.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\text.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\texture_coordinate.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\texture_transform.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\time_sensor.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\touch_sensor.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\transform.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\viewpoint.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\visibility_sensor.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\vrml97\world_info.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> Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/vrml97/vrml97.vcproj ___________________________________________________________________ Added: svn:executable + * Added: svn:eol-style + CRLF Modified: trunk/src/libopenvrml-gl/openvrml/gl/viewer.cpp =================================================================== --- trunk/src/libopenvrml-gl/openvrml/gl/viewer.cpp 2008-09-16 02:22:37 UTC (rev 3627) +++ trunk/src/libopenvrml-gl/openvrml/gl/viewer.cpp 2008-09-16 04:22:45 UTC (rev 3628) @@ -2564,6 +2564,7 @@ if (!this->select_mode) { glid = glGenLists(1); + std::cerr << "do_insert_extrusion: glid = " << glid << std::endl; glNewList(glid, GL_COMPILE_AND_EXECUTE); } @@ -2789,9 +2790,10 @@ OPENVRML_GL_LOCAL void insertShellConvex(ShellData * const s) { using openvrml::vec3f; + using openvrml::make_vec3f; using openvrml::gl::viewer; - vec3f N; + vec3f N = make_vec3f(); size_t i, nf = 0; // Number of faces for (i = 0; i < s->coordIndex.size(); ++i) { @@ -3195,6 +3197,7 @@ if (!this->select_mode) { glid = glGenLists(1); + std::cerr << "do_insert_sphere: glid = " << glid << std::endl; glNewList(glid, GL_COMPILE_AND_EXECUTE); } @@ -3810,7 +3813,7 @@ glMatrixMode(GL_PROJECTION); if (!this->select_mode) { glLoadIdentity(); } - (field_of_view *= 180.0) /= pi; + (field_of_view *= 180.0) /= float(pi); const float aspect = float(this->win_width) / this->win_height; const float znear = (avatar_size > 0.0) ? float(0.5 * avatar_size) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-16 04:43:11
|
Revision: 3630 http://openvrml.svn.sourceforge.net/openvrml/?rev=3630&view=rev Author: braden Date: 2008-09-16 04:43:19 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Moved X3D Core node implementations into a convenience library. Modified Paths: -------------- trunk/ChangeLog trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj trunk/src/Makefile.am trunk/src/libopenvrml/openvrml/x3d_core.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj trunk/src/node/x3d-core/ 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 Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj 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 Property Changed: ---------------- trunk/ Property changes on: trunk ___________________________________________________________________ Added: svn:mergeinfo + /branches/node-modules:3622-3623 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-16 04:26:43 UTC (rev 3629) +++ trunk/ChangeLog 2008-09-16 04:43:19 UTC (rev 3630) @@ -1,5 +1,28 @@ 2008-09-16 Braden McDaniel <br...@en...> + Moved X3D Core node implementations into a convenience library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-core static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj + * src/Makefile.am: Added convenience library + node/x3d-core/libx3d-core.la. + * src/libopenvrml/openvrml/x3d_core.cpp: Moved node + implementations to separate files. + * src/node/x3d-core/metadata_double.cpp + * src/node/x3d-core/metadata_double.h + * src/node/x3d-core/metadata_float.cpp + * src/node/x3d-core/metadata_float.h + * src/node/x3d-core/metadata_integer.cpp + * src/node/x3d-core/metadata_integer.h + * src/node/x3d-core/metadata_set.cpp + * src/node/x3d-core/metadata_set.h + * src/node/x3d-core/metadata_string.cpp + * src/node/x3d-core/metadata_string.h + +2008-09-16 Braden McDaniel <br...@en...> + Moved VRML97 node implementations to a static library in the Visual C++ solution. Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-16 04:26:43 UTC (rev 3629) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-16 04:43:19 UTC (rev 3630) @@ -3,6 +3,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvrml", "openvrml\openvrml.vcproj", "{E5287CD2-4BAC-4341-AF28-A1F9C0F5949C}" ProjectSection(ProjectDependencies) = postProject {5ED398C0-0529-40D5-AB2C-C7EF0769002B} = {5ED398C0-0529-40D5-AB2C-C7EF0769002B} + {78133A10-3ADF-474C-B32A-74124A976482} = {78133A10-3ADF-474C-B32A-74124A976482} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvrml-gl", "openvrml-gl\openvrml-gl.vcproj", "{141F90C2-6630-4D7A-834F-D5D57C6CFC24}" @@ -39,6 +40,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vrml97", "vrml97\vrml97.vcproj", "{5ED398C0-0529-40D5-AB2C-C7EF0769002B}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-core", "x3d-core\x3d-core.vcproj", "{78133A10-3ADF-474C-B32A-74124A976482}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -77,6 +80,10 @@ {5ED398C0-0529-40D5-AB2C-C7EF0769002B}.Debug|Win32.Build.0 = Debug|Win32 {5ED398C0-0529-40D5-AB2C-C7EF0769002B}.Release|Win32.ActiveCfg = Release|Win32 {5ED398C0-0529-40D5-AB2C-C7EF0769002B}.Release|Win32.Build.0 = Release|Win32 + {78133A10-3ADF-474C-B32A-74124A976482}.Debug|Win32.ActiveCfg = Debug|Win32 + {78133A10-3ADF-474C-B32A-74124A976482}.Debug|Win32.Build.0 = Debug|Win32 + {78133A10-3ADF-474C-B32A-74124A976482}.Release|Win32.ActiveCfg = Release|Win32 + {78133A10-3ADF-474C-B32A-74124A976482}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj 2008-09-16 04:26:43 UTC (rev 3629) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/openvrml/openvrml.vcproj 2008-09-16 04:43:19 UTC (rev 3630) @@ -41,7 +41,7 @@ <Tool Name="VCCLCompilerTool" Optimization="0" - AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml" + AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml;..\..\..\..\..\src\node" PreprocessorDefinitions="NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PACKAGE_VERSION=\"0.17.8\";BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;OPENVRML_BUILD_DLL;OPENVRML_PKGDATADIR_=\"\";OPENVRML_PKGLIBDIR_=\"\"" MinimalRebuild="false" BasicRuntimeChecks="0" @@ -126,7 +126,7 @@ Optimization="3" InlineFunctionExpansion="1" OmitFramePointers="true" - AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml" + AdditionalIncludeDirectories=".;..\..\..\..\..\src\libopenvrml;..\..\..\..\..\src\node" PreprocessorDefinitions="NOMINMAX;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;PACKAGE_VERSION=\"0.17.8\";BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS;BOOST_MPL_LIMIT_VECTOR_SIZE=30;OPENVRML_BUILD_DLL;OPENVRML_PKGDATADIR_=\"\";OPENVRML_PKGLIBDIR_=\"\";NDEBUG" StringPooling="true" RuntimeLibrary="2" Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-core.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj 2008-09-15 14:56:33 UTC (rev 3623) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj 2008-09-16 04:43:19 UTC (rev 3630) @@ -1,212 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-core" - ProjectGUID="{78133A10-3ADF-474C-B32A-74124A976482}" - RootNamespace="x3dcore" - 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" - WholeProgramOptimization="0" - > - <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;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;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;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;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-core\metadata_double.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_float.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_integer.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_set.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_string.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-core\metadata_double.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_float.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_integer.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_set.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_string.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-core/x3d-core.vcproj (from rev 3623, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj 2008-09-16 04:43:19 UTC (rev 3630) @@ -0,0 +1,212 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-core" + ProjectGUID="{78133A10-3ADF-474C-B32A-74124A976482}" + RootNamespace="x3dcore" + 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" + WholeProgramOptimization="0" + > + <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;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;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;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;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-core\metadata_double.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_float.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_integer.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_set.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_string.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-core\metadata_double.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_float.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_integer.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_set.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-core\metadata_string.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-16 04:26:43 UTC (rev 3629) +++ trunk/src/Makefile.am 2008-09-16 04:43:19 UTC (rev 3630) @@ -3,7 +3,9 @@ BUILT_SOURCES = lib_LTLIBRARIES = libopenvrml/libopenvrml.la -noinst_LTLIBRARIES = node/vrml97/libvrml97.la +noinst_LTLIBRARIES = \ + node/vrml97/libvrml97.la \ + node/x3d-core/libx3d-core.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -136,6 +138,7 @@ libopenvrml_libopenvrml_la_LIBADD = \ node/vrml97/libvrml97.la \ + node/x3d-core/libx3d-core.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -312,13 +315,24 @@ $(FREETYPE_LIBS) \ $(PTHREAD_LIBS) -if ENABLE_XEMBED -libexec_PROGRAMS = openvrml-xembed/openvrml-xembed -session_bus_services_DATA = openvrml-xembed/org.openvrml.BrowserControl.service -BUILT_SOURCES += \ - openvrml-xembed/browser-server-glue.h \ - openvrml-xembed/browser-factory-server-glue.h -endif +node_x3d_core_libx3d_core_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml \ + -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS \ + -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 +node_x3d_core_libx3d_core_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_core_libx3d_core_la_SOURCES = \ + node/x3d-core/metadata_double.cpp \ + node/x3d-core/metadata_double.h \ + node/x3d-core/metadata_float.cpp \ + node/x3d-core/metadata_float.h \ + node/x3d-core/metadata_integer.cpp \ + node/x3d-core/metadata_integer.h \ + node/x3d-core/metadata_set.cpp \ + node/x3d-core/metadata_set.h \ + node/x3d-core/metadata_string.cpp \ + node/x3d-core/metadata_string.h libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ @@ -333,6 +347,13 @@ $(GLU_LIBS) libopenvrml_gl_libopenvrml_gl_la_LIBADD = libopenvrml/libopenvrml.la +if ENABLE_XEMBED +libexec_PROGRAMS = openvrml-xembed/openvrml-xembed +session_bus_services_DATA = openvrml-xembed/org.openvrml.BrowserControl.service +BUILT_SOURCES += \ + openvrml-xembed/browser-server-glue.h \ + openvrml-xembed/browser-factory-server-glue.h +endif openvrml_xembed_openvrml_xembed_CPPFLAGS = \ -I$(top_builddir)/src/openvrml-xembed \ -I$(top_srcdir)/lib/gtkglext \ Modified: trunk/src/libopenvrml/openvrml/x3d_core.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_core.cpp 2008-09-16 04:26:43 UTC (rev 3629) +++ trunk/src/libopenvrml/openvrml/x3d_core.cpp 2008-09-16 04:43:19 UTC (rev 3630) @@ -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,116 +18,23 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include "x3d_core.h" +# include <x3d-core/metadata_double.h> +# include <x3d-core/metadata_float.h> +# include <x3d-core/metadata_integer.h> +# include <x3d-core/metadata_set.h> +# include <x3d-core/metadata_string.h> +# include <openvrml/browser.h> + # ifdef HAVE_CONFIG_H # include <config.h> # endif -# include <boost/array.hpp> -# include "browser.h" -# include "node_impl_util.h" -# include "x3d_core.h" - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - - -namespace { - - /** - * @brief Class object for MetadataDouble nodes. - */ - class OPENVRML_LOCAL metadata_double_metatype : public node_metatype { - public: - static const char * const id; - - explicit metadata_double_metatype(openvrml::browser & browser); - virtual ~metadata_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 MetadataFloat nodes. - */ - class OPENVRML_LOCAL metadata_float_metatype : public node_metatype { - public: - static const char * const id; - - explicit metadata_float_metatype(openvrml::browser & browser); - virtual ~metadata_float_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 MetadataInteger nodes. - */ - class OPENVRML_LOCAL metadata_integer_metatype : public node_metatype { - public: - static const char * const id; - - explicit metadata_integer_metatype(openvrml::browser & browser); - virtual ~metadata_integer_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 MetadataSet nodes. - */ - class OPENVRML_LOCAL metadata_set_metatype : public node_metatype { - public: - static const char * const id; - - explicit metadata_set_metatype(openvrml::browser & browser); - virtual ~metadata_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 MetadataString nodes. - */ - class OPENVRML_LOCAL metadata_string_metatype : public node_metatype { - public: - static const char * const id; - - explicit metadata_string_metatype(openvrml::browser & browser); - virtual ~metadata_string_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_core_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; + using namespace openvrml_node_x3d_core; b.add_node_metatype(metadata_double_metatype::id, shared_ptr<node_metatype>( new metadata_double_metatype(b))); @@ -144,816 +51,3 @@ shared_ptr<node_metatype>( new metadata_string_metatype(b))); } - -namespace { - - class OPENVRML_LOCAL metadata_double_node : - public abstract_node<metadata_double_node> { - - friend class metadata_double_metatype; - - exposedfield<sfstring> name_; - exposedfield<sfstring> reference_; - exposedfield<mfdouble> value_; - - public: - metadata_double_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~metadata_double_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL metadata_float_node : - public abstract_node<metadata_float_node> { - - friend class metadata_float_metatype; - - exposedfield<sfstring> name_; - exposedfield<sfstring> reference_; - exposedfield<mffloat> value_; - - public: - metadata_float_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~metadata_float_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL metadata_integer_node : - public abstract_node<metadata_integer_node> { - - friend class metadata_integer_metatype; - - exposedfield<sfstring> name_; - exposedfield<sfstring> reference_; - exposedfield<mfint32> value_; - - public: - metadata_integer_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~metadata_integer_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL metadata_set_node : - public abstract_node<metadata_set_node> { - - friend class metadata_set_metatype; - - exposedfield<sfstring> name_; - exposedfield<sfstring> reference_; - exposedfield<mfnode> value_; - - public: - metadata_set_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~metadata_set_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL metadata_string_node : - public abstract_node<metadata_string_node> { - - friend class metadata_string_metatype; - - exposedfield<sfstring> name_; - exposedfield<sfstring> reference_; - exposedfield<mfstring> value_; - - public: - metadata_string_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~metadata_string_node() OPENVRML_NOTHROW; - }; - - - /** - * @brief @c node_metatype identifier. - */ - const char * const metadata_double_metatype::id = - "urn:X-openvrml:node:MetadataDouble"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c metadata_double_metatype. - */ - metadata_double_metatype::metadata_double_metatype(openvrml::browser & browser): - node_metatype(metadata_double_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - metadata_double_metatype::~metadata_double_metatype() OPENVRML_NOTHROW - {} - - /** - * @brief Create a @c node_type. - * - * @param id the name for the new @c node_type. - * @param interfaces the interfaces for the new @c node_type. - * - * @return a @c node_type capable of creating MetadataDouble nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by - * @c metadata_double_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - metadata_double_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::exposedfield_id, - field_value::sfstring_id, - "name"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "reference"), - node_interface(node_interface::exposedfield_id, - field_value::mfdouble_id, - "value") - }; - typedef node_type_impl<metadata_double_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, - &metadata_double_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_double_node::name_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_double_node::reference_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_double_node::value_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const metadata_float_metatype::id = - "urn:X-openvrml:node:MetadataFloat"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c metadata_float_metatype. - */ - metadata_float_metatype::metadata_float_metatype(openvrml::browser & browser): - node_metatype(metadata_float_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - metadata_float_metatype::~metadata_float_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 MetadataFloat nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by metadata_float_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - metadata_float_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::exposedfield_id, - field_value::sfstring_id, - "name"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "reference"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "value") - }; - typedef node_type_impl<metadata_float_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, - &metadata_float_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_float_node::name_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_float_node::reference_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_float_node::value_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const metadata_integer_metatype::id = - "urn:X-openvrml:node:MetadataInteger"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c metadata_integer_metatype. - */ - metadata_integer_metatype:: - metadata_integer_metatype(openvrml::browser & browser): - node_metatype(metadata_integer_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - metadata_integer_metatype::~metadata_integer_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 MetadataInteger nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by metadata_integer_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - metadata_integer_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::exposedfield_id, - field_value::sfstring_id, - "name"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "reference"), - node_interface(node_interface::exposedfield_id, - field_value::mfint32_id, - "value") - }; - typedef node_type_impl<metadata_integer_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, - &metadata_integer_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_integer_node::name_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_integer_node::reference_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_integer_node::value_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - /** - * @brief @c node_metatype identifier. - */ - const char * const metadata_set_metatype::id = - "urn:X-openvrml:node:MetadataSet"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c metadata_set_metatype. - */ - metadata_set_metatype::metadata_set_metatype(openvrml::browser & browser): - node_metatype(metadata_set_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - metadata_set_metatype::~metadata_set_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 MetadataSet nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by metadata_set_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - metadata_set_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::exposedfield_id, - field_value::sfstring_id, - "name"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "reference"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "value") - }; - typedef node_type_impl<metadata_set_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, - &metadata_set_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_set_node::name_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_set_node::reference_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_set_node::value_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const metadata_string_metatype::id = - "urn:X-openvrml:node:MetadataString"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c metadata_string_metatype. - */ - metadata_string_metatype::metadata_string_metatype(openvrml::browser & browser): - node_metatype(metadata_string_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - metadata_string_metatype::~metadata_string_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 MetadataString nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by metadata_string_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - metadata_string_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::exposedfield_id, - field_value::sfstring_id, - "name"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "reference"), - node_interface(node_interface::exposedfield_id, - field_value::mfstring_id, - "value") - }; - typedef node_type_impl<metadata_string_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, - &metadata_string_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_string_node::name_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_string_node::reference_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_string_node::value_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @class metadata_double_node - * - * @brief Represents MetadataDouble node instances. - */ - - /** - * @var metadata_double_node::metadata_double_metatype - * - * @brief Class object for MetadataDouble nodes. - */ - - /** - * @var metadata_double_node::name_ - * - * @brief name exposedField - */ - - /** - * @var metadata_double_node::reference_ - * - * @brief reference exposedField - */ - - /** - * @var metadata_double_node::value_ - * - * @brief value exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - metadata_double_node:: - metadata_double_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - name_(*this), - reference_(*this), - value_(*this) - {} - - /** - * @brief Destroy. - */ - metadata_double_node::~metadata_double_node() OPENVRML_NOTHROW - {} - - - /** - * @class metadata_float_node - * - * @brief Represents MetadataFloat node instances. - */ - - /** - * @var metadata_float_node::metadata_float_metatype - * - * @brief Class object for MetadataFloat nodes. - */ - - /** - * @var metadata_float_node::name_ - * - * @brief name exposedField - */ - - /** - * @var metadata_float_node::reference_ - * - * @brief reference exposedField - */ - - /** - * @var metadata_float_node::value_ - * - * @brief value exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - metadata_float_node:: - metadata_float_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - name_(*this), - reference_(*this), - value_(*this) - {} - - /** - * @brief Destroy. - */ - metadata_float_node::~metadata_float_node() OPENVRML_NOTHROW - {} - - - /** - * @class metadata_integer_node - * - * @brief Represents MetadataInteger node instances. - */ - - /** - * @var metadata_integer_node::metadata_integer_metatype - * - * @brief Class object for MetadataInteger nodes. - */ - - /** - * @var metadata_integer_node::name_ - * - * @brief name exposedField - */ - - /** - * @var metadata_integer_node::reference_ - * - * @brief reference exposedField - */ - - /** - * @var metadata_integer_node::value_ - * - * @brief value exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - metadata_integer_node:: - metadata_integer_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - name_(*this), - reference_(*this), - value_(*this) - {} - - /** - * @brief Destroy. - */ - metadata_integer_node::~metadata_integer_node() OPENVRML_NOTHROW - {} - - - /** - * @class metadata_set_node - * - * @brief Represents MetadataSet node instances. - */ - - /** - * @var metadata_set_node::metadata_set_metatype - * - * @brief Class object for MetadataSet nodes. - */ - - /** - * @var metadata_set_node::name_ - * - * @brief name exposedField - */ - - /** - * @var metadata_set_node::reference_ - * - * @brief reference exposedField - */ - - /** - * @var metadata_set_node::value_ - * - * @brief value exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - metadata_set_node:: - metadata_set_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - name_(*this), - reference_(*this), - value_(*this) - {} - - /** - * @brief Destroy. - */ - metadata_set_node::~metadata_set_node() OPENVRML_NOTHROW - {} - - - /** - * @class metadata_string_node - * - * @brief Represents MetadataString node instances. - */ - - /** - * @var metadata_string_node::metadata_string_metatype - * - * @brief Class object for MetadataString nodes. - */ - - /** - * @var metadata_string_node::name_ - * - * @brief name exposedField - */ - - /** - * @var metadata_string_node::reference_ - * - * @brief reference exposedField - */ - - /** - * @var metadata_string_node::value_ - * - * @brief value exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - metadata_string_node:: - metadata_string_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - name_(*this), - reference_(*this), - value_(*this) - {} - - /** - * @brief Destroy. - */ - metadata_string_node::~metadata_string_node() OPENVRML_NOTHROW - {} -} Deleted: trunk/src/node/x3d-core/metadata_double.cpp =================================================================== --- branches/node-modules/src/node/x3d-core/metadata_double.cpp 2008-09-15 14:56:33 UTC (rev 3623) +++ trunk/src/node/x3d-core/metadata_double.cpp 2008-09-16 04:43:19 UTC (rev 3630) @@ -1,197 +0,0 @@ -// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// 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 -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# include "metadata_double.h" -# include <openvrml/node_impl_util.h> -# include <boost/array.hpp> - -# ifdef HAVE_CONFIG_H -# include <config.h> -# endif - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - - -namespace { - - /** - * @brief Represents MetadataDouble node instances. - */ - class OPENVRML_LOCAL metadata_double_node : - public abstract_node<metadata_double_node> { - - friend class openvrml_node_x3d_core::metadata_double_metatype; - - exposedfield<sfstring> name_; - exposedfield<sfstring> reference_; - exposedfield<mfdouble> value_; - - public: - metadata_double_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~metadata_double_node() OPENVRML_NOTHROW; - }; - - - /** - * @var metadata_double_node::metadata_double_metatype - * - * @brief Class object for MetadataDouble nodes. - */ - - /** - * @var metadata_double_node::name_ - * - * @brief name exposedField - */ - - /** - * @var metadata_double_node::reference_ - * - * @brief reference exposedField - */ - - /** - * @var metadata_double_node::value_ - * - * @brief value exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - metadata_double_node:: - metadata_double_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - name_(*this), - reference_(*this), - value_(*this) - {} - - /** - * @brief Destroy. - */ - metadata_double_node::~metadata_double_node() OPENVRML_NOTHROW - {} -} - - -/** - * @brief @c node_metatype identifier. - */ -const char * const openvrml_node_x3d_core::metadata_double_metatype::id = - "urn:X-openvrml:node:MetadataDouble"; - -/** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c metadata_double_metatype. - */ -openvrml_node_x3d_core::metadata_double_metatype:: -metadata_double_metatype(openvrml::browser & browser): - node_metatype(metadata_double_metatype::id, browser) -{} - -/** - * @brief Destroy. - */ -openvrml_node_x3d_core::metadata_double_metatype::~metadata_double_metatype() - OPENVRML_NOTHROW -{} - -/** - * @brief Create a @c node_type. - * - * @param id the name for the new @c node_type. - * @param interfaces the interfaces for the new @c node_type. - * - * @return a @c node_type capable of creating MetadataDouble nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by - * @c metadata_double_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ -const boost::shared_ptr<openvrml::node_type> -openvrml_node_x3d_core::metadata_double_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::exposedfield_id, - field_value::sfstring_id, - "name"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "reference"), - node_interface(node_interface::exposedfield_id, - field_value::mfdouble_id, - "value") - }; - typedef node_type_impl<metadata_double_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, - &metadata_double_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_double_node::name_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_double_node::reference_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &metadata_double_node::value_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; -} Copied: trunk/src/node/x3d-core/metadata_double.cpp (from rev 3623, branches/node-modules/src/node/x3d-core/metadata_double.cpp) =================================================================== --- trunk/src/node/x3d-core/metadata_double.cpp (rev 0) +++ trunk/src/node/x3d-core/metadata_double.cpp 2008-09-16 04:43:19 UTC (rev 3630) @@ -0,0 +1,197 @@ +// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- +// +// OpenVRML +// +// 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 +// the Free Software Foundation; either version 3 of the License, or (at your +// option) any later version. +// +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied... [truncated message content] |
From: <br...@us...> - 2008-09-16 07:48:16
|
Revision: 3633 http://openvrml.svn.sourceforge.net/openvrml/?rev=3633&view=rev Author: braden Date: 2008-09-16 07:48:27 +0000 (Tue, 16 Sep 2008) Log Message: ----------- Removed flags defining BOOST_SPIRIT_THREADSAFE, BOOST_SPIRIT_CLOSURE_LIMIT, and PHOENIX_LIMIT. Modified Paths: -------------- trunk/ChangeLog trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-16 07:37:19 UTC (rev 3632) +++ trunk/ChangeLog 2008-09-16 07:48:27 UTC (rev 3633) @@ -1,5 +1,11 @@ 2008-09-16 Braden McDaniel <br...@en...> + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj: + Removed flags defining BOOST_SPIRIT_THREADSAFE, + BOOST_SPIRIT_CLOSURE_LIMIT, and PHOENIX_LIMIT. + +2008-09-16 Braden McDaniel <br...@en...> + Moved X3D Core node implementations into a convenience library. * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj 2008-09-16 07:37:19 UTC (rev 3632) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj 2008-09-16 07:48:27 UTC (rev 3633) @@ -43,7 +43,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;OPENVRML_BUILD_DLL" + PreprocessorDefinitions="WIN32;_DEBUG;_LIB;OPENVRML_BUILD_DLL" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -108,7 +108,7 @@ Optimization="2" EnableIntrinsicFunctions="true" AdditionalIncludeDirectories="..\openvrml;..\..\..\..\..\src\libopenvrml" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;BOOST_SPIRIT_THREADSAFE;BOOST_SPIRIT_CLOSURE_LIMIT=6;PHOENIX_LIMIT=6;OPENVRML_BUILD_DLL" + PreprocessorDefinitions="WIN32;NDEBUG;_LIB;OPENVRML_BUILD_DLL" RuntimeLibrary="2" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-17 00:00:02
|
Revision: 3636 http://openvrml.svn.sourceforge.net/openvrml/?rev=3636&view=rev Author: braden Date: 2008-09-17 00:00:10 +0000 (Wed, 17 Sep 2008) Log Message: ----------- Moved X3D Networking 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_networking.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-networking/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-networking/x3d-networking.vcproj trunk/src/node/x3d-networking/ trunk/src/node/x3d-networking/load_sensor.cpp trunk/src/node/x3d-networking/load_sensor.h Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-networking/x3d-networking.vcproj trunk/src/node/x3d-networking/load_sensor.cpp trunk/src/node/x3d-networking/load_sensor.h Property Changed: ---------------- trunk/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/vrml97/vrml97.vcproj 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 Property changes on: trunk ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules:3622-3623 + /branches/node-modules:3622-3623,3632-3635 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-16 08:45:06 UTC (rev 3635) +++ trunk/ChangeLog 2008-09-17 00:00:10 UTC (rev 3636) @@ -1,5 +1,20 @@ 2008-09-16 Braden McDaniel <br...@en...> + Moved X3D Networking node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-networking static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-networking/x3d-networking.vcproj + * src/Makefile.am: Added convenience library + node/x3d-networking/libx3d-networking.la. + * src/libopenvrml/openvrml/x3d_networking.cpp: Moved node + implementations to separate files. + * src/node/x3d-networking/load_sensor.cpp + * src/node/x3d-networking/load_sensor.h + +2008-09-16 Braden McDaniel <br...@en...> + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-core/x3d-core.vcproj: Removed flags defining BOOST_SPIRIT_THREADSAFE, BOOST_SPIRIT_CLOSURE_LIMIT, and PHOENIX_LIMIT. Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-16 08:45:06 UTC (rev 3635) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-17 00:00:10 UTC (rev 3636) @@ -2,8 +2,9 @@ # Visual C++ Express 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvrml", "openvrml\openvrml.vcproj", "{E5287CD2-4BAC-4341-AF28-A1F9C0F5949C}" ProjectSection(ProjectDependencies) = postProject + {78133A10-3ADF-474C-B32A-74124A976482} = {78133A10-3ADF-474C-B32A-74124A976482} + {430B1A48-8E64-43DF-8CC4-AD09C41BA735} = {430B1A48-8E64-43DF-8CC4-AD09C41BA735} {5ED398C0-0529-40D5-AB2C-C7EF0769002B} = {5ED398C0-0529-40D5-AB2C-C7EF0769002B} - {78133A10-3ADF-474C-B32A-74124A976482} = {78133A10-3ADF-474C-B32A-74124A976482} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvrml-gl", "openvrml-gl\openvrml-gl.vcproj", "{141F90C2-6630-4D7A-834F-D5D57C6CFC24}" @@ -42,6 +43,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-core", "x3d-core\x3d-core.vcproj", "{78133A10-3ADF-474C-B32A-74124A976482}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-networking", "x3d-networking\x3d-networking.vcproj", "{430B1A48-8E64-43DF-8CC4-AD09C41BA735}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -84,6 +87,10 @@ {78133A10-3ADF-474C-B32A-74124A976482}.Debug|Win32.Build.0 = Debug|Win32 {78133A10-3ADF-474C-B32A-74124A976482}.Release|Win32.ActiveCfg = Release|Win32 {78133A10-3ADF-474C-B32A-74124A976482}.Release|Win32.Build.0 = Release|Win32 + {430B1A48-8E64-43DF-8CC4-AD09C41BA735}.Debug|Win32.ActiveCfg = Debug|Win32 + {430B1A48-8E64-43DF-8CC4-AD09C41BA735}.Debug|Win32.Build.0 = Debug|Win32 + {430B1A48-8E64-43DF-8CC4-AD09C41BA735}.Release|Win32.ActiveCfg = Release|Win32 + {430B1A48-8E64-43DF-8CC4-AD09C41BA735}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/vrml97/vrml97.vcproj ___________________________________________________________________ Deleted: svn:executable - * Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-networking ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-networking.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-networking/x3d-networking.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-networking/x3d-networking.vcproj 2008-09-16 08:45:06 UTC (rev 3635) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-networking/x3d-networking.vcproj 2008-09-17 00:00:10 UTC (rev 3636) @@ -1,179 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-networking" - ProjectGUID="{430B1A48-8E64-43DF-8CC4-AD09C41BA735}" - RootNamespace="x3dnetworking" - 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-networking\load_sensor.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-networking\load_sensor.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-networking/x3d-networking.vcproj (from rev 3635, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-networking/x3d-networking.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-networking/x3d-networking.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-networking/x3d-networking.vcproj 2008-09-17 00:00:10 UTC (rev 3636) @@ -0,0 +1,179 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-networking" + ProjectGUID="{430B1A48-8E64-43DF-8CC4-AD09C41BA735}" + RootNamespace="x3dnetworking" + 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-networking\load_sensor.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-networking\load_sensor.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-16 08:45:06 UTC (rev 3635) +++ trunk/src/Makefile.am 2008-09-17 00:00:10 UTC (rev 3636) @@ -5,7 +5,8 @@ lib_LTLIBRARIES = libopenvrml/libopenvrml.la noinst_LTLIBRARIES = \ node/vrml97/libvrml97.la \ - node/x3d-core/libx3d-core.la + node/x3d-core/libx3d-core.la \ + node/x3d-networking/libx3d-networking.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -139,6 +140,7 @@ libopenvrml_libopenvrml_la_LIBADD = \ node/vrml97/libvrml97.la \ node/x3d-core/libx3d-core.la \ + node/x3d-networking/libx3d-networking.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -334,6 +336,15 @@ node/x3d-core/metadata_string.cpp \ node/x3d-core/metadata_string.h +node_x3d_networking_libx3d_networking_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_networking_libx3d_networking_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_networking_libx3d_networking_la_SOURCES = \ + node/x3d-networking/load_sensor.cpp \ + node/x3d-networking/load_sensor.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_networking.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_networking.cpp 2008-09-16 08:45:06 UTC (rev 3635) +++ trunk/src/libopenvrml/openvrml/x3d_networking.cpp 2008-09-17 00:00:10 UTC (rev 3636) @@ -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,281 +18,21 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include "browser.h" +# include "x3d_networking.h" +# include <x3d-networking/load_sensor.h> +# include <boost/array.hpp> + # 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_networking.h" - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Class object for LoadSensor nodes. - */ - class OPENVRML_LOCAL load_sensor_metatype : public node_metatype { - public: - static const char * const id; - - explicit load_sensor_metatype(openvrml::browser & browser); - virtual ~load_sensor_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_networking_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; + using namespace openvrml_node_x3d_networking; b.add_node_metatype(load_sensor_metatype::id, shared_ptr<node_metatype>( new load_sensor_metatype(b))); } - -namespace { - - using namespace openvrml_; - - class OPENVRML_LOCAL load_sensor_node : - public abstract_node<load_sensor_node>, - public child_node { - - friend class load_sensor_metatype; - - exposedfield<sfbool> enabled_; - exposedfield<sftime> timeout_; - exposedfield<mfnode> watch_list_; - sfbool is_active_; - sfbool_emitter is_active_emitter_; - sfbool is_loaded_; - sfbool_emitter is_loaded_emitter_; - sftime load_time_; - sftime_emitter load_time_emitter_; - sffloat progress_; - sffloat_emitter progress_emitter_; - - public: - load_sensor_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~load_sensor_node() OPENVRML_NOTHROW; - }; - - - /** - * @brief @c node_metatype identifier. - */ - const char * const load_sensor_metatype::id = - "urn:X-openvrml:node:LoadSensor"; - - /** - * @brief Construct. - * - * @param browser the browser associated with this load_sensor_metatype. - */ - load_sensor_metatype::load_sensor_metatype(openvrml::browser & browser): - node_metatype(load_sensor_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - load_sensor_metatype::~load_sensor_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 LoadSensor nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by load_sensor_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - load_sensor_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, 8> 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::exposedfield_id, - field_value::sfbool_id, - "enabled"), - node_interface(node_interface::exposedfield_id, - field_value::sftime_id, - "timeout"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "watchList"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isActive"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isLoaded"), - node_interface(node_interface::eventout_id, - field_value::sftime_id, - "loadTime"), - node_interface(node_interface::eventout_id, - field_value::sffloat_id, - "progress") - }; - typedef node_type_impl<load_sensor_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, - &load_sensor_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::enabled_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::timeout_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::watch_list_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::is_active_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::is_loaded_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::load_time_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::progress_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @class load_sensor_node - * - * @brief Represents LoadSensor node instances. - */ - - /** - * @var load_sensor_node::load_sensor_metatype - * - * @brief Class object for LoadSensor nodes. - */ - - /** - * @var load_sensor_node::enabled_ - * - * @brief enabled exposedField - */ - - /** - * @var load_sensor_node::timeout_ - * - * @brief timeout exposedField - */ - - /** - * @var load_sensor_node::watch_list_ - * - * @brief watch_list exposedField - */ - - /** - * @var load_sensor_node::is_active_ - * - * @brief is_active eventOut - */ - - /** - * @var load_sensor_node::is_loaded_ - * - * @brief is_loaded eventOut - */ - - /** - * @var load_sensor_node::load_time_ - * - * @brief load_time eventOut - */ - - /** - * @var load_sensor_node::progress_ - * - * @brief progress eventOut - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - load_sensor_node:: - load_sensor_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), - child_node(type, scope), - enabled_(*this, true), - timeout_(*this), - watch_list_(*this), - is_active_emitter_(*this, this->is_active_), - is_loaded_emitter_(*this, this->is_loaded_), - load_time_emitter_(*this, this->load_time_), - progress_emitter_(*this, this->progress_) - {} - - /** - * @brief Destroy. - */ - load_sensor_node::~load_sensor_node() OPENVRML_NOTHROW - {} -} Property changes on: trunk/src/node/x3d-core/metadata_double.cpp ___________________________________________________________________ Modified: svn:mergeinfo - + /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635 Property changes on: trunk/src/node/x3d-core/metadata_double.h ___________________________________________________________________ Modified: svn:mergeinfo - + /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635 Property changes on: trunk/src/node/x3d-core/metadata_float.cpp ___________________________________________________________________ Modified: svn:mergeinfo - + /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635 Property changes on: trunk/src/node/x3d-core/metadata_float.h ___________________________________________________________________ Modified: svn:mergeinfo - + /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635 Property changes on: trunk/src/node/x3d-core/metadata_integer.cpp ___________________________________________________________________ Modified: svn:mergeinfo - + /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635 Property changes on: trunk/src/node/x3d-core/metadata_integer.h ___________________________________________________________________ Modified: svn:mergeinfo - + /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635 Property changes on: trunk/src/node/x3d-core/metadata_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - + /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635 Property changes on: trunk/src/node/x3d-core/metadata_set.h ___________________________________________________________________ Modified: svn:mergeinfo - + /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635 Property changes on: trunk/src/node/x3d-core/metadata_string.cpp ___________________________________________________________________ Modified: svn:mergeinfo - + /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635 Property changes on: trunk/src/node/x3d-core/metadata_string.h ___________________________________________________________________ Modified: svn:mergeinfo - + /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635 Deleted: trunk/src/node/x3d-networking/load_sensor.cpp =================================================================== --- branches/node-modules/src/node/x3d-networking/load_sensor.cpp 2008-09-16 08:45:06 UTC (rev 3635) +++ trunk/src/node/x3d-networking/load_sensor.cpp 2008-09-17 00:00:10 UTC (rev 3636) @@ -1,265 +0,0 @@ -// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// Copyright 2006, 2007 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 -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# include "load_sensor.h" -# include <openvrml/node_impl_util.h> -# include <boost/array.hpp> - -# ifdef HAVE_CONFIG_H -# include <config.h> -# endif - -using namespace openvrml; -using namespace openvrml::node_impl_util; - -namespace { - - /** - * @brief Represents LoadSensor node instances. - */ - class OPENVRML_LOCAL load_sensor_node : - public abstract_node<load_sensor_node>, - public child_node { - - friend class openvrml_node_x3d_networking::load_sensor_metatype; - - exposedfield<sfbool> enabled_; - exposedfield<sftime> timeout_; - exposedfield<mfnode> watch_list_; - sfbool is_active_; - sfbool_emitter is_active_emitter_; - sfbool is_loaded_; - sfbool_emitter is_loaded_emitter_; - sftime load_time_; - sftime_emitter load_time_emitter_; - sffloat progress_; - sffloat_emitter progress_emitter_; - - public: - load_sensor_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~load_sensor_node() OPENVRML_NOTHROW; - }; - - - /** - * @var load_sensor_node::load_sensor_metatype - * - * @brief Class object for LoadSensor nodes. - */ - - /** - * @var load_sensor_node::enabled_ - * - * @brief enabled exposedField - */ - - /** - * @var load_sensor_node::timeout_ - * - * @brief timeout exposedField - */ - - /** - * @var load_sensor_node::watch_list_ - * - * @brief watch_list exposedField - */ - - /** - * @var load_sensor_node::is_active_ - * - * @brief is_active eventOut - */ - - /** - * @var load_sensor_node::is_loaded_ - * - * @brief is_loaded eventOut - */ - - /** - * @var load_sensor_node::load_time_ - * - * @brief load_time eventOut - */ - - /** - * @var load_sensor_node::progress_ - * - * @brief progress eventOut - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - load_sensor_node:: - load_sensor_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), - child_node(type, scope), - enabled_(*this, true), - timeout_(*this), - watch_list_(*this), - is_active_emitter_(*this, this->is_active_), - is_loaded_emitter_(*this, this->is_loaded_), - load_time_emitter_(*this, this->load_time_), - progress_emitter_(*this, this->progress_) - {} - - /** - * @brief Destroy. - */ - load_sensor_node::~load_sensor_node() OPENVRML_NOTHROW - {} -} - - -/** - * @brief @c node_metatype identifier. - */ -const char * const openvrml_node_x3d_networking::load_sensor_metatype::id = - "urn:X-openvrml:node:LoadSensor"; - -/** - * @brief Construct. - * - * @param browser the browser associated with this load_sensor_metatype. - */ -openvrml_node_x3d_networking::load_sensor_metatype:: -load_sensor_metatype(openvrml::browser & browser): - node_metatype(load_sensor_metatype::id, browser) -{} - -/** - * @brief Destroy. - */ -openvrml_node_x3d_networking::load_sensor_metatype::~load_sensor_metatype() - OPENVRML_NOTHROW -{} - -/** - * @brief Create a @c node_type. - * - * @param id the name for the new @c node_type. - * @param interfaces the interfaces for the new @c node_type. - * - * @return a @c boost::shared_ptr to a @c node_type capable of creating - * LoadSensor nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by @c load_sensor_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ -const boost::shared_ptr<openvrml::node_type> -openvrml_node_x3d_networking::load_sensor_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, 8> 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::exposedfield_id, - field_value::sfbool_id, - "enabled"), - node_interface(node_interface::exposedfield_id, - field_value::sftime_id, - "timeout"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "watchList"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isActive"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isLoaded"), - node_interface(node_interface::eventout_id, - field_value::sftime_id, - "loadTime"), - node_interface(node_interface::eventout_id, - field_value::sffloat_id, - "progress") - }; - typedef node_type_impl<load_sensor_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, - &load_sensor_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::enabled_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::timeout_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::watch_list_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::is_active_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::is_loaded_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::load_time_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &load_sensor_node::progress_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; -} Copied: trunk/src/node/x3d-networking/load_sensor.cpp (from rev 3635, branches/node-modules/src/node/x3d-networking/load_sensor.cpp) =================================================================== --- trunk/src/node/x3d-networking/load_sensor.cpp (rev 0) +++ trunk/src/node/x3d-networking/load_sensor.cpp 2008-09-17 00:00:10 UTC (rev 3636) @@ -0,0 +1,265 @@ +// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- +// +// OpenVRML +// +// Copyright 2006, 2007 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 +// the Free Software Foundation; either version 3 of the License, or (at your +// option) any later version. +// +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +// License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, see <http://www.gnu.org/licenses/>. +// + +# include "load_sensor.h" +# include <openvrml/node_impl_util.h> +# include <boost/array.hpp> + +# ifdef HAVE_CONFIG_H +# include <config.h> +# endif + +using namespace openvrml; +using namespace openvrml::node_impl_util; + +namespace { + + /** + * @brief Represents LoadSensor node instances. + */ + class OPENVRML_LOCAL load_sensor_node : + public abstract_node<load_sensor_node>, + public child_node { + + friend class openvrml_node_x3d_networking::load_sensor_metatype; + + exposedfield<sfbool> enabled_; + exposedfield<sftime> timeout_; + exposedfield<mfnode> watch_list_; + sfbool is_active_; + sfbool_emitter is_active_emitter_; + sfbool is_loaded_; + sfbool_emitter is_loaded_emitter_; + sftime load_time_; + sftime_emitter load_time_emitter_; + sffloat progress_; + sffloat_emitter progress_emitter_; + + public: + load_sensor_node(const node_type & type, + const boost::shared_ptr<openvrml::scope> & scope); + virtual ~load_sensor_node() OPENVRML_NOTHROW; + }; + + + /** + * @var load_sensor_node::load_sensor_metatype + * + * @brief Class object for LoadSensor nodes. + */ + + /** + * @var load_sensor_node::enabled_ + * + * @brief enabled exposedField + */ + + /** + * @var load_sensor_node::timeout_ + * + * @brief timeout exposedField + */ + + /** + * @var load_sensor_node::watch_list_ + * + * @brief watch_list exposedField + */ + + /** + * @var load_sensor_node::is_active_ + * + * @brief is_active eventOut + */ + + /** + * @var load_sensor_node::is_loaded_ + * + * @brief is_loaded eventOut + */ + + /** + * @var load_sensor_node::load_time_ + * + * @brief load_time eventOut + */ + + /** + * @var load_sensor_node::progress_ + * + * @brief progress eventOut + */ + + + /** + * @brief Construct. + * + * @param type the node_type associated with this node. + * @param scope the scope to which the node belongs. + */ + load_sensor_node:: + load_sensor_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), + child_node(type, scope), + enabled_(*this, true), + timeout_(*this), + watch_list_(*this), + is_active_emitter_(*this, this->is_active_), + is_loaded_emitter_(*this, this->is_loaded_), + load_time_emitter_(*this, this->load_time_), + progress_emitter_(*this, this->progress_) + {} + + /** + * @brief Destroy. + */ + load_sensor_node::~load_sensor_node() OPENVRML_NOTHROW + {} +} + + +/** + * @brief @c node_metatype identifier. + */ +const char * const openvrml_node_x3d_networking::load_sensor_metatype::id = + "urn:X-openvrml:node:LoadSensor"; + +/** + * @brief Construct. + * + * @param browser the browser associated with this load_sensor_metatype. + */ +openvrml_node_x3d_networking::load_sensor_metatype:: +load_sensor_metatype(openvrml::browser & browser): + node_metatype(load_sensor_metatype::id, browser) +{} + +/** + * @brief Destroy. + */ +openvrml_node_x3d_networking::load_sensor_metatype::~load_sensor_metatype() + OPENVRML_NOTHROW +{} + +/** + * @brief Create a @c node_type. + * + * @param id the name for the new @c node_type. + * @param interfaces the interfaces for the new @c node_type. + * + * @return a @c boost::shared_ptr to a @c node_type capable of creating + * LoadSensor nodes. + * + * @exception unsupported_interface if @p interfaces includes an interface + * not supported by @c load_sensor_metatype. + * @exception std::bad_alloc if memory allocation fails. + */ +const boost::shared_ptr<openvrml::node_type> +openvrml_node_x3d_networking::load_sensor_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, 8> 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::exposedfield_id, + field_value::sfbool_id, + "enabled"), + node_interface(node_interface::exposedfield_id, + field_value::sftime_id, + "timeout"), + node_interface(node_interface::exposedfield_id, + field_value::mfnode_id, + "watchList"), + node_interface(node_interface::eventout_id, + field_value::sfbool_id, + "isActive"), + node_interface(node_interface::eventout_id, + field_value::sfbool_id, + "isLoaded"), + node_interface(node_interface::eventout_id, + field_value::sftime_id, + "loadTime"), + node_interface(node_interface::eventout_id, + field_value::sffloat_id, + "progress") + }; + typedef node_type_impl<load_sensor_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, + &load_sensor_node::metadata); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_exposedfield( + supported_interface->field_type, + supported_interface->id, + &load_sensor_node::enabled_); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_exposedfield( + supported_interface->field_type, + supported_interface->id, + &load_sensor_node::timeout_); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_exposedfield( + supported_interface->field_type, + supported_interface->id, + &load_sensor_node::watch_list_); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_eventout( + supported_interface->field_type, + supported_interface->id, + &load_sensor_node::is_active_emitter_); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_eventout( + supported_interface->field_type, + supported_interface->id, + &load_sensor_node::is_loaded_emitter_); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_eventout( + supported_interface->field_type, + supported_interface->id, + &load_sensor_node::load_time_emitter_); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_eventout( + supported_interface->field_type, + supported_interface->id, + &load_sensor_node::progress_emitter_); + } else { + throw unsupported_interface(*interface_); + } + } + return type; +} Deleted: trunk/src/node/x3d-networking/load_sensor.h =================================================================== --- branches/node-modules/src/node/x3d-networking/load_sensor.h 2008-09-16 08:45:06 UTC (rev 3635) +++ trunk/src/node/x3d-networking/load_sensor.h 2008-09-17 00:00:10 UTC (rev 3636) @@ -1,46 +0,0 @@ -// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// 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 -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# ifndef OPENVRML_NODE_X3D_NETWORKING_LOAD_SENSOR_H -# define OPENVRML_NODE_X3D_NETWORKING_LOAD_SENSOR_H - -# include <openvrml/node.h> - -namespace openvrml_node_x3d_networking { - - /** - * @brief Class object for LoadSensor nodes. - */ - class OPENVRML_LOCAL load_sensor_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit load_sensor_metatype(openvrml::browser & browser); - virtual ~load_sensor_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; -} - -# endif // ifndef OPENVRML_NODE_X3D_NETWORKING_LOAD_SENSOR_H Copied: trunk/src/node/x3d-networking/load_sensor.h (from rev 3635, branches/node-modules/src/node/x3d-networking/load_sensor.h) =================================================================== --- trunk/src/node/x3d-networking/load_sensor.h (rev 0) +++ trunk/src/node/x3d-networking/load_sensor.h 2008-09-17 00:00:10 UTC (rev 3636) @@ -0,0 +1,46 @@ +// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- +// +// OpenVRML +// +// 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 +// the Free Software Foundation; either version 3 of the License, or (at your +// option) any later version. +// +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +// License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, see <http://www.gnu.org/licenses/>. +// + +# ifndef OPENVRML_NODE_X3D_NETWORKING_LOAD_SENSOR_H +# define OPENVRML_NODE_X3D_NETWORKING_LOAD_SENSOR_H + +# include <openvrml/node.h> + +namespace openvrml_node_x3d_networking { + + /** + * @brief Class object for LoadSensor nodes. + */ + class OPENVRML_LOCAL load_sensor_metatype : public openvrml::node_metatype { + public: + static const char * const id; + + explicit load_sensor_metatype(openvrml::browser & browser); + virtual ~load_sensor_metatype() OPENVRML_NOTHROW; + + private: + virtual const boost::shared_ptr<openvrml::node_type> + do_create_type(const std::string & id, + const openvrml::node_interface_set & interfaces) const + OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); + }; +} + +# endif // ifndef OPENVRML_NODE_X3D_NETWORKING_LOAD_SENSOR_H This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-17 00:58:44
|
Revision: 3639 http://openvrml.svn.sourceforge.net/openvrml/?rev=3639&view=rev Author: braden Date: 2008-09-17 00:58:54 +0000 (Wed, 17 Sep 2008) Log Message: ----------- Moved X3D Grouping 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_grouping.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-grouping/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-grouping/x3d-grouping.vcproj trunk/src/node/x3d-grouping/ trunk/src/node/x3d-grouping/static_group.cpp trunk/src/node/x3d-grouping/static_group.h Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-grouping/x3d-grouping.vcproj trunk/src/node/x3d-grouping/static_group.cpp trunk/src/node/x3d-grouping/static_group.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-networking/load_sensor.cpp trunk/src/node/x3d-networking/load_sensor.h Property changes on: trunk ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules:3622-3623,3632-3635 + /branches/node-modules:3622-3623,3632-3635,3637-3638 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-17 00:45:22 UTC (rev 3638) +++ trunk/ChangeLog 2008-09-17 00:58:54 UTC (rev 3639) @@ -1,5 +1,20 @@ 2008-09-16 Braden McDaniel <br...@en...> + Moved X3D Grouping node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-grouping static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-grouping/x3d-grouping.vcproj + * src/Makefile.am: Added convenience library + node/x3d-grouping/libx3d-grouping.la. + * src/libopenvrml/openvrml/x3d_grouping.cpp: Moved node + implementations to separate files. + * src/node/x3d-grouping/static_group.cpp + * src/node/x3d-grouping/static_group.h + +2008-09-16 Braden McDaniel <br...@en...> + Moved X3D Networking node implementations into a convenience library. Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-17 00:45:22 UTC (rev 3638) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-17 00:58:54 UTC (rev 3639) @@ -5,6 +5,7 @@ {78133A10-3ADF-474C-B32A-74124A976482} = {78133A10-3ADF-474C-B32A-74124A976482} {430B1A48-8E64-43DF-8CC4-AD09C41BA735} = {430B1A48-8E64-43DF-8CC4-AD09C41BA735} {5ED398C0-0529-40D5-AB2C-C7EF0769002B} = {5ED398C0-0529-40D5-AB2C-C7EF0769002B} + {1D32E4EB-6613-4270-8295-7113712BC6C5} = {1D32E4EB-6613-4270-8295-7113712BC6C5} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvrml-gl", "openvrml-gl\openvrml-gl.vcproj", "{141F90C2-6630-4D7A-834F-D5D57C6CFC24}" @@ -45,6 +46,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-networking", "x3d-networking\x3d-networking.vcproj", "{430B1A48-8E64-43DF-8CC4-AD09C41BA735}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-grouping", "x3d-grouping\x3d-grouping.vcproj", "{1D32E4EB-6613-4270-8295-7113712BC6C5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -91,6 +94,10 @@ {430B1A48-8E64-43DF-8CC4-AD09C41BA735}.Debug|Win32.Build.0 = Debug|Win32 {430B1A48-8E64-43DF-8CC4-AD09C41BA735}.Release|Win32.ActiveCfg = Release|Win32 {430B1A48-8E64-43DF-8CC4-AD09C41BA735}.Release|Win32.Build.0 = Release|Win32 + {1D32E4EB-6613-4270-8295-7113712BC6C5}.Debug|Win32.ActiveCfg = Debug|Win32 + {1D32E4EB-6613-4270-8295-7113712BC6C5}.Debug|Win32.Build.0 = Debug|Win32 + {1D32E4EB-6613-4270-8295-7113712BC6C5}.Release|Win32.ActiveCfg = Release|Win32 + {1D32E4EB-6613-4270-8295-7113712BC6C5}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-grouping ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-grouping.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-grouping/x3d-grouping.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-grouping/x3d-grouping.vcproj 2008-09-17 00:45:22 UTC (rev 3638) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-grouping/x3d-grouping.vcproj 2008-09-17 00:58:54 UTC (rev 3639) @@ -1,179 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-grouping" - ProjectGUID="{1D32E4EB-6613-4270-8295-7113712BC6C5}" - RootNamespace="x3dgrouping" - 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-grouping\static_group.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-grouping\static_group.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-grouping/x3d-grouping.vcproj (from rev 3638, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-grouping/x3d-grouping.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-grouping/x3d-grouping.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-grouping/x3d-grouping.vcproj 2008-09-17 00:58:54 UTC (rev 3639) @@ -0,0 +1,179 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-grouping" + ProjectGUID="{1D32E4EB-6613-4270-8295-7113712BC6C5}" + RootNamespace="x3dgrouping" + 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-grouping\static_group.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-grouping\static_group.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-17 00:45:22 UTC (rev 3638) +++ trunk/src/Makefile.am 2008-09-17 00:58:54 UTC (rev 3639) @@ -6,7 +6,8 @@ noinst_LTLIBRARIES = \ node/vrml97/libvrml97.la \ node/x3d-core/libx3d-core.la \ - node/x3d-networking/libx3d-networking.la + node/x3d-networking/libx3d-networking.la \ + node/x3d-grouping/libx3d-grouping.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -141,6 +142,7 @@ node/vrml97/libvrml97.la \ node/x3d-core/libx3d-core.la \ node/x3d-networking/libx3d-networking.la \ + node/x3d-grouping/libx3d-grouping.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -345,6 +347,15 @@ node/x3d-networking/load_sensor.cpp \ node/x3d-networking/load_sensor.h +node_x3d_grouping_libx3d_grouping_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_grouping_libx3d_grouping_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_grouping_libx3d_grouping_la_SOURCES = \ + node/x3d-grouping/static_group.cpp \ + node/x3d-grouping/static_group.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_grouping.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_grouping.cpp 2008-09-17 00:45:22 UTC (rev 3638) +++ trunk/src/libopenvrml/openvrml/x3d_grouping.cpp 2008-09-17 00:58:54 UTC (rev 3639) @@ -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,390 +18,20 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include "x3d_grouping.h" +# include "browser.h" +# include <x3d-grouping/static_group.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_grouping.h" - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Class object for StaticGroup nodes. - */ - class OPENVRML_LOCAL static_group_metatype : public node_metatype { - public: - static const char * const id; - - explicit static_group_metatype(openvrml::browser & browser); - virtual ~static_group_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_grouping_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; + using namespace openvrml_node_x3d_grouping; b.add_node_metatype(static_group_metatype::id, shared_ptr<node_metatype>( new static_group_metatype(b))); } - -namespace { - using namespace openvrml_; - - class OPENVRML_LOCAL static_group_node : - public abstract_node<static_group_node>, - public grouping_node { - - friend class static_group_metatype; - - mfnode children_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - viewer::object_t viewerObject; - - bounding_sphere bsphere; - - public: - - static_group_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~static_group_node() OPENVRML_NOTHROW; - - - virtual bool modified() const; - - protected: - virtual void do_render_child(openvrml::viewer & viewer, - rendering_context context); - virtual const openvrml::bounding_volume & - do_bounding_volume() const; - virtual const std::vector<boost::intrusive_ptr<node> > - do_children() const OPENVRML_THROW1(std::bad_alloc); - - virtual void recalc_bsphere(); - void render_nocull(openvrml::viewer & viewer, - rendering_context context); - }; - - /** - * @brief @c node_metatype identifier. - */ - const char * const static_group_metatype::id = - "urn:X-openvrml:node:StaticGroup"; - - /** - * @brief Construct. - * - * @param browser the browser associated with this static_group_metatype. - */ - static_group_metatype::static_group_metatype(openvrml::browser & browser): - node_metatype(static_group_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - static_group_metatype::~static_group_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 StaticGroup nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by static_group_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - static_group_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::mfnode_id, - "children"), - node_interface(node_interface::field_id, - field_value::sfvec3f_id, - "bboxCenter"), - node_interface(node_interface::field_id, - field_value::sfvec3f_id, - "bboxSize") - }; - typedef node_type_impl<static_group_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, - &static_group_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &static_group_node::children_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &static_group_node::bbox_center_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &static_group_node::bbox_size_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - /** - * @class static_group_node - * - * @brief Represents StaticGroup node instances. - */ - - /** - * @var static_group_node::static_group_metatype - * - * @brief Class object for StaticGroup nodes. - */ - - /** - * @var static_group_node::children_ - * - * @brief children field - */ - - /** - * @var static_group_node::bbox_center_ - * - * @brief bbox_center field - */ - - /** - * @var static_group_node::bbox_size_ - * - * @brief bbox_size field - */ - - /** - * @brief Get the children in the scene graph. - * - * @return the child nodes in the scene graph. - * - * @exception std::bad_alloc if memory allocation fails. - */ - const std::vector<boost::intrusive_ptr<node> > - static_group_node::do_children() const OPENVRML_THROW1(std::bad_alloc) - { - return this->children_.value(); - } - - /** - * @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 static_group_node::modified() const - { - if (this->node::modified()) { return true; } - for (size_t i = 0; i < this->children_.mfnode::value().size(); ++i) { - if (this->children_.mfnode::value()[i]->modified()) { - return true; - } - } - return false; - } - - /** - * @brief Render the node. - * - * Render each of the children. - * - * @param viewer a Viewer. - * @param context a rendering context. - */ - void - static_group_node:: - do_render_child(openvrml::viewer & viewer, rendering_context context) - { - if (context.cull_flag != bounding_volume::inside) { - using boost::polymorphic_downcast; - const bounding_sphere & bs = - *polymorphic_downcast<const bounding_sphere *>( - &this->bounding_volume()); - bounding_sphere bv_copy(bs); - bv_copy.transform(context.matrix()); - bounding_volume::intersection r = - viewer.intersect_view_volume(bv_copy); - if (context.draw_bounding_spheres) { - viewer.draw_bounding_sphere(bs, r); - } - if (r == bounding_volume::outside) { return; } - if (r == bounding_volume::inside) { - context.cull_flag = bounding_volume::inside; - } - } - this->render_nocull(viewer, context); - } - - /** - * because children will already have done the culling, we don't need - * to repeat it here. - */ - void - static_group_node::render_nocull(openvrml::viewer & viewer, - rendering_context context) - { - using std::vector; - - if (this->viewerObject && this->modified()) { - viewer.remove_object(this->viewerObject); - this->viewerObject = 0; - } - - if (this->viewerObject) { - viewer.insert_reference(this->viewerObject); - } else if (!this->children_.mfnode::value().empty()) { - vector<boost::intrusive_ptr<node> >::size_type i; - vector<boost::intrusive_ptr<node> >::size_type n = - this->children_.mfnode::value().size(); - size_t nSensors = 0; - - this->viewerObject = viewer.begin_object(this->id().c_str()); - - // Draw nodes that impact their siblings (DirectionalLights, - // TouchSensors, any others? ...) - for (i = 0; i < n; ++i) { - child_node * const child = - node_cast<child_node *>( - this->children_.mfnode::value()[i].get()); - if (child) { - if (node_cast<light_node *>(child) - && !(node_cast<scoped_light_node *>(child))) { - child->render_child(viewer, context); - } else if ( - node_cast<pointing_device_sensor_node *>(child)) { - if (++nSensors == 1) { - viewer.set_sensitive(this); - } - } - } - } - - // Do the rest of the children (except the scene-level lights) - for (i = 0; i<n; ++i) { - child_node * const child = - node_cast<child_node *>( - this->children_.mfnode::value()[i].get()); - if (child && !(node_cast<light_node *>(child))) { - child->render_child(viewer, context); - } - } - - // Turn off sensitivity - if (nSensors > 0) { viewer.set_sensitive(0); } - - viewer.end_object(); - } - - this->node::modified(false); - } - - /** - * @brief Get the bounding volume. - * - * @return the bounding volume associated with the node. - */ - const openvrml::bounding_volume & - static_group_node::do_bounding_volume() const - { - if (this->bounding_volume_dirty()) { - const_cast<static_group_node *>(this) - ->recalc_bsphere(); - } - return this->bsphere; - } - - /** - * @fn void grouping_node_base<Derived>::recalc_bsphere() - * - * @brief Recalculate the bounding volume. - */ - void static_group_node::recalc_bsphere() - { - this->bsphere = bounding_sphere(); - for (size_t i = 0; i < this->children_.value().size(); ++i) { - const boost::intrusive_ptr<node> & node = this->children_.value()[i]; - bounded_volume_node * bounded_volume = - node_cast<bounded_volume_node *>(node.get()); - if (bounded_volume) { - const openvrml::bounding_volume & ci_bv = - bounded_volume->bounding_volume(); - this->bsphere.extend(ci_bv); - } - } - this->bounding_volume_dirty(false); - } - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - static_group_node:: - static_group_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - bounded_volume_node(type, scope), - child_node(type, scope), - abstract_node<self_t>(type, scope), - grouping_node(type, scope), - bbox_size_(make_vec3f(-1.0f, -1.0f, -1.0f)), - viewerObject(0) - {} - - /** - * @brief Destroy. - */ - static_group_node::~static_group_node() OPENVRML_NOTHROW - {} -} Property changes on: trunk/src/node/x3d-core/metadata_double.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635 + /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635,3637-3638 Property changes on: trunk/src/node/x3d-core/metadata_double.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635 + /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635,3637-3638 Property changes on: trunk/src/node/x3d-core/metadata_float.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635 + /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635,3637-3638 Property changes on: trunk/src/node/x3d-core/metadata_float.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635 + /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635,3637-3638 Property changes on: trunk/src/node/x3d-core/metadata_integer.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635 + /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635,3637-3638 Property changes on: trunk/src/node/x3d-core/metadata_integer.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635 + /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635,3637-3638 Property changes on: trunk/src/node/x3d-core/metadata_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635 + /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635,3637-3638 Property changes on: trunk/src/node/x3d-core/metadata_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635 + /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635,3637-3638 Property changes on: trunk/src/node/x3d-core/metadata_string.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635 + /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635,3637-3638 Property changes on: trunk/src/node/x3d-core/metadata_string.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635 + /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635,3637-3638 Deleted: trunk/src/node/x3d-grouping/static_group.cpp =================================================================== --- branches/node-modules/src/node/x3d-grouping/static_group.cpp 2008-09-17 00:45:22 UTC (rev 3638) +++ trunk/src/node/x3d-grouping/static_group.cpp 2008-09-17 00:58:54 UTC (rev 3639) @@ -1,378 +0,0 @@ -// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// 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 -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# include "static_group.h" -# include <openvrml/node_impl_util.h> -# include <boost/array.hpp> - -# ifdef HAVE_CONFIG_H -# include <config.h> -# endif - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Represents StaticGroup node instances. - */ - class OPENVRML_LOCAL static_group_node : - public abstract_node<static_group_node>, - public grouping_node { - - friend class openvrml_node_x3d_grouping::static_group_metatype; - - mfnode children_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - viewer::object_t viewerObject; - - bounding_sphere bsphere; - - public: - - static_group_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~static_group_node() OPENVRML_NOTHROW; - - - virtual bool modified() const; - - protected: - virtual void do_render_child(openvrml::viewer & viewer, - rendering_context context); - virtual const openvrml::bounding_volume & - do_bounding_volume() const; - virtual const std::vector<boost::intrusive_ptr<node> > - do_children() const OPENVRML_THROW1(std::bad_alloc); - - virtual void recalc_bsphere(); - void render_nocull(openvrml::viewer & viewer, - rendering_context context); - }; - - - /** - * @var static_group_node::static_group_metatype - * - * @brief Class object for StaticGroup nodes. - */ - - /** - * @var static_group_node::children_ - * - * @brief children field - */ - - /** - * @var static_group_node::bbox_center_ - * - * @brief bbox_center field - */ - - /** - * @var static_group_node::bbox_size_ - * - * @brief bbox_size field - */ - - /** - * @brief Get the children in the scene graph. - * - * @return the child nodes in the scene graph. - * - * @exception std::bad_alloc if memory allocation fails. - */ - const std::vector<boost::intrusive_ptr<node> > - static_group_node::do_children() const OPENVRML_THROW1(std::bad_alloc) - { - return this->children_.value(); - } - - /** - * @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 static_group_node::modified() const - { - if (this->node::modified()) { return true; } - for (size_t i = 0; i < this->children_.mfnode::value().size(); ++i) { - if (this->children_.mfnode::value()[i]->modified()) { - return true; - } - } - return false; - } - - /** - * @brief Render the node. - * - * Render each of the children. - * - * @param viewer a Viewer. - * @param context a rendering context. - */ - void - static_group_node:: - do_render_child(openvrml::viewer & viewer, rendering_context context) - { - if (context.cull_flag != bounding_volume::inside) { - using boost::polymorphic_downcast; - const bounding_sphere & bs = - *polymorphic_downcast<const bounding_sphere *>( - &this->bounding_volume()); - bounding_sphere bv_copy(bs); - bv_copy.transform(context.matrix()); - bounding_volume::intersection r = - viewer.intersect_view_volume(bv_copy); - if (context.draw_bounding_spheres) { - viewer.draw_bounding_sphere(bs, r); - } - if (r == bounding_volume::outside) { return; } - if (r == bounding_volume::inside) { - context.cull_flag = bounding_volume::inside; - } - } - this->render_nocull(viewer, context); - } - - /** - * because children will already have done the culling, we don't need - * to repeat it here. - */ - void - static_group_node::render_nocull(openvrml::viewer & viewer, - rendering_context context) - { - using std::vector; - - if (this->viewerObject && this->modified()) { - viewer.remove_object(this->viewerObject); - this->viewerObject = 0; - } - - if (this->viewerObject) { - viewer.insert_reference(this->viewerObject); - } else if (!this->children_.mfnode::value().empty()) { - vector<boost::intrusive_ptr<node> >::size_type i; - vector<boost::intrusive_ptr<node> >::size_type n = - this->children_.mfnode::value().size(); - size_t nSensors = 0; - - this->viewerObject = viewer.begin_object(this->id().c_str()); - - // Draw nodes that impact their siblings (DirectionalLights, - // TouchSensors, any others? ...) - for (i = 0; i < n; ++i) { - child_node * const child = - node_cast<child_node *>( - this->children_.mfnode::value()[i].get()); - if (child) { - if (node_cast<light_node *>(child) - && !(node_cast<scoped_light_node *>(child))) { - child->render_child(viewer, context); - } else if ( - node_cast<pointing_device_sensor_node *>(child)) { - if (++nSensors == 1) { - viewer.set_sensitive(this); - } - } - } - } - - // Do the rest of the children (except the scene-level lights) - for (i = 0; i<n; ++i) { - child_node * const child = - node_cast<child_node *>( - this->children_.mfnode::value()[i].get()); - if (child && !(node_cast<light_node *>(child))) { - child->render_child(viewer, context); - } - } - - // Turn off sensitivity - if (nSensors > 0) { viewer.set_sensitive(0); } - - viewer.end_object(); - } - - this->node::modified(false); - } - - /** - * @brief Get the bounding volume. - * - * @return the bounding volume associated with the node. - */ - const openvrml::bounding_volume & - static_group_node::do_bounding_volume() const - { - if (this->bounding_volume_dirty()) { - const_cast<static_group_node *>(this) - ->recalc_bsphere(); - } - return this->bsphere; - } - - /** - * @fn void grouping_node_base<Derived>::recalc_bsphere() - * - * @brief Recalculate the bounding volume. - */ - void static_group_node::recalc_bsphere() - { - this->bsphere = bounding_sphere(); - for (size_t i = 0; i < this->children_.value().size(); ++i) { - const boost::intrusive_ptr<node> & node = - this->children_.value()[i]; - bounded_volume_node * bounded_volume = - node_cast<bounded_volume_node *>(node.get()); - if (bounded_volume) { - const openvrml::bounding_volume & ci_bv = - bounded_volume->bounding_volume(); - this->bsphere.extend(ci_bv); - } - } - this->bounding_volume_dirty(false); - } - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - static_group_node:: - static_group_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - bounded_volume_node(type, scope), - child_node(type, scope), - abstract_node<self_t>(type, scope), - grouping_node(type, scope), - bbox_size_(make_vec3f(-1.0f, -1.0f, -1.0f)), - viewerObject(0) - {} - - /** - * @brief Destroy. - */ - static_group_node::~static_group_node() OPENVRML_NOTHROW - {} -} - - -/** - * @brief @c node_metatype identifier. - */ -const char * const openvrml_node_x3d_grouping::static_group_metatype::id = - "urn:X-openvrml:node:StaticGroup"; - -/** - * @brief Construct. - * - * @param browser the browser associated with this static_group_metatype. - */ -openvrml_node_x3d_grouping::static_group_metatype:: -static_group_metatype(openvrml::browser & browser): - node_metatype(static_group_metatype::id, browser) -{} - -/** - * @brief Destroy. - */ -openvrml_node_x3d_grouping::static_group_metatype::~static_group_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 StaticGroup nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by static_group_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ -const boost::shared_ptr<openvrml::node_type> -openvrml_node_x3d_grouping::static_group_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::mfnode_id, - "children"), - node_interface(node_interface::field_id, - field_value::sfvec3f_id, - "bboxCenter"), - node_interface(node_interface::field_id, - field_value::sfvec3f_id, - "bboxSize") - }; - typedef node_type_impl<static_group_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, - &static_group_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &static_group_node::children_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &static_group_node::bbox_center_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &static_group_node::bbox_size_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; -} Copied: trunk/src/node/x3d-grouping/static_group.cpp (from rev 3638, branches/node-modules/src/node/x3d-grouping/static_group.cpp) =================================================================== --- trunk/src/node/x3d-grouping/static_group.cpp (rev 0) +++ trunk/src/node/x3d-grouping/static_group.cpp 2008-09-17 00:58:54 UTC (rev 3639) @@ -0,0 +1,378 @@ +// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- +// +// OpenVRML +// +// 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 +// the Free Software Foundation; either version 3 of the License, or (at your +// option) any later version. +// +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +// License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, see <http://www.gnu.org/licenses/>. +// + +# include "static_group.h" +# include <openvrml/node_impl_util.h> +# include <boost/array.hpp> + +# ifdef HAVE_CONFIG_H +# include <config.h> +# endif + +using namespace openvrml; +using namespace openvrml::node_impl_util; +using namespace std; + +namespace { + + /** + * @brief Represents StaticGroup node instances. + */ + class OPENVRML_LOCAL static_group_node : + public abstract_node<static_group_node>, + public grouping_node { + + friend class openvrml_node_x3d_grouping::static_group_metatype; + + mfnode children_; + sfvec3f bbox_center_; + sfvec3f bbox_size_; + + viewer::object_t viewerObject; + + bounding_sphere bsphere; + + public: + + static_group_node(const node_type & type, + const boost::shared_ptr<openvrml::scope> & scope); + virtual ~static_group_node() OPENVRML_NOTHROW; + + + virtual bool modified() const; + + protected: + virtual void do_render_child(openvrml::viewer & viewer, + rendering_context context); + virtual const openvrml::bounding_volume & + do_bounding_volume() const; + virtual const std::vector<boost::intrusive_ptr<node> > + do_children() const OPENVRML_THROW1(std::bad_alloc); + + virtual void recalc_bsphere(); + void render_nocull(openvrml::viewer & viewer, + rendering_context context); + }; + + + /** + * @var static_group_node::static_group_metatype + * + * @brief Class object for StaticGroup nodes. + */ + + /** + * @var static_group_node::children_ + * + * @brief children field + */ + + /** + * @var static_group_node::bbox_center_ + * + * @brief bbox_center field + */ + + /** + * @var static_group_node::bbox_size_ + * + * @brief bbox_size field + */ + + /** + * @brief Get the children in the scene graph. + * + * @return the child nodes in the scene graph. + * + * @exception std::bad_alloc if memory allocation fails. + */ + const std::vector<boost::intrusive_ptr<node> > + static_group_node::do_children() const OPENVRML_THROW1(std::bad_alloc) + { + return this->children_.value(); + } + + /** + * @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 static_group_node::modified() const + { + if (this->node::modified()) { return true; } + for (size_t i = 0; i < this->children_.mfnode::value().size(); ++i) { + if (this->children_.mfnode::value()[i]->modified()) { + return true; + } + } + return false; + } + + /** + * @brief Render the node. + * + * Render each of the children. + * + * @param viewer a Viewer. + * @param context a rendering context. + */ + void + static_group_node:: + do_render_child(openvrml::viewer & viewer, rendering_context context) + { + if (context.cull_flag != bounding_volume::inside) { + using boost::polymorphic_downcast; + const bounding_sphere & bs = + *polymorphic_downcast<const bounding_sphere *>( + &this->bounding_volume()); + bounding_sphere bv_copy(bs); + bv_copy.transform(context.matrix()); + bounding_volume::intersection r = + viewer.intersect_view_volume(bv_copy); + if (context.draw_bounding_spheres) { + viewer.draw_bounding_sphere(bs, r); + } + if (r == bounding_volume::outside) { return; } + if (r == bounding_volume::inside) { + context.cull_flag = bounding_volume::inside; + } + } + this->render_nocull(viewer, context); + } + + /** + * because children will already have done the culling, we don't need + * to repeat it here. + */ + void + static_group_node::render_nocull(openvrml::viewer & viewer, + rendering_context context) + { + using std::vector; + + if (this->viewerObject && this->modified()) { + viewer.remove_object(this->viewerObject); + this->viewerObject = 0; + } + + if (this->viewerObject) { + viewer.insert_reference(this->viewerObject); + } else if (!this->children_.mfnode::value().empty()) { + vector<boost::intrusive_ptr<node> >::size_type i; + vector<boost::intrusive_ptr<node> >::size_type n = + this->children_.mfnode::value().size(); + size_t nSensors = 0; + + this->viewerObject = viewer.begin_object(this->id().c_str()); + + // Draw nodes that impact their siblings (DirectionalLights, + // TouchSensors, any others? ...) + for (i = 0; i < n; ++i) { + child_node * const child = + node_cast<child_node *>( + this->children_.mfnode::value()[i].get()); + if (child) { + if (node_cast<light_node *>(child) + && !(node_cast<scoped_light_node *>(child))) { + child->render_child(viewer, context); + } else if ( + node_cast<pointing_device_sensor_node *>(child)) { + if (++nSensors == 1) { + viewer.set_sensitive(this); + } + } + } + } + + // Do the rest of the children (except the scene-level lights) + for (i = 0; i<n; ++i) { + child_node * const child = + node_cast<child_node *>( + this->children_.mfnode::value()[i].get()); + if (child && !(node_cast<light_node *>(child))) { + child->render_child(viewer, context); + } + } + + // Turn off sensitivity + if (nSensors > 0) { viewer.set_sensitive(0); } + + viewer.end_object(); + } + + this->node::modified(false); + } + + /** + * @brief Get the bounding volume. + * + * @return the bounding volume associated with the node. + */ + const openvrml::bounding_volume & + static_group_node::do_bounding_volume() const + { + if (this->bounding_volume_dirty()) { + const_cast<static_group_node *>(this) + ->recalc_bsphere(); + } + return this->bsphere; + } + + /** + * @fn void grouping_node_base<Derived>::recalc_bsphere() + * + * @brief Recalculate the bounding volume. + */ + void static_group_node::recalc_bsphere() + { + this->bsphere = bounding_sphere(); + for (size_t i = 0; i < this->children_.value().size(); ++i) { + const boost::intrusive_ptr<node> & node = + this->children_.value()[i]; + bounded_volume_node * bounded_volume = + node_cast<bounded_volume_node *>(node.get()); + if (bounded_volume) { + const openvrml::bounding_volume & ci_bv = + bounded_volume->bounding_volume(); + this->bsphere.extend(ci_bv); + } + } + this->bounding_volume_dirty(false); + } + + /** + * @brief Construct. + * + * @param type the node_type associated with this node. + * @param scope the scope to which the node belongs. + */ + static_group_node:: + static_group_node(const node_type & type, + const boost::shared_ptr<openvrml::scope> & scope): + node(type, scope), + bounded_volume_node(type, scope), + child_node(type, scope), + abstract_node<self_t>(type, scope), + grouping_node(type, scope), + bbox_size_(make_vec3f(-1.0f, -1.0f, -1.0f)), + viewerObject(0) + {} + + /** + * @brief Destroy. + */ + static_group_node::~static_group_node() OPENVRML_NOTHROW + {} +} + + +/** + * @brief @c node_metatype identifier. + */ +const char * const openvrml_node_x3d_grouping::static_group_metatype::id = + "urn:X-openvrml:node:StaticGroup"; + +/** + * @brief Construct. + * + * @param browser the browser associated with this static_group_metatype. + */ +openvrml_node_x3d_grouping::static_group_metatype:: +static_group_metatype(openvrml::browser & browser): + node_metatype(static_group_metatype::id, browser) +{} + +/** + * @brief Destroy. + */ +openvrml_node_x3d_grouping::static_group_metatype::~static_group_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 StaticGroup nodes. + * + * @exception unsupported_interface if @p interfaces includes an interface + * not supported by static_group_metatype. + * @exception std::bad_alloc if memory allocation fails. + */ +const boost::shared_ptr<openvrml::node_type> +openvrml_node_x3d_grouping::static_group_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::mfnode_id, + "children"), + node_interface(node_interface::field_id, + field_value::sfvec3f_id, + "bboxCenter"), + node_interface(node_interface::field_id, + field_value::sfvec3f_id, + "bboxSize") + }; + typedef node_type_impl<static_group_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, + &static_group_node::metadata); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_field( + supported_interface->field_type, + supported_interface->id, + &static_group_node::children_); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_field( + supported_interface->field_type, + supported_interface->id, + &static_group_node::bbox_center_); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_field( + supported_interface->field_type, + supported_interface->id, + &static_group_node::bbox_size_); + } else { + throw unsupported_interface(*interface_); + } + } + return type; +} Deleted: trunk/src/node/x3d-grouping/static_group.h =================================================================== --- branches/node-modules/src/node/x3d-grouping/static_group.h 2008-09-17 00:45:22 UTC (rev 3638) +++ trunk/src/node/x3d-grouping/static_group.h 2008-09-17 00:58:54 UTC (rev 3639) @@ -1,47 +0,0 @@ -// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// 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 -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# ifndef OPENVRML_NODE_X3D_GROUPING_STATIC_GROUP_H -# define OPENVRML_NODE_X3D_GROUPING_STATIC_GROUP_H - -# include <openvrml/node.h> - -namespace openvrml_node_x3d_grouping { - - /** - * @brief Class object for StaticGroup nodes. - */ - class OPENVRML_LOCAL static_group_metatype : - public openvrml::node_metatype { - public: - static const char * const id; - - explicit static_group_metatype(openvrml::browser & browser); - virtual ~static_group_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; -} - -# endif // ifndef OPENVRML_NODE_X3D_GROUPING_STATIC_GROUP_H Copied: trunk/src/node/x3d-grouping/static_group.h (from rev 3638, branches/node-modules/src/node/x3d-grouping/static_group.h) =================================================================== --- trunk/src/node/x3d-grouping/static_group.h ... [truncated message content] |
From: <br...@us...> - 2008-09-18 06:30:40
|
Revision: 3645 http://openvrml.svn.sourceforge.net/openvrml/?rev=3645&view=rev Author: braden Date: 2008-09-18 06:30:48 +0000 (Thu, 18 Sep 2008) Log Message: ----------- Moved X3D Shape 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_shape.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-shape/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-shape/x3d-shape.vcproj trunk/src/node/x3d-shape/ 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 Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-shape/x3d-shape.vcproj 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 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 Property changes on: trunk ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641 + /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-18 06:24:52 UTC (rev 3644) +++ trunk/ChangeLog 2008-09-18 06:30:48 UTC (rev 3645) @@ -1,3 +1,20 @@ +2008-09-18 Braden McDaniel <br...@en...> + + Moved X3D Shape node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-shape static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-shape/x3d-shape.vcproj + * src/Makefile.am: Added convenience library + node/x3d-shape/libx3d-shape.la. + * src/libopenvrml/openvrml/x3d_shape.cpp: Moved node + implementations to separate files. + * src/node/x3d-shape/fill_properties.cpp + * src/node/x3d-shape/fill_properties.h + * src/node/x3d-shape/line_properties.cpp + * src/node/x3d-shape/line_properties.h + 2008-09-17 Braden McDaniel <br...@en...> Moved X3D Rendering 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-18 06:24:52 UTC (rev 3644) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-18 06:30:48 UTC (rev 3645) @@ -51,6 +51,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-rendering", "x3d-rendering\x3d-rendering.vcproj", "{7DAC4CA0-9382-4ED0-A26E-A5F84776054C}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-shape", "x3d-shape\x3d-shape.vcproj", "{95D646C4-B759-469D-BDBB-A370A5778CA5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -105,6 +107,10 @@ {7DAC4CA0-9382-4ED0-A26E-A5F84776054C}.Debug|Win32.Build.0 = Debug|Win32 {7DAC4CA0-9382-4ED0-A26E-A5F84776054C}.Release|Win32.ActiveCfg = Release|Win32 {7DAC4CA0-9382-4ED0-A26E-A5F84776054C}.Release|Win32.Build.0 = Release|Win32 + {95D646C4-B759-469D-BDBB-A370A5778CA5}.Debug|Win32.ActiveCfg = Debug|Win32 + {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 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-shape ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-shape.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-shape/x3d-shape.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-shape/x3d-shape.vcproj 2008-09-18 06:24:52 UTC (rev 3644) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-shape/x3d-shape.vcproj 2008-09-18 06:30:48 UTC (rev 3645) @@ -1,187 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-shape" - ProjectGUID="{95D646C4-B759-469D-BDBB-A370A5778CA5}" - RootNamespace="x3dshape" - 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-shape\fill_properties.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-shape\line_properties.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-shape\fill_properties.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-shape\line_properties.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-shape/x3d-shape.vcproj (from rev 3644, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-shape/x3d-shape.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-shape/x3d-shape.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-shape/x3d-shape.vcproj 2008-09-18 06:30:48 UTC (rev 3645) @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-shape" + ProjectGUID="{95D646C4-B759-469D-BDBB-A370A5778CA5}" + RootNamespace="x3dshape" + 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-shape\fill_properties.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-shape\line_properties.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-shape\fill_properties.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-shape\line_properties.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-18 06:24:52 UTC (rev 3644) +++ trunk/src/Makefile.am 2008-09-18 06:30:48 UTC (rev 3645) @@ -8,7 +8,8 @@ node/x3d-core/libx3d-core.la \ node/x3d-networking/libx3d-networking.la \ node/x3d-grouping/libx3d-grouping.la \ - node/x3d-rendering/libx3d-rendering.la + node/x3d-rendering/libx3d-rendering.la \ + node/x3d-shape/libx3d-shape.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -145,6 +146,7 @@ node/x3d-networking/libx3d-networking.la \ node/x3d-grouping/libx3d-grouping.la \ node/x3d-rendering/libx3d-rendering.la \ + node/x3d-shape/libx3d-shape.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -379,6 +381,17 @@ node/x3d-rendering/triangle_strip_set.cpp \ node/x3d-rendering/triangle_strip_set.h +node_x3d_shape_libx3d_shape_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_shape_libx3d_shape_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_shape_libx3d_shape_la_SOURCES = \ + node/x3d-shape/fill_properties.cpp \ + node/x3d-shape/fill_properties.h \ + node/x3d-shape/line_properties.cpp \ + node/x3d-shape/line_properties.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_shape.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_shape.cpp 2008-09-18 06:24:52 UTC (rev 3644) +++ trunk/src/libopenvrml/openvrml/x3d_shape.cpp 2008-09-18 06:30:48 UTC (rev 3645) @@ -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,62 +18,20 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include "browser.h" +# include "x3d_shape.h" +# include <x3d-shape/fill_properties.h> +# include <x3d-shape/line_properties.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_shape.h" - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Class object for FillProperties nodes. - */ - class OPENVRML_LOCAL fill_properties_metatype : public node_metatype { - public: - static const char * const id; - - explicit fill_properties_metatype(openvrml::browser & browser); - virtual ~fill_properties_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 LineProperties nodes. - */ - class OPENVRML_LOCAL line_properties_metatype : public node_metatype { - public: - static const char * const id; - - explicit line_properties_metatype(openvrml::browser & browser); - virtual ~line_properties_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_shape_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; + using namespace openvrml_node_x3d_shape; b.add_node_metatype(fill_properties_metatype::id, shared_ptr<node_metatype>( new fill_properties_metatype(b))); @@ -81,348 +39,3 @@ shared_ptr<node_metatype>( new line_properties_metatype(b))); } - -namespace { - - using namespace openvrml_; - - class OPENVRML_LOCAL fill_properties_node : - public abstract_node<fill_properties_node> { - - friend class fill_properties_metatype; - - exposedfield<sfbool> filled_; - exposedfield<sfcolor> hatch_color_; - exposedfield<sfbool> hatched_; - exposedfield<sfint32> hatch_style_; - - public: - fill_properties_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~fill_properties_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL line_properties_node : - public abstract_node<line_properties_node> { - - friend class line_properties_metatype; - - exposedfield<sfbool> applied_; - exposedfield<sfint32> line_type_; - exposedfield<sffloat> linewidth_scale_factor_; - - public: - line_properties_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~line_properties_node() OPENVRML_NOTHROW; - }; - - - /** - * @brief @c node_metatype identifier. - */ - const char * const fill_properties_metatype::id = - "urn:X-openvrml:node:FillProperties"; - - /** - * @brief Construct. - * - * @param browser the browser associated with this fill_properties_metatype. - */ - fill_properties_metatype::fill_properties_metatype(openvrml::browser & browser): - node_metatype(fill_properties_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - fill_properties_metatype::~fill_properties_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 FillProperties nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by fill_properties_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - fill_properties_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, 5> 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::exposedfield_id, - field_value::sfbool_id, - "filled"), - node_interface(node_interface::exposedfield_id, - field_value::sfcolor_id, - "hatchColor"), - node_interface(node_interface::exposedfield_id, - field_value::sfbool_id, - "hatched"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "hatchStyle") - }; - typedef node_type_impl<fill_properties_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, - &fill_properties_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &fill_properties_node::filled_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &fill_properties_node::hatch_color_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &fill_properties_node::hatched_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &fill_properties_node::hatch_style_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @class fill_properties_node - * - * @brief Represents FillProperties node instances. - */ - - /** - * @var fill_properties_node::fill_properties_metatype - * - * @brief Class object for FillProperties nodes. - */ - - /** - * @var fill_properties_node::filled_ - * - * @brief filled exposedField - */ - - /** - * @var fill_properties_node::hatch_color_ - * - * @brief hatch_color exposedField - */ - - /** - * @var fill_properties_node::hatched_ - * - * @brief hatched exposedField - */ - - /** - * @var fill_properties_node::hatch_style_ - * - * @brief hatch_style exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - fill_properties_node:: - fill_properties_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - filled_(*this, true), - hatch_color_(*this, make_color(1.0, 1.0, 1.0)), - hatched_(*this, true), - hatch_style_(*this, 1) - {} - - /** - * @brief Destroy. - */ - fill_properties_node::~fill_properties_node() OPENVRML_NOTHROW - {} - - - /** - * @brief @c node_metatype identifier. - */ - const char * const line_properties_metatype::id = - "urn:X-openvrml:node:LineProperties"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c line_properties_metatype. - */ - line_properties_metatype::line_properties_metatype(openvrml::browser & browser): - node_metatype(line_properties_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - line_properties_metatype::~line_properties_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 LineProperties nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by line_properties_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - line_properties_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::exposedfield_id, - field_value::sfbool_id, - "applied"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "lineType"), - node_interface(node_interface::exposedfield_id, - field_value::sffloat_id, - "linewidthScaleFactor") - }; - typedef node_type_impl<line_properties_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, - &line_properties_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &line_properties_node::applied_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &line_properties_node::line_type_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &line_properties_node::linewidth_scale_factor_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @class line_properties_node - * - * @brief Represents LineProperties node instances. - */ - - /** - * @var line_properties_node::line_properties_metatype - * - * @brief Class object for LineProperties nodes. - */ - - /** - * @var line_properties_node::applied_ - * - * @brief applied exposedField - */ - - /** - * @var line_properties_node::line_type_ - * - * @brief line_type exposedField - */ - - /** - * @var line_properties_node::linewidth_scale_factor_ - * - * @brief linewidth_scale_factor exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - line_properties_node:: - line_properties_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - applied_(*this, true), - line_type_(*this, 1), - linewidth_scale_factor_(*this) - {} - - /** - * @brief Destroy. - */ - line_properties_node::~line_properties_node() OPENVRML_NOTHROW - {} -} Property changes on: trunk/src/node/x3d-core/metadata_double.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635,3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635,3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-core/metadata_double.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635,3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635,3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-core/metadata_float.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635,3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635,3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-core/metadata_float.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635,3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635,3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-core/metadata_integer.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635,3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635,3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-core/metadata_integer.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635,3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635,3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-core/metadata_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635,3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635,3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-core/metadata_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635,3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635,3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-core/metadata_string.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635,3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635,3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-core/metadata_string.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635,3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635,3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-grouping/static_group.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-grouping/static_group.cpp:3640-3641 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 + /branches/node-modules/src/node/x3d-grouping/static_group.cpp:3640-3641,3643-3644 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 Property changes on: trunk/src/node/x3d-grouping/static_group.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-grouping/static_group.h:3640-3641 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 + /branches/node-modules/src/node/x3d-grouping/static_group.h:3640-3641,3643-3644 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 Property changes on: trunk/src/node/x3d-networking/load_sensor.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-networking/load_sensor.cpp:3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-networking/load_sensor.cpp:3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-networking/load_sensor.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-networking/load_sensor.h:3637-3638,3640-3641 + /branches/node-modules/src/node/x3d-networking/load_sensor.h:3637-3638,3640-3641,3643-3644 Property changes on: trunk/src/node/x3d-rendering/color_rgba.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/color_rgba.cpp:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/color_rgba.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/color_rgba.h:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/indexed_triangle_fan_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/indexed_triangle_fan_set.cpp:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/indexed_triangle_fan_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/indexed_triangle_fan_set.h:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/indexed_triangle_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/indexed_triangle_set.cpp:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/indexed_triangle_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/indexed_triangle_set.h:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/indexed_triangle_strip_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/indexed_triangle_strip_set.cpp:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/indexed_triangle_strip_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/indexed_triangle_strip_set.h:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/triangle_fan_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/triangle_fan_set.cpp:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/triangle_fan_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/triangle_fan_set.h:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/triangle_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/triangle_set.cpp:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/triangle_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/triangle_set.h:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/triangle_strip_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/triangle_strip_set.cpp:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/triangle_strip_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/triangle_strip_set.h:3643-3644 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Deleted: trunk/src/node/x3d-shape/fill_properties.cpp =================================================================== --- branches/node-modules/src/node/x3d-shape/fill_properties.cpp 2008-09-18 06:24:52 UTC (rev 3644) +++ trunk/src/node/x3d-shape/fill_properties.cpp 2008-09-18 06:30:48 UTC (rev 3645) @@ -1,212 +0,0 @@ -// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// 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 -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# include "fill_properties.h" -# include <openvrml/node_impl_util.h> -# include <boost/array.hpp> - -# ifdef HAVE_CONFIG_H -# include <config.h> -# endif - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Represents FillProperties node instances. - */ - class OPENVRML_LOCAL fill_properties_node : - public abstract_node<fill_properties_node> { - - friend class openvrml_node_x3d_shape::fill_properties_metatype; - - exposedfield<sfbool> filled_; - exposedfield<sfcolor> hatch_color_; - exposedfield<sfbool> hatched_; - exposedfield<sfint32> hatch_style_; - - public: - fill_properties_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~fill_properties_node() OPENVRML_NOTHROW; - }; - - - /** - * @var fill_properties_node::fill_properties_metatype - * - * @brief Class object for FillProperties nodes. - */ - - /** - * @var fill_properties_node::filled_ - * - * @brief filled exposedField - */ - - /** - * @var fill_properties_node::hatch_color_ - * - * @brief hatch_color exposedField - */ - - /** - * @var fill_properties_node::hatched_ - * - * @brief hatched exposedField - */ - - /** - * @var fill_properties_node::hatch_style_ - * - * @brief hatch_style exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - fill_properties_node:: - fill_properties_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - filled_(*this, true), - hatch_color_(*this, make_color(1.0, 1.0, 1.0)), - hatched_(*this, true), - hatch_style_(*this, 1) - {} - - /** - * @brief Destroy. - */ - fill_properties_node::~fill_properties_node() OPENVRML_NOTHROW - {} -} - - -/** - * @brief @c node_metatype identifier. - */ -const char * const openvrml_node_x3d_shape::fill_properties_metatype::id = - "urn:X-openvrml:node:FillProperties"; - -/** - * @brief Construct. - * - * @param browser the browser associated with this fill_properties_metatype. - */ -openvrml_node_x3d_shape::fill_properties_metatype:: -fill_properties_metatype(openvrml::browser & browser): - node_metatype(fill_properties_metatype::id, browser) -{} - -/** - * @brief Destroy. - */ -openvrml_node_x3d_shape::fill_properties_metatype::~fill_properties_metatype() - OPENVRML_NOTHROW -{} - -/** - * @brief Create a node_type. - * - * @param id the name for the new @c node_type. - * @param interfaces the interfaces for the new @c node_type. - * - * @return a @c boost::shared_ptr to a @c node_type capable of creating - * FillProperties nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by - * @c fill_properties_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ -const boost::shared_ptr<openvrml::node_type> -openvrml_node_x3d_shape::fill_properties_metatype:: -do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc) -{ - typedef boost::array<node_interface, 5> 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::exposedfield_id, - field_value::sfbool_id, - "filled"), - node_interface(node_interface::exposedfield_id, - field_value::sfcolor_id, - "hatchColor"), - node_interface(node_interface::exposedfield_id, - field_value::sfbool_id, - "hatched"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "hatchStyle") - }; - typedef node_type_impl<fill_properties_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, - &fill_properties_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &fill_properties_node::filled_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &fill_properties_node::hatch_color_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &fill_properties_node::hatched_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &fill_properties_node::hatch_style_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; -} Copied: trunk/src/node/x3d-shape/fill_properties.cpp (from rev 3644, branches/node-modules/src/node/x3d-shape/fill_properties.cpp) =================================================================== --- trunk/src/node/x3d-shape/fill_properties.cpp (rev 0) +++ trunk/src/node/x3d-shape/fill_properties.cpp 2008-09-18 06:30:48 UTC (rev 3645) @@ -0,0 +1,212 @@ +// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- +// +// OpenVRML +// +// 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 +// the Free Software Foundation; either version 3 of the License, or (at your +// option) any later version. +// +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +// License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, see <http://www.gnu.org/licenses/>. +// + +# include "fill_properties.h" +# include <openvrml/node_impl_util.h> +# include <boost/array.hpp> + +# ifdef HAVE_CONFIG_H +# include <config.h> +# endif + +using namespace openvrml; +using namespace openvrml::node_impl_util; +using namespace std; + +namespace { + + /** + * @brief Represents FillProperties node instances. + */ + class OPENVRML_LOCAL fill_properties_node : + public abstract_node<fill_properties_node> { + + friend class openvrml_node_x3d_shape::fill_properties_metatype; + + exposedfield<sfbool> filled_; + exposedfield<sfcolor> hatch_color_; + exposedfield<sfbool> hatched_; + exposedfield<sfint32> hatch_style_; + + public: + fill_properties_node(const node_type & type, + const boost::shared_ptr<openvrml::scope> & scope); + virtual ~fill_properties_node() OPENVRML_NOTHROW; + }; + + + /** + * @var fill_properties_node::fill_properties_metatype + * + * @brief Class object for FillProperties nodes. + */ + + /** + * @var fill_properties_node::filled_ + * + * @brief filled exposedField + */ + + /** + * @var fill_properties_node::hatch_color_ + * + * @brief hatch_color exposedField + */ + + /** + * @var fill_properties_node::hatched_ + * + * @brief hatched exposedField + */ + + /** + * @var fill_properties_node::hatch_style_ + * + * @brief hatch_style exposedField + */ + + + /** + * @brief Construct. + * + * @param type the node_type associated with this node. + * @param scope the scope to which the node belongs. + */ + fill_properties_node:: + fill_properties_node(const node_type & type, + const boost::shared_ptr<openvrml::scope> & scope): + node(type, scope), + abstract_node<self_t>(type, scope), + filled_(*this, true), + hatch_color_(*this, make_color(1.0, 1.0, 1.0)), + hatched_(*this, true), + hatch_style_(*this, 1) + {} + + /** + * @brief Destroy. + */ + fill_properties_node::~fill_properties_node() OPENVRML_NOTHROW + {} +} + + +/** + * @brief @c node_metatype identifier. + */ +const char * const openvrml_node_x3d_shape::fill_properties_metatype::id = + "urn:X-openvrml:node:FillProperties"; + +/** + * @brief Construct. + * + * @param browser the browser associated with this fill_properties_metatype. + */ +openvrml_node_x3d_shape::fill_properties_metatype:: +fill_properties_metatype(openvrml::browser & browser): + node_metatype(fill_properties_metatype::id, browser) +{} + +/** + * @brief Destroy. + */ +openvrml_node_x3d_shape::fill_properties_metatype::~fill_properties_metatype() + OPENVRML_NOTHROW +{} + +/** + * @brief Create a node_type. + * + * @param id the name for the new @c node_type. + * @param interfaces the interfaces for the new @c node_type. + * + * @return a @c boost::shared_ptr to a @c node_type capable of creating + * FillProperties nodes. + * + * @exception unsupported_interface if @p interfaces includes an interface + * not supported by + * @c fill_properties_metatype. + * @exception std::bad_alloc if memory allocation fails. + */ +const boost::shared_ptr<openvrml::node_type> +openvrml_node_x3d_shape::fill_properties_metatype:: +do_create_type(const std::string & id, + const openvrml::node_interface_set & interfaces) const + OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc) +{ + typedef boost::array<node_interface, 5> 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::exposedfield_id, + field_value::sfbool_id, + "filled"), + node_interface(node_interface::exposedfield_id, + field_value::sfcolor_id, + "hatchColor"), + node_interface(node_interface::exposedfield_id, + field_value::sfbool_id, + "hatched"), + node_interface(node_interface::exposedfield_id, + field_value::sfint32_id, + "hatchStyle") + }; + typedef node_type_impl<fill_properties_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, + &fill_properties_node::metadata); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_exposedfield( + supported_interface->field_type, + supported_interface->id, + &fill_properties_node::filled_); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_exposedfield( + supported_interface->field_type, + supported_interface->id, + &fill_properties_node::hatch_color_); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_exposedfield( + supported_interface->field_type, + supported_interface->id, + &fill_properties_node::hatched_); + } else if (*interface_ == *++supported_interface) { + the_node_type.add_exposedfield( + supported_interface->field_type, + supported_interface->id, + &fill_properties_node::hatch_style_); + } else { + throw unsupported_interface(*interface_); + } + } + return type; +} Deleted: trunk/src/node/x3d-shape/fill_properties.h =================================================================== --- branches/node-modules/src/node/x3d-shape/fill_properties.h 2008-09-18 06:24:52 UTC (rev 3644) +++ trunk/src/node/x3d-shape/fill_properties.h 2008-09-18 06:30:48 UTC (rev 3645) @@ -1,47 +0,0 @@ -// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// 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 -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# ifndef OPENVRML_NODE_X3D_SHAPE_FILL_PROPERTIES_H -# define OPENVRML_NODE_X3D_SHAPE_FILL_PROPERTIES_H - -# include <openvrml/node.h> - -namespace openvrml_node_x3d_shape { - - /** - * @brief Class object for FillProperties nodes. - */ - class OPENVRML_LOCAL fill_properties_metatype : - public openvrml::node_metatype { - public: - static const char * const id; - - explicit fill_properties_metatype(openvrml::browser & browser); - virtual ~fill_properties_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; -} - -# endif // ifndef OPENVRML_NODE_X3D_SHAPE_FILL_PROPERTIES_H Copied: trunk/src/node/x3d-shape/fill_properties.h (from rev 3644, branches/node-modules/src/node/x3d-shape/fill_properties.h) =================================================================== --- trunk/src/node/x3d-shape/fill_properties.h (rev 0) +++ trunk/src/node/x3d-shape/fill_properties.h 2008-09-18 06:30:48 UTC (rev 3645) @@ -0,0 +1,47 @@ +// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- +// +// OpenVRML +// +// 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 +// the Free Software Foundation; either version 3 of the License, or (at your +// option) any later version. +// +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +// License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, see <http://www.gnu.org/licenses/>. +// + +# ifndef OPENVRML_NODE_X3D_SHAPE_FILL_PROPERTIES_H +# define OPENVRML_NODE_X3D_SHAPE_FILL_PROPERTIES_H + +# include <openvrml/node.h> + +namespace openvrml_node_x3d_shape { + + /** + * @brief Class object for FillProperties nodes. + */ + class OPENVRML_LOCAL fill_properties_metatype : + public openvrml::node_metatype { + public: + static const char * const id; + + explicit fill_properties_metatype(openvrml::browser & browser); + virtual ~fill_properties_metatype() OPENVRML_NOTHROW; + + private: + virtual const boost::shared_ptr<openvrml::node_type> + do_create_type(const std::string & id, + const openvrml::node_interface_set & interfaces) const + OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); + }; +} + +# endif // if... [truncated message content] |
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] |
From: <br...@us...> - 2008-09-21 05:29:36
|
Revision: 3652 http://openvrml.svn.sourceforge.net/openvrml/?rev=3652&view=rev Author: braden Date: 2008-09-21 05:29:16 +0000 (Sun, 21 Sep 2008) Log Message: ----------- Moved X3D Texturing 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_texturing.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-texturing/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-texturing/x3d-texturing.vcproj trunk/src/node/x3d-texturing/ 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 Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-texturing/x3d-texturing.vcproj 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 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-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-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,3646-3647 + /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-21 05:18:58 UTC (rev 3651) +++ trunk/ChangeLog 2008-09-21 05:29:16 UTC (rev 3652) @@ -1,3 +1,24 @@ +2008-09-21 Braden McDaniel <br...@en...> + + Moved X3D Texturing node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-texturing static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-texturing/x3d-texturing.vcproj + * src/Makefile.am: Added convenience library + node/x3d-texturing/libx3d-texturing.la. + * src/libopenvrml/openvrml/x3d_texturing.cpp: Moved node + implementations to separate files. + * src/node/x3d-texturing/multi_texture.h + * src/node/x3d-texturing/multi_texture_coordinate.cpp + * src/node/x3d-texturing/texture_coordinate_generator.h + * src/node/x3d-texturing/multi_texture_transform.cpp + * src/node/x3d-texturing/multi_texture_coordinate.h + * src/node/x3d-texturing/multi_texture.cpp + * src/node/x3d-texturing/multi_texture_transform.h + * src/node/x3d-texturing/texture_coordinate_generator.cpp + 2008-09-20 Braden McDaniel <br...@en...> Moved X3D Geometry2D node implementations into a convenience @@ -7,7 +28,7 @@ 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. + node/x3d-geometry2d/libx3d-geometry2d.la. * src/libopenvrml/openvrml/x3d_geometry2d.cpp: Moved node implementations to separate files. * src/node/x3d-geometry2d/rectangle2d.h Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 05:18:58 UTC (rev 3651) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 05:29:16 UTC (rev 3652) @@ -8,6 +8,7 @@ {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} + {20B850E9-E417-49A2-A66C-38827401597B} = {20B850E9-E417-49A2-A66C-38827401597B} {1D32E4EB-6613-4270-8295-7113712BC6C5} = {1D32E4EB-6613-4270-8295-7113712BC6C5} EndProjectSection EndProject @@ -57,6 +58,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-geometry2d", "x3d-geometry2d\x3d-geometry2d.vcproj", "{61A31C6F-23A1-4243-A338-EF749912592A}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-texturing", "x3d-texturing\x3d-texturing.vcproj", "{20B850E9-E417-49A2-A66C-38827401597B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -119,6 +122,10 @@ {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 + {20B850E9-E417-49A2-A66C-38827401597B}.Debug|Win32.ActiveCfg = Debug|Win32 + {20B850E9-E417-49A2-A66C-38827401597B}.Debug|Win32.Build.0 = Debug|Win32 + {20B850E9-E417-49A2-A66C-38827401597B}.Release|Win32.ActiveCfg = Release|Win32 + {20B850E9-E417-49A2-A66C-38827401597B}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-texturing ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-texturing.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-texturing/x3d-texturing.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-texturing/x3d-texturing.vcproj 2008-09-21 04:11:28 UTC (rev 3650) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-texturing/x3d-texturing.vcproj 2008-09-21 05:29:16 UTC (rev 3652) @@ -1,203 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-texturing" - ProjectGUID="{20B850E9-E417-49A2-A66C-38827401597B}" - RootNamespace="x3dtexturing" - 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-texturing\multi_texture.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-texturing\multi_texture_coordinate.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-texturing\multi_texture_transform.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-texturing\texture_coordinate_generator.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-texturing\multi_texture.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-texturing\multi_texture_coordinate.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-texturing\multi_texture_transform.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-texturing\texture_coordinate_generator.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-texturing/x3d-texturing.vcproj (from rev 3650, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-texturing/x3d-texturing.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-texturing/x3d-texturing.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-texturing/x3d-texturing.vcproj 2008-09-21 05:29:16 UTC (rev 3652) @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-texturing" + ProjectGUID="{20B850E9-E417-49A2-A66C-38827401597B}" + RootNamespace="x3dtexturing" + 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-texturing\multi_texture.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-texturing\multi_texture_coordinate.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-texturing\multi_texture_transform.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-texturing\texture_coordinate_generator.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-texturing\multi_texture.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-texturing\multi_texture_coordinate.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-texturing\multi_texture_transform.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-texturing\texture_coordinate_generator.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 05:18:58 UTC (rev 3651) +++ trunk/src/Makefile.am 2008-09-21 05:29:16 UTC (rev 3652) @@ -10,7 +10,8 @@ node/x3d-grouping/libx3d-grouping.la \ node/x3d-rendering/libx3d-rendering.la \ node/x3d-shape/libx3d-shape.la \ - node/x3d-geometry2d/libx3d-geometry2d.la + node/x3d-geometry2d/libx3d-geometry2d.la \ + node/x3d-texturing/libx3d-texturing.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -149,6 +150,7 @@ node/x3d-rendering/libx3d-rendering.la \ node/x3d-shape/libx3d-shape.la \ node/x3d-geometry2d/libx3d-geometry2d.la \ + node/x3d-texturing/libx3d-texturing.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -417,6 +419,21 @@ node/x3d-geometry2d/triangle_set2d.cpp \ node/x3d-geometry2d/triangle_set2d.h +node_x3d_texturing_libx3d_texturing_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_texturing_libx3d_texturing_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_texturing_libx3d_texturing_la_SOURCES = \ + node/x3d-texturing/multi_texture.cpp \ + node/x3d-texturing/multi_texture.h \ + node/x3d-texturing/multi_texture_coordinate.cpp \ + node/x3d-texturing/multi_texture_coordinate.h \ + node/x3d-texturing/multi_texture_transform.cpp \ + node/x3d-texturing/multi_texture_transform.h \ + node/x3d-texturing/texture_coordinate_generator.cpp \ + node/x3d-texturing/texture_coordinate_generator.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_texturing.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_texturing.cpp 2008-09-21 05:18:58 UTC (rev 3651) +++ trunk/src/libopenvrml/openvrml/x3d_texturing.cpp 2008-09-21 05:29:16 UTC (rev 3652) @@ -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 @@ -22,98 +22,21 @@ # include <config.h> # endif -# include <boost/array.hpp> -# include <private.h> # include "browser.h" -# include "node_impl_util.h" # include "x3d_texturing.h" +# include <x3d-texturing/multi_texture.h> +# include <x3d-texturing/multi_texture_coordinate.h> +# include <x3d-texturing/multi_texture_transform.h> +# include <x3d-texturing/texture_coordinate_generator.h> -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Class object for MultiTexture nodes. - */ - class OPENVRML_LOCAL multi_texture_metatype : public node_metatype { - public: - static const char * const id; - - explicit multi_texture_metatype(openvrml::browser & browser); - virtual ~multi_texture_metatype() throw (); - - private: - virtual const boost::shared_ptr<node_type> - do_create_type(const std::string & id, - const node_interface_set & interfaces) const - throw (unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for MultiTextureCoordinate nodes. - */ - class OPENVRML_LOCAL multi_texture_coordinate_metatype : public node_metatype { - public: - static const char * const id; - - explicit multi_texture_coordinate_metatype(openvrml::browser & browser); - virtual ~multi_texture_coordinate_metatype() throw (); - - private: - virtual const boost::shared_ptr<node_type> - do_create_type(const std::string & id, - const node_interface_set & interfaces) const - throw (unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for MultiTextureTransform nodes. - */ - class OPENVRML_LOCAL multi_texture_transform_metatype : public node_metatype { - public: - static const char * const id; - - explicit multi_texture_transform_metatype(openvrml::browser & browser); - virtual ~multi_texture_transform_metatype() throw (); - - private: - virtual const boost::shared_ptr<node_type> - do_create_type(const std::string & id, - const node_interface_set & interfaces) const - throw (unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for TextureCoordinateGenerator nodes. - */ - class OPENVRML_LOCAL texture_coordinate_generator_metatype : - public node_metatype { - public: - static const char * const id; - - explicit texture_coordinate_generator_metatype( - openvrml::browser & browser); - virtual ~texture_coordinate_generator_metatype() throw (); - - private: - virtual const boost::shared_ptr<node_type> - do_create_type(const std::string & id, - const node_interface_set & interfaces) const - throw (unsupported_interface, std::bad_alloc); - }; -} - void register_texturing_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; + using namespace openvrml_node_x3d_texturing; b.add_node_metatype(multi_texture_metatype::id, - shared_ptr<node_metatype>(new multi_texture_metatype(b))); + shared_ptr<node_metatype>( + new multi_texture_metatype(b))); b.add_node_metatype( multi_texture_coordinate_metatype::id, shared_ptr<node_metatype>(new multi_texture_coordinate_metatype(b))); @@ -122,633 +45,6 @@ shared_ptr<node_metatype>(new multi_texture_transform_metatype(b))); b.add_node_metatype( texture_coordinate_generator_metatype::id, - shared_ptr<node_metatype>(new texture_coordinate_generator_metatype(b))); + shared_ptr<node_metatype>( + new texture_coordinate_generator_metatype(b))); } - -namespace { - - using namespace openvrml_; - - class OPENVRML_LOCAL multi_texture_node : - public abstract_node<multi_texture_node> { - - friend class multi_texture_metatype; - - exposedfield<sffloat> alpha_; - exposedfield<sfcolor> color_; - exposedfield<mfstring> function_; - exposedfield<mfstring> mode_; - exposedfield<mfstring> source_; - exposedfield<mfnode> texture_; - - public: - multi_texture_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~multi_texture_node() throw (); - }; - - - class OPENVRML_LOCAL multi_texture_coordinate_node : - public abstract_node<multi_texture_coordinate_node> { - - friend class multi_texture_coordinate_metatype; - - exposedfield<mfnode> tex_coord_; - - public: - multi_texture_coordinate_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~multi_texture_coordinate_node() throw (); - }; - - - class OPENVRML_LOCAL multi_texture_transform_node : - public abstract_node<multi_texture_transform_node> { - friend class multi_texture_transform_metatype; - - exposedfield<mfnode> texture_transform_; - - public: - multi_texture_transform_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~multi_texture_transform_node() throw (); - }; - - - class OPENVRML_LOCAL texture_coordinate_generator_node : - public abstract_node<texture_coordinate_generator_node> { - friend class texture_coordinate_generator_metatype; - - exposedfield<sfstring> mode_; - exposedfield<mffloat> parameter_; - - public: - texture_coordinate_generator_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~texture_coordinate_generator_node() throw (); - }; - - - /** - * @brief @c node_metatype identifier. - */ - const char * const multi_texture_metatype::id = - "urn:X-openvrml:node:MultiTexture"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c multi_texture_metatype. - */ - multi_texture_metatype::multi_texture_metatype(openvrml::browser & browser): - node_metatype(multi_texture_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - multi_texture_metatype::~multi_texture_metatype() throw () - {} - - /** - * @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 MultiTexture nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by multi_texture_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - multi_texture_metatype:: - do_create_type(const std::string & id, - const node_interface_set & interfaces) const - throw (unsupported_interface, std::bad_alloc) - { - typedef boost::array<node_interface, 7> 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::exposedfield_id, - field_value::sffloat_id, - "alpha"), - node_interface(node_interface::exposedfield_id, - field_value::sfcolor_id, - "color"), - node_interface(node_interface::exposedfield_id, - field_value::mfstring_id, - "function"), - node_interface(node_interface::exposedfield_id, - field_value::mfstring_id, - "mode"), - node_interface(node_interface::exposedfield_id, - field_value::mfstring_id, - "source"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "texture") - }; - typedef node_type_impl<multi_texture_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, - &multi_texture_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &multi_texture_node::alpha_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &multi_texture_node::color_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &multi_texture_node::function_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &multi_texture_node::mode_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &multi_texture_node::source_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &multi_texture_node::texture_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const multi_texture_coordinate_metatype::id = - "urn:X-openvrml:node:MultiTextureCoordinate"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c multi_texture_coordinate_metatype. - */ - multi_texture_coordinate_metatype:: - multi_texture_coordinate_metatype(openvrml::browser & browser): - node_metatype(multi_texture_coordinate_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - multi_texture_coordinate_metatype::~multi_texture_coordinate_metatype() throw () - {} - - /** - * @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 MultiTextureCoordinate nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by multi_texture_coordinate_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - multi_texture_coordinate_metatype:: - do_create_type(const std::string & id, - const node_interface_set & interfaces) const - throw (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::exposedfield_id, - field_value::mfnode_id, - "texCoord") - }; - typedef node_type_impl<multi_texture_coordinate_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, - &multi_texture_coordinate_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &multi_texture_coordinate_node::tex_coord_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const multi_texture_transform_metatype::id = - "urn:X-openvrml:node:MultiTextureTransform"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c multi_texture_transform_metatype. - */ - multi_texture_transform_metatype:: - multi_texture_transform_metatype(openvrml::browser & browser): - node_metatype(multi_texture_transform_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - multi_texture_transform_metatype::~multi_texture_transform_metatype() throw () - {} - - /** - * @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 MultiTextureTransform nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by multi_texture_transform_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - multi_texture_transform_metatype:: - do_create_type(const std::string & id, - const node_interface_set & interfaces) const - throw (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::exposedfield_id, - field_value::mfnode_id, - "textureTransform") - }; - typedef node_type_impl<multi_texture_transform_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, - &multi_texture_transform_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &multi_texture_transform_node::texture_transform_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const texture_coordinate_generator_metatype::id = - "urn:X-openvrml:node:TextureCoordinateGenerator"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c texture_coordinate_generator_metatype. - */ - texture_coordinate_generator_metatype:: - texture_coordinate_generator_metatype(openvrml::browser & browser): - node_metatype(texture_coordinate_generator_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - texture_coordinate_generator_metatype::~texture_coordinate_generator_metatype() throw () - {} - - /** - * @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 TextureCoordinateGenerator nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by texture_coordinate_generator_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - texture_coordinate_generator_metatype:: - do_create_type(const std::string & id, - const node_interface_set & interfaces) const - throw (unsupported_interface, std::bad_alloc) - { - typedef boost::array<node_interface, 3> 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::exposedfield_id, - field_value::sfstring_id, - "mode"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "parameter") - }; - typedef node_type_impl<texture_coordinate_generator_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, - &texture_coordinate_generator_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_coordinate_generator_node::mode_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_coordinate_generator_node::parameter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @class multi_texture_node - * - * @brief Represents MultiTexture node instances. - */ - - /** - * @var multi_texture_node::MultiTexture_metatype - * - * @brief Class object for MultiTexture nodes. - */ - - /** - * @var multi_texture_node::alpha_ - * - * @brief alpha exposedField - */ - - /** - * @var multi_texture_node::color_ - * - * @brief color exposedField - */ - - /** - * @var multi_texture_node::function_ - * - * @brief function exposedField - */ - - /** - * @var multi_texture_node::mode_ - * - * @brief mode exposedField - */ - - /** - * @var multi_texture_node::source_ - * - * @brief source exposedField - */ - - /** - * @var multi_texture_node::texture_ - * - * @brief texture exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - multi_texture_node:: - multi_texture_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - alpha_(*this, 1), - color_(*this, make_color(1.0, 1.0, 1.0)), - function_(*this), - mode_(*this), - source_(*this), - texture_(*this) - {} - - /** - * @brief Destroy. - */ - multi_texture_node::~multi_texture_node() throw () - {} - - - /** - * @class multi_texture_coordinate_node - * - * @brief Represents MultiTextureCoordinate node instances. - */ - - /** - * @var multi_texture_coordinate_node::multi_texture_coordinate_metatype - * - * @brief Class object for MultiTextureCoordinate nodes. - */ - - /** - * @var multi_texture_coordinate_node::tex_coord_ - * - * @brief tex_coord exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - multi_texture_coordinate_node:: - multi_texture_coordinate_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - tex_coord_(*this) - {} - - /** - * @brief Destroy. - */ - multi_texture_coordinate_node::~multi_texture_coordinate_node() throw () - {} - - - /** - * @class multi_texture_transform_node - * - * @brief Represents MultiTextureTransform node instances. - */ - - /** - * @var multi_texture_transform_node::multi_texture_transform_metatype - * - * @brief Class object for MultiTextureTransform nodes. - */ - - /** - * @var multi_texture_transform_node::texture_transform_ - * - * @brief texture_transform exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - multi_texture_transform_node:: - multi_texture_transform_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - texture_transform_(*this) - {} - - /** - * @brief Destroy. - */ - multi_texture_transform_node::~multi_texture_transform_node() throw () - {} - - - /** - * @class texture_coordinate_generator_node - * - * @brief Represents TextureCoordinateGenerator node instances. - */ - - /** - * @var texture_coordinate_generator_node::texture_coordinate_generator_metatype - * - * @brief Class object for TextureCoordinateGenerator nodes. - */ - - /** - * @var texture_coordinate_generator_node::mode_ - * - * @brief mode exposedField - */ - - /** - * @var texture_coordinate_generator_node::parameter_ - * - * @brief parameter exposedField - */ - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - texture_coordinate_generator_node:: - texture_coordinate_generator_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope): - node(type, scope), - abstract_node<self_t>(type, scope), - mode_(*this, "SPHERE"), - parameter_(*this) - {} - - /** - * @brief Destroy. - */ - texture_coordinate_generator_node::~texture_coordinate_generator_node() throw () - {} -} Property changes on: trunk/src/node/x3d-core/metadata_double.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-core/metadata_double.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-core/metadata_float.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-core/metadata_float.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-core/metadata_integer.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-core/metadata_integer.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-core/metadata_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-core/metadata_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-core/metadata_string.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-core/metadata_string.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-geometry2d/arc2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/arc2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/arc_close2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc_close2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/arc_close2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc_close2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/circle2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/circle2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/circle2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/circle2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/disk2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/disk2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/disk2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/disk2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polyline2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polyline2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polyline2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polyline2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polypoint2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polypoint2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polypoint2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polypoint2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/rectangle2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/rectangle2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/rectangle2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/rectangle2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/triangle_set2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/triangle_set2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/triangle_set2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/triangle_set2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-grouping/static_group.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-grouping/static_group.cpp:3640-3641,3643-3644,3646-3647 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 + /branches/node-modules/src/node/x3d-grouping/static_group.cpp:3640-3641,3643-3644,3646-3647,3649-3650 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 Property changes on: trunk/src/node/x3d-grouping/static_group.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-grouping/static_group.h:3640-3641,3643-3644,3646-3647 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 + /branches/node-modules/src/node/x3d-grouping/static_group.h:3640-3641,3643-3644,3646-3647,3649-3650 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 Property changes on: trunk/src/node/x3d-networking/load_sensor.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-networking/load_sensor.cpp:3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-networking/load_sensor.cpp:3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-networking/load_sensor.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-networking/load_sensor.h:3637-3638,3640-3641,3643-3644,3646-3647 + /branches/node-modules/src/node/x3d-networking/load_sensor.h:3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 Property changes on: trunk/src/node/x3d-rendering/color_rgba.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-rendering/color_rgba.cpp:3643-3644,3646-3647 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/color_rgba.cpp:3643-3644,3646-3647,3649-3650 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/color_rgba.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-rendering/color_rgba.h:3643-3644,3646-3647 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/color_rgba.h:3643-3644,3646-3647,3649-3650 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/indexed_triangle_fan_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-rendering/indexed_triangle_fan_set.cpp:3643-3644,3646-3647 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/indexed_triangle_fan_set.cpp:3643-3644,3646-3647,3649-3650 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/indexed_triangle_fan_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-rendering/indexed_triangle_fan_set.h:3643-3644,3646-3647 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/node/x3d-rendering/indexed_triangle_fan_set.h:3643-3644,3646-3647,3649-3650 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 Property changes on: trunk/src/node/x3d-rendering/indexed_triangle_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-rendering/indexed_triangle_set.cpp:3643-3644,3646-3647 /trunk/src/libopenvrml/openvrml/x3d_rendering.cpp:3401-3630 + /branches/node-modules/src/n... [truncated message content] |
From: <br...@us...> - 2008-09-21 06:24:50
|
Revision: 3653 http://openvrml.svn.sourceforge.net/openvrml/?rev=3653&view=rev Author: braden Date: 2008-09-21 06:24:45 +0000 (Sun, 21 Sep 2008) Log Message: ----------- Removed unnecessary includes. Modified Paths: -------------- trunk/ChangeLog trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp trunk/src/libopenvrml/openvrml/x3d_texturing.cpp Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-21 05:29:16 UTC (rev 3652) +++ trunk/ChangeLog 2008-09-21 06:24:45 UTC (rev 3653) @@ -1,5 +1,12 @@ 2008-09-21 Braden McDaniel <br...@en...> + Removed unnecessary includes. + + * src/libopenvrml/openvrml/x3d_geometry2d.cpp + * src/libopenvrml/openvrml/x3d_texturing.cpp + +2008-09-21 Braden McDaniel <br...@en...> + Moved X3D Texturing node implementations into a convenience library. Modified: trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp 2008-09-21 05:29:16 UTC (rev 3652) +++ trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp 2008-09-21 06:24:45 UTC (rev 3653) @@ -18,15 +18,8 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // -# 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_geometry2d.h" +# include "browser.h" # include <x3d-geometry2d/arc2d.h> # include <x3d-geometry2d/arc_close2d.h> # include <x3d-geometry2d/circle2d.h> @@ -36,6 +29,10 @@ # include <x3d-geometry2d/rectangle2d.h> # include <x3d-geometry2d/triangle_set2d.h> +# ifdef HAVE_CONFIG_H +# include <config.h> +# endif + void register_geometry2d_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; Modified: trunk/src/libopenvrml/openvrml/x3d_texturing.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_texturing.cpp 2008-09-21 05:29:16 UTC (rev 3652) +++ trunk/src/libopenvrml/openvrml/x3d_texturing.cpp 2008-09-21 06:24:45 UTC (rev 3653) @@ -18,17 +18,17 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // -# ifdef HAVE_CONFIG_H -# include <config.h> -# endif - +# include "x3d_texturing.h" # include "browser.h" -# include "x3d_texturing.h" # include <x3d-texturing/multi_texture.h> # include <x3d-texturing/multi_texture_coordinate.h> # include <x3d-texturing/multi_texture_transform.h> # include <x3d-texturing/texture_coordinate_generator.h> +# ifdef HAVE_CONFIG_H +# include <config.h> +# endif + void register_texturing_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <br...@us...> - 2008-09-21 06:39:51
|
Revision: 3656 http://openvrml.svn.sourceforge.net/openvrml/?rev=3656&view=rev Author: braden Date: 2008-09-21 06:39:42 +0000 (Sun, 21 Sep 2008) Log Message: ----------- Moved X3D Interpolation 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_interpolation.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-interpolation/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-interpolation/x3d-interpolation.vcproj trunk/src/node/x3d-interpolation/ 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 Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-interpolation/x3d-interpolation.vcproj 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 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-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-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 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 + /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-21 06:33:33 UTC (rev 3655) +++ trunk/ChangeLog 2008-09-21 06:39:42 UTC (rev 3656) @@ -1,5 +1,22 @@ 2008-09-21 Braden McDaniel <br...@en...> + Moved X3D Interpolation node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-interpolation static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-interpolation/x3d-interpolation.vcproj + * src/Makefile.am: Added convenience library + node/x3d-interpolation/libx3d-interpolation.la. + * src/libopenvrml/openvrml/x3d_interpolation.cpp: Moved node + implementations to separate files. + * src/node/x3d-interpolation/coordinate_interpolator2d.cpp + * src/node/x3d-interpolation/position_interpolator2d.h + * src/node/x3d-interpolation/coordinate_interpolator2d.h + * src/node/x3d-interpolation/position_interpolator2d.cpp + +2008-09-21 Braden McDaniel <br...@en...> + Removed unnecessary includes. * src/libopenvrml/openvrml/x3d_geometry2d.cpp Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 06:33:33 UTC (rev 3655) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 06:39:42 UTC (rev 3656) @@ -8,6 +8,7 @@ {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} + {BFF962C6-4CC1-4DD1-965A-163EADE74986} = {BFF962C6-4CC1-4DD1-965A-163EADE74986} {20B850E9-E417-49A2-A66C-38827401597B} = {20B850E9-E417-49A2-A66C-38827401597B} {1D32E4EB-6613-4270-8295-7113712BC6C5} = {1D32E4EB-6613-4270-8295-7113712BC6C5} EndProjectSection @@ -60,6 +61,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-texturing", "x3d-texturing\x3d-texturing.vcproj", "{20B850E9-E417-49A2-A66C-38827401597B}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-interpolation", "x3d-interpolation\x3d-interpolation.vcproj", "{BFF962C6-4CC1-4DD1-965A-163EADE74986}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -126,6 +129,10 @@ {20B850E9-E417-49A2-A66C-38827401597B}.Debug|Win32.Build.0 = Debug|Win32 {20B850E9-E417-49A2-A66C-38827401597B}.Release|Win32.ActiveCfg = Release|Win32 {20B850E9-E417-49A2-A66C-38827401597B}.Release|Win32.Build.0 = Release|Win32 + {BFF962C6-4CC1-4DD1-965A-163EADE74986}.Debug|Win32.ActiveCfg = Debug|Win32 + {BFF962C6-4CC1-4DD1-965A-163EADE74986}.Debug|Win32.Build.0 = Debug|Win32 + {BFF962C6-4CC1-4DD1-965A-163EADE74986}.Release|Win32.ActiveCfg = Release|Win32 + {BFF962C6-4CC1-4DD1-965A-163EADE74986}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-interpolation ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-interpolation.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-interpolation/x3d-interpolation.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-interpolation/x3d-interpolation.vcproj 2008-09-21 06:33:33 UTC (rev 3655) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-interpolation/x3d-interpolation.vcproj 2008-09-21 06:39:42 UTC (rev 3656) @@ -1,187 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-interpolation" - ProjectGUID="{BFF962C6-4CC1-4DD1-965A-163EADE74986}" - RootNamespace="x3dinterpolation" - 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-interpolation\coordinate_interpolator2d.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-interpolation\position_interpolator2d.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-interpolation\coordinate_interpolator2d.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-interpolation\position_interpolator2d.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-interpolation/x3d-interpolation.vcproj (from rev 3655, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-interpolation/x3d-interpolation.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-interpolation/x3d-interpolation.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-interpolation/x3d-interpolation.vcproj 2008-09-21 06:39:42 UTC (rev 3656) @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-interpolation" + ProjectGUID="{BFF962C6-4CC1-4DD1-965A-163EADE74986}" + RootNamespace="x3dinterpolation" + 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-interpolation\coordinate_interpolator2d.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-interpolation\position_interpolator2d.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-interpolation\coordinate_interpolator2d.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-interpolation\position_interpolator2d.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 06:33:33 UTC (rev 3655) +++ trunk/src/Makefile.am 2008-09-21 06:39:42 UTC (rev 3656) @@ -11,7 +11,8 @@ node/x3d-rendering/libx3d-rendering.la \ node/x3d-shape/libx3d-shape.la \ node/x3d-geometry2d/libx3d-geometry2d.la \ - node/x3d-texturing/libx3d-texturing.la + node/x3d-texturing/libx3d-texturing.la \ + node/x3d-interpolation/libx3d-interpolation.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -151,6 +152,7 @@ node/x3d-shape/libx3d-shape.la \ node/x3d-geometry2d/libx3d-geometry2d.la \ node/x3d-texturing/libx3d-texturing.la \ + node/x3d-interpolation/libx3d-interpolation.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -434,6 +436,17 @@ node/x3d-texturing/texture_coordinate_generator.cpp \ node/x3d-texturing/texture_coordinate_generator.h +node_x3d_interpolation_libx3d_interpolation_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_interpolation_libx3d_interpolation_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_interpolation_libx3d_interpolation_la_SOURCES = \ + node/x3d-interpolation/coordinate_interpolator2d.cpp \ + node/x3d-interpolation/coordinate_interpolator2d.h \ + node/x3d-interpolation/position_interpolator2d.cpp \ + node/x3d-interpolation/position_interpolator2d.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_interpolation.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_interpolation.cpp 2008-09-21 06:33:33 UTC (rev 3655) +++ trunk/src/libopenvrml/openvrml/x3d_interpolation.cpp 2008-09-21 06:39:42 UTC (rev 3656) @@ -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,64 +18,20 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include "browser.h" +# include "x3d_interpolation.h" +# include <x3d-interpolation/coordinate_interpolator2d.h> +# include <x3d-interpolation/position_interpolator2d.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_interpolation.h" - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Class object for CoordinateInterpolator2D nodes. - */ - class OPENVRML_LOCAL coordinate_interpolator2d_metatype : - public node_metatype { - public: - static const char * const id; - - explicit coordinate_interpolator2d_metatype(openvrml::browser & browser); - virtual ~coordinate_interpolator2d_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 PositionInterpolator2D nodes. - */ - class OPENVRML_LOCAL position_interpolator2d_metatype : - public node_metatype { - public: - static const char * const id; - - explicit position_interpolator2d_metatype(openvrml::browser & browser); - virtual ~position_interpolator2d_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_interpolation_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; + using namespace openvrml_node_x3d_interpolation; b.add_node_metatype(coordinate_interpolator2d_metatype::id, shared_ptr<node_metatype>( new coordinate_interpolator2d_metatype(b))); @@ -83,451 +39,3 @@ shared_ptr<node_metatype>( new position_interpolator2d_metatype(b))); } - -namespace { - - using namespace openvrml_; - - class OPENVRML_LOCAL coordinate_interpolator2d_node : - public abstract_node<coordinate_interpolator2d_node>, - public child_node { - - friend class coordinate_interpolator2d_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<mffloat> key_; - exposedfield<mfvec2f> key_value_; - mfvec2f value_changed_; - mfvec2f_emitter value_changed_emitter_; - - public: - coordinate_interpolator2d_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~coordinate_interpolator2d_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL position_interpolator2d_node : - public abstract_node<position_interpolator2d_node>, - public child_node { - - friend class position_interpolator2d_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<mffloat> key_; - exposedfield<mfvec2f> key_value_; - sfvec2f value_changed_; - sfvec2f_emitter value_changed_emitter_; - - public: - position_interpolator2d_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~position_interpolator2d_node() OPENVRML_NOTHROW; - }; - - - /** - * @brief @c node_metatype identifier. - */ - const char * const coordinate_interpolator2d_metatype::id = - "urn:X-openvrml:node:CoordinateInterpolator2D"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c coordinate_interpolator2d_metatype. - */ - coordinate_interpolator2d_metatype:: - coordinate_interpolator2d_metatype(openvrml::browser & browser): - node_metatype(coordinate_interpolator2d_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - coordinate_interpolator2d_metatype::~coordinate_interpolator2d_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 CoordinateInterpolator2D nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by coordinate_interpolator2d_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - coordinate_interpolator2d_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, 5> 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::sffloat_id, - "set_fraction"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "key"), - node_interface(node_interface::exposedfield_id, - field_value::mfvec2f_id, - "keyValue"), - node_interface(node_interface::eventout_id, - field_value::mfvec2f_id, - "value_changed") - }; - typedef node_type_impl<coordinate_interpolator2d_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, - &coordinate_interpolator2d_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &coordinate_interpolator2d_node::set_fraction_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &coordinate_interpolator2d_node::key_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &coordinate_interpolator2d_node::key_value_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &coordinate_interpolator2d_node::value_changed_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const position_interpolator2d_metatype::id = - "urn:X-openvrml:node:PositionInterpolator2D"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c position_interpolator2d_metatype. - */ - position_interpolator2d_metatype:: - position_interpolator2d_metatype(openvrml::browser & browser): - node_metatype(position_interpolator2d_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - position_interpolator2d_metatype::~position_interpolator2d_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 PositionInterpolator2D nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by position_interpolator2d_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - position_interpolator2d_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, 5> 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::sffloat_id, - "set_fraction"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "key"), - node_interface(node_interface::exposedfield_id, - field_value::mfvec2f_id, - "keyValue"), - node_interface(node_interface::eventout_id, - field_value::sfvec2f_id, - "value_changed") - }; - typedef node_type_impl<position_interpolator2d_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, - &position_interpolator2d_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &position_interpolator2d_node::set_fraction_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &position_interpolator2d_node::key_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &position_interpolator2d_node::key_value_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &position_interpolator2d_node::value_changed_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @class coordinate_interpolator2d_node - * - * @brief Represents CoordinateInterpolator2D node instances. - */ - - /** - * @var coordinate_interpolator2d_node::coordinate_interpolator2d_metatype - * - * @brief Class object for CoordinateInterpolator2D nodes. - */ - - /** - * @var coordinate_interpolator2d_node::set_fraction_listener coordinate_interpolator2d_node::set_fraction_listener_ - * - * @brief set_fraction eventIn listener. - */ - - /** - * @var openvrml::node_impl_util::abstract_node<coordinate_interpolator2d_node>::exposedfield<mffloat> coordinate_interpolator2d_node::key_ - * - * @brief key exposedField - */ - - /** - * @var openvrml::node_impl_util::abstract_node<coordinate_interpolator2d_node>::exposedfield<mfvec2f> coordinate_interpolator2d_node::key_value_ - * - * @brief key_value exposedField - */ - - /** - * @var openvrml::mfvec2f coordinate_interpolator2d_node::value_changed_ - * - * @brief value_changed eventOut - */ - - /** - * @var openvrml::node_impl_util::abstract_node<coordinate_interpolator2d_node>::mfvec2f_emitter coordinate_interpolator2d_node::value_changed_emitter_ - * - * @brief value_changed eventOut emitter. - */ - - coordinate_interpolator2d_node::set_fraction_listener:: - set_fraction_listener(self_t & node): - node_event_listener(node), - event_listener_base<self_t>(node), - sffloat_listener(node) - {} - - coordinate_interpolator2d_node::set_fraction_listener:: - ~set_fraction_listener() OPENVRML_NOTHROW - {} - - void coordinate_interpolator2d_node::set_fraction_listener:: - do_process_event(const sffloat & /* fraction */, const double /* timestamp */) - OPENVRML_THROW1(std::bad_alloc) - { - //TODO: add logic here - } - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - coordinate_interpolator2d_node:: - coordinate_interpolator2d_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), - child_node(type, scope), - set_fraction_listener_(*this), - key_(*this), - key_value_(*this), - value_changed_emitter_(*this, this->value_changed_) - {} - - /** - * @brief Destroy. - */ - coordinate_interpolator2d_node::~coordinate_interpolator2d_node() - OPENVRML_NOTHROW - {} - - - /** - * @class position_interpolator2d_node - * - * @brief Represents PositionInterpolator2D node instances. - */ - - /** - * @var position_interpolator2d_node::position_interpolator2d_metatype - * - * @brief Class object for PositionInterpolator2D nodes. - */ - - /** - * @var position_interpolator2d_node::set_fraction_listener position_interpolator2d_node::set_fraction_listener_ - * - * @brief set_fraction eventIn listener. - */ - - /** - * @var openvrml::node_impl_utils::abstract_node<position_interpolator2d_node>::exposedfield<mffloat> position_interpolator2d_node::key_ - * - * @brief key exposedField - */ - - /** - * @var openvrml::node_impl_utils::abstract_node<position_interpolator2d_node>::exposedfield<mfvec2f> position_interpolator2d_node::key_value_ - * - * @brief key_value exposedField - */ - - /** - * @var openvrml::sfvec2f position_interpolator2d_node::value_changed_ - * - * @brief value_changed eventOut - */ - - /** - * @var openvrml::node_impl_utils::abstract_node<position_interpolator2d_node>::sfvec2f_emitter position_interpolator2d_node::value_changed_emitter_ - * - * @brief value_changed eventOut emitter. - */ - - position_interpolator2d_node::set_fraction_listener:: - set_fraction_listener(self_t & node): - node_event_listener(node), - event_listener_base<self_t>(node), - sffloat_listener(node) - {} - - position_interpolator2d_node::set_fraction_listener:: - ~set_fraction_listener() OPENVRML_NOTHROW - {} - - void position_interpolator2d_node::set_fraction_listener:: - do_process_event(const sffloat & /* fraction */, const double /* timestamp */) - OPENVRML_THROW1(std::bad_alloc) - { - //TODO: add logic here - } - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - position_interpolator2d_node:: - position_interpolator2d_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), - child_node(type, scope), - set_fraction_listener_(*this), - key_(*this), - key_value_(*this), - value_changed_emitter_(*this, this->value_changed_) - {} - - /** - * @brief Destroy. - */ - position_interpolator2d_node::~position_interpolator2d_node() OPENVRML_NOTHROW - {} -} Property changes on: trunk/src/node/x3d-core/metadata_double.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 + /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 Property changes on: trunk/src/node/x3d-core/metadata_double.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 + /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 Property changes on: trunk/src/node/x3d-core/metadata_float.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 + /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 Property changes on: trunk/src/node/x3d-core/metadata_float.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 + /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 Property changes on: trunk/src/node/x3d-core/metadata_integer.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 + /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 Property changes on: trunk/src/node/x3d-core/metadata_integer.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 + /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 Property changes on: trunk/src/node/x3d-core/metadata_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 + /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 Property changes on: trunk/src/node/x3d-core/metadata_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 + /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 Property changes on: trunk/src/node/x3d-core/metadata_string.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 + /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 Property changes on: trunk/src/node/x3d-core/metadata_string.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650 + /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 Property changes on: trunk/src/node/x3d-geometry2d/arc2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/arc2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/arc2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/arc2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/arc_close2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/arc_close2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc_close2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/arc_close2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/arc_close2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc_close2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/circle2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/circle2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/circle2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/circle2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/circle2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/circle2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/disk2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/disk2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/disk2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/disk2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/disk2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/disk2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polyline2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/polyline2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polyline2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polyline2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/polyline2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polyline2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polypoint2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/polypoint2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polypoint2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polypoint2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/polypoint2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polypoint2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/rectangle2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/rectangle2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/rectangle2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/rectangle2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/rectangle2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/rectangle2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/triangle_set2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/triangle_set2d.cpp:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/triangle_set2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/triangle_set2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/triangle_set2d.h:3649-3650 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/triangle_set2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-grouping/static_group.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-grouping/static_group.cpp:3640-3641,3643-3644,3646-3647,3649-3650 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 + /branches/node-modules/src/node/x3d-grouping/static_group.cpp:3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 Property changes on: trunk/src/node/x3d-grouping/static_group.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-grouping/static_group.h:3640-3641,3643-3644,3646-3647,3649-3650 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 + /branches/node-modules/src/node/x3d-grouping/static_group.h:3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 Deleted: trunk/src/node/x3d-interpolation/coordinate_interpolator2d.cpp =================================================================== --- branches/node-modules/src/node/x3d-interpolation/coordinate_interpolator2d.cpp 2008-09-21 06:33:33 UTC (rev 3655) +++ trunk/src/node/x3d-interpolation/coordinate_interpolator2d.cpp 2008-09-21 06:39:42 UTC (rev 3656) @@ -1,257 +0,0 @@ -// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// 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 -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# include "coordinate_interpolator2d.h" -# include <openvrml/node_impl_util.h> -# include <boost/array.hpp> - -# ifdef HAVE_CONFIG_H -# include <config.h> -# endif - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Represents CoordinateInterpolator2D node instances. - */ - class OPENVRML_LOCAL coordinate_interpolator2d_node : - public abstract_node<coordinate_interpolator2d_node>, - public child_node { - - friend - class openvrml_node_x3d_interpolation::coordinate_interpolator2d_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<mffloat> key_; - exposedfield<mfvec2f> key_value_; - mfvec2f value_changed_; - mfvec2f_emitter value_changed_emitter_; - - public: - coordinate_interpolator2d_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~coordinate_interpolator2d_node() OPENVRML_NOTHROW; - }; - - - /** - * @var coordinate_interpolator2d_node::coordinate_interpolator2d_metatype - * - * @brief Class object for CoordinateInterpolator2D nodes. - */ - - /** - * @var coordinate_interpolator2d_node::set_fraction_listener coordinate_interpolator2d_node::set_fraction_listener_ - * - * @brief set_fraction eventIn listener. - */ - - /** - * @var openvrml::node_impl_util::abstract_node<coordinate_interpolator2d_node>::exposedfield<mffloat> coordinate_interpolator2d_node::key_ - * - * @brief key exposedField - */ - - /** - * @var openvrml::node_impl_util::abstract_node<coordinate_interpolator2d_node>::exposedfield<mfvec2f> coordinate_interpolator2d_node::key_value_ - * - * @brief key_value exposedField - */ - - /** - * @var openvrml::mfvec2f coordinate_interpolator2d_node::value_changed_ - * - * @brief value_changed eventOut - */ - - /** - * @var openvrml::node_impl_util::abstract_node<coordinate_interpolator2d_node>::mfvec2f_emitter coordinate_interpolator2d_node::value_changed_emitter_ - * - * @brief value_changed eventOut emitter. - */ - - coordinate_interpolator2d_node::set_fraction_listener:: - set_fraction_listener(self_t & node): - node_event_listener(node), - event_listener_base<self_t>(node), - sffloat_listener(node) - {} - - coordinate_interpolator2d_node::set_fraction_listener:: - ~set_fraction_listener() OPENVRML_NOTHROW - {} - - void coordinate_interpolator2d_node::set_fraction_listener:: - do_process_event(const sffloat & /* fraction */, const double /* timestamp */) - OPENVRML_THROW1(std::bad_alloc) - { - //TODO: add logic here - } - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - coordinate_interpolator2d_node:: - coordinate_interpolator2d_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), - child_node(type, scope), - set_fraction_listener_(*this), - key_(*this), - key_value_(*this), - value_changed_emitter_(*this, this->value_changed_) - {} - - /** - * @brief Destroy. - */ - coordinate_interpolator2d_node::~coordinate_interpolator2d_node() - OPENVRML_NOTHROW - {} -} - - -/** - * @brief @c node_metatype identifier. - */ -const char * const -openvrml_node_x3d_interpolation::coordinate_interpolator2d_metatype::id = - "urn:X-openvrml:node:CoordinateInterpolator2D"; - -/** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c coordinate_interpolator2d_metatype. - */ -openvrml_node_x3d_interpolation::coordinate_interpolator2d_metatype:: -coordinate_interpolator2d_metatype(openvrml::browser & browser): - node_metatype(coordinate_interpolator2d_metatype::id, browser) -{} - -/** - * @brief Destroy. - */ -openvrml_node_x3d_interpolation::coordinate_interpolator2d_metatype:: -~coordinate_interpolator2d_metatype() - OPENVRML_NOTHROW -{} - -/** - * @brief Create a @c node_type. - * - * @param id the name for the new @c node_type. - * @param interfaces the interfaces for the new @c node_type. - * - * @return a @c node_type capable of creating CoordinateInterpolator2D nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by - * @c coordinate_interpolator2d_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ -const boost::shared_ptr<openvrml::node_type> -openvrml_node_x3d_interpolation::coordinate_interpolator2d_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, 5> 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::sffloat_id, - "set_fraction"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "key"), - node_interface(node_interface::exposedfield_id, - field_value::mfvec2f_id, - "keyValue"), - node_interface(node_interface::eventout_id, - field_value::mfvec2f_id, - "value_changed") - }; - typedef node_type_impl<coordinate_interpolator2d_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, - &coordinate_interpolator2d_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &coordinate_interpolator2d_node::set_fraction_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &coordinate_interpolator2d_node::key_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &coordinate_interpolator2d_node::key_value_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &coordinate_interpolator2d_node::va... [truncated message content] |
From: <br...@us...> - 2008-09-21 08:23:15
|
Revision: 3659 http://openvrml.svn.sourceforge.net/openvrml/?rev=3659&view=rev Author: braden Date: 2008-09-21 08:22:42 +0000 (Sun, 21 Sep 2008) Log Message: ----------- Moved X3D Key Device Sensor node implementations into a convenience library. Modified Paths: -------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln trunk/src/Makefile.am trunk/src/libopenvrml/openvrml/x3d_key_device_sensor.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor/x3d-key-device-sensor.vcproj trunk/src/node/x3d-key-device-sensor/ 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 Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor/x3d-key-device-sensor.vcproj 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 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-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-grouping/static_group.cpp trunk/src/node/x3d-grouping/static_group.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-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 + /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 08:06:57 UTC (rev 3658) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 08:22:42 UTC (rev 3659) @@ -3,6 +3,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvrml", "openvrml\openvrml.vcproj", "{E5287CD2-4BAC-4341-AF28-A1F9C0F5949C}" ProjectSection(ProjectDependencies) = postProject {78133A10-3ADF-474C-B32A-74124A976482} = {78133A10-3ADF-474C-B32A-74124A976482} + {E20E0E24-C0B6-4448-82E0-32CCDBA88957} = {E20E0E24-C0B6-4448-82E0-32CCDBA88957} {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} @@ -63,6 +64,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-interpolation", "x3d-interpolation\x3d-interpolation.vcproj", "{BFF962C6-4CC1-4DD1-965A-163EADE74986}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-key-device-sensor", "x3d-key-device-sensor\x3d-key-device-sensor.vcproj", "{E20E0E24-C0B6-4448-82E0-32CCDBA88957}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -133,6 +136,10 @@ {BFF962C6-4CC1-4DD1-965A-163EADE74986}.Debug|Win32.Build.0 = Debug|Win32 {BFF962C6-4CC1-4DD1-965A-163EADE74986}.Release|Win32.ActiveCfg = Release|Win32 {BFF962C6-4CC1-4DD1-965A-163EADE74986}.Release|Win32.Build.0 = Release|Win32 + {E20E0E24-C0B6-4448-82E0-32CCDBA88957}.Debug|Win32.ActiveCfg = Debug|Win32 + {E20E0E24-C0B6-4448-82E0-32CCDBA88957}.Debug|Win32.Build.0 = Debug|Win32 + {E20E0E24-C0B6-4448-82E0-32CCDBA88957}.Release|Win32.ActiveCfg = Release|Win32 + {E20E0E24-C0B6-4448-82E0-32CCDBA88957}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-key-device-sensor.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor/x3d-key-device-sensor.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor/x3d-key-device-sensor.vcproj 2008-09-21 08:06:57 UTC (rev 3658) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor/x3d-key-device-sensor.vcproj 2008-09-21 08:22:42 UTC (rev 3659) @@ -1,187 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-key-device-sensor" - ProjectGUID="{E20E0E24-C0B6-4448-82E0-32CCDBA88957}" - RootNamespace="x3dkeydevicesensor" - 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-key-device-sensor\key_sensor.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-key-device-sensor\string_sensor.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-key-device-sensor\key_sensor.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-key-device-sensor\string_sensor.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-key-device-sensor/x3d-key-device-sensor.vcproj (from rev 3658, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor/x3d-key-device-sensor.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor/x3d-key-device-sensor.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor/x3d-key-device-sensor.vcproj 2008-09-21 08:22:42 UTC (rev 3659) @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-key-device-sensor" + ProjectGUID="{E20E0E24-C0B6-4448-82E0-32CCDBA88957}" + RootNamespace="x3dkeydevicesensor" + 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-key-device-sensor\key_sensor.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-key-device-sensor\string_sensor.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-key-device-sensor\key_sensor.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-key-device-sensor\string_sensor.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 08:06:57 UTC (rev 3658) +++ trunk/src/Makefile.am 2008-09-21 08:22:42 UTC (rev 3659) @@ -12,7 +12,8 @@ node/x3d-shape/libx3d-shape.la \ node/x3d-geometry2d/libx3d-geometry2d.la \ node/x3d-texturing/libx3d-texturing.la \ - node/x3d-interpolation/libx3d-interpolation.la + node/x3d-interpolation/libx3d-interpolation.la \ + node/x3d-key-device-sensor/libx3d-key-device-sensor.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -153,6 +154,7 @@ node/x3d-geometry2d/libx3d-geometry2d.la \ node/x3d-texturing/libx3d-texturing.la \ node/x3d-interpolation/libx3d-interpolation.la \ + node/x3d-key-device-sensor/libx3d-key-device-sensor.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -447,6 +449,17 @@ node/x3d-interpolation/position_interpolator2d.cpp \ node/x3d-interpolation/position_interpolator2d.h +node_x3d_key_device_sensor_libx3d_key_device_sensor_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_key_device_sensor_libx3d_key_device_sensor_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_key_device_sensor_libx3d_key_device_sensor_la_SOURCES = \ + node/x3d-key-device-sensor/key_sensor.cpp \ + node/x3d-key-device-sensor/key_sensor.h \ + node/x3d-key-device-sensor/string_sensor.cpp \ + node/x3d-key-device-sensor/string_sensor.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_key_device_sensor.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_key_device_sensor.cpp 2008-09-21 08:06:57 UTC (rev 3658) +++ trunk/src/libopenvrml/openvrml/x3d_key_device_sensor.cpp 2008-09-21 08:22:42 UTC (rev 3659) @@ -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,533 +18,22 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include "browser.h" +# include "x3d_key_device_sensor.h" +# include <x3d-key-device-sensor/key_sensor.h> +# include <x3d-key-device-sensor/string_sensor.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_key_device_sensor.h" - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Class object for KeySensor nodes. - */ - class OPENVRML_LOCAL key_sensor_metatype : public node_metatype { - public: - static const char * const id; - - explicit key_sensor_metatype(openvrml::browser & browser); - virtual ~key_sensor_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 StringSensor nodes. - */ - class OPENVRML_LOCAL string_sensor_metatype : public node_metatype { - public: - static const char * const id; - - explicit string_sensor_metatype(openvrml::browser & browser); - virtual ~string_sensor_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_key_device_sensor_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; + using namespace openvrml_node_x3d_key_device_sensor; b.add_node_metatype(key_sensor_metatype::id, shared_ptr<node_metatype>(new key_sensor_metatype(b))); b.add_node_metatype(string_sensor_metatype::id, shared_ptr<node_metatype>(new string_sensor_metatype(b))); } - -namespace { - - using namespace openvrml_; - - class OPENVRML_LOCAL key_sensor_node : public abstract_node<key_sensor_node>, - public child_node { - friend class key_sensor_metatype; - - exposedfield<sfbool> enabled_; - sfint32 action_key_press_; - sfint32_emitter action_key_press_emitter_; - sfint32 action_key_release_; - sfint32_emitter action_key_release_emitter_; - sfbool alt_key_; - sfbool_emitter alt_key_emitter_; - sfbool control_key_; - sfbool_emitter control_key_emitter_; - sfbool is_active_; - sfbool_emitter is_active_emitter_; - sfstring key_press_; - sfstring_emitter key_press_emitter_; - sfstring key_release_; - sfstring_emitter key_release_emitter_; - sfbool shift_key_; - sfbool_emitter shift_key_emitter_; - - public: - key_sensor_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~key_sensor_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL string_sensor_node : - public abstract_node<string_sensor_node>, - public child_node { - - friend class string_sensor_metatype; - - exposedfield<sfbool> deletion_allowed_; - exposedfield<sfbool> enabled_; - sfstring entered_text_; - sfstring_emitter entered_text_emitter_; - sfstring final_text_; - sfstring_emitter final_text_emitter_; - sfbool is_active_; - sfbool_emitter is_active_emitter_; - - public: - string_sensor_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~string_sensor_node() OPENVRML_NOTHROW; - }; - - - /** - * @brief @c node_metatype identifier. - */ - const char * const key_sensor_metatype::id = - "urn:X-openvrml:node:KeySensor"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this @c key_sensor_metatype. - */ - key_sensor_metatype::key_sensor_metatype(openvrml::browser & browser): - node_metatype(key_sensor_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - key_sensor_metatype::~key_sensor_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 KeySensor nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by key_sensor_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - key_sensor_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, 10> 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::exposedfield_id, - field_value::sfbool_id, - "enabled"), - node_interface(node_interface::eventout_id, - field_value::sfint32_id, - "actionKeyPress"), - node_interface(node_interface::eventout_id, - field_value::sfint32_id, - "actionKeyRelease"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "altKey"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "controlKey"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isActive"), - node_interface(node_interface::eventout_id, - field_value::sfstring_id, - "keyPress"), - node_interface(node_interface::eventout_id, - field_value::sfstring_id, - "keyRelease"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "shiftKey") - }; - typedef node_type_impl<key_sensor_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, - &key_sensor_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &key_sensor_node::enabled_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &key_sensor_node::action_key_press_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &key_sensor_node::action_key_release_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &key_sensor_node::alt_key_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &key_sensor_node::control_key_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &key_sensor_node::is_active_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &key_sensor_node::key_press_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &key_sensor_node::key_release_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &key_sensor_node::shift_key_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - /** - * @class key_sensor_node - * - * @brief Represents KeySensor node instances. - */ - - /** - * @var key_sensor_node::key_sensor_metatype - * - * @brief Class object for KeySensor nodes. - */ - - /** - * @var key_sensor_node::enabled_ - * - * @brief enabled exposedField - */ - - /** - * @var key_sensor_node::action_key_press_ - * - * @brief action_key_press eventOut - */ - - /** - * @var key_sensor_node::action_key_release_ - * - * @brief action_key_release eventOut - */ - - /** - * @var key_sensor_node::alt_key_ - * - * @brief alt_key eventOut - */ - - /** - * @var key_sensor_node::control_key_ - * - * @brief control_key eventOut - */ - - /** - * @var key_sensor_node::is_active_ - * - * @brief is_active eventOut - */ - - /** - * @var key_sensor_node::key_press_ - * - * @brief key_press eventOut - */ - - /** - * @var key_sensor_node::key_release_ - * - * @brief key_release eventOut - */ - - /** - * @var key_sensor_node::shift_key_ - * - * @brief shift_key eventOut - */ - - - /** - * @brief Construct. - * - * @param type the @c node_type associated with this @c node. - * @param scope the @c scope to which the @c node belongs. - */ - key_sensor_node:: - key_sensor_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), - child_node(type, scope), - enabled_(*this, true), - action_key_press_emitter_(*this, this->action_key_press_), - action_key_release_emitter_(*this, this->action_key_release_), - alt_key_emitter_(*this, this->alt_key_), - control_key_emitter_(*this, this->control_key_), - is_active_emitter_(*this, this->is_active_), - key_press_emitter_(*this, this->key_press_), - key_release_emitter_(*this, this->key_release_), - shift_key_emitter_(*this, this->shift_key_) - {} - - /** - * @brief Destroy. - */ - key_sensor_node::~key_sensor_node() OPENVRML_NOTHROW - {} - - - /** - * @brief @c node_metatype identifier. - */ - const char * const string_sensor_metatype::id = - "urn:X-openvrml:node:StringSensor"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c string_sensor_metatype. - */ - string_sensor_metatype::string_sensor_metatype(openvrml::browser & browser): - node_metatype(string_sensor_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - string_sensor_metatype::~string_sensor_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 StringSensor nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by string_sensor_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - string_sensor_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::exposedfield_id, - field_value::sfbool_id, - "deletionAllowed"), - node_interface(node_interface::exposedfield_id, - field_value::sfbool_id, - "enabled"), - node_interface(node_interface::eventout_id, - field_value::sfstring_id, - "enteredText"), - node_interface(node_interface::eventout_id, - field_value::sfstring_id, - "finalText"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isActive") - }; - typedef node_type_impl<string_sensor_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, - &string_sensor_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &string_sensor_node::deletion_allowed_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &string_sensor_node::enabled_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &string_sensor_node::entered_text_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &string_sensor_node::final_text_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &string_sensor_node::is_active_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - /** - * @class string_sensor_node - * - * @brief Represents StringSensor node instances. - */ - - /** - * @var string_sensor_node::string_sensor_metatype - * - * @brief Class object for StringSensor nodes. - */ - - /** - * @var string_sensor_node::deletion_allowed_ - * - * @brief deletion_allowed exposedField - */ - - /** - * @var string_sensor_node::enabled_ - * - * @brief enabled exposedField - */ - - /** - * @var string_sensor_node::entered_text_ - * - * @brief entered_text eventOut - */ - - /** - * @var string_sensor_node::final_text_ - * - * @brief final_text eventOut - */ - - /** - * @var string_sensor_node::is_active_ - * - * @brief is_active eventOut - */ - - - /** - * @brief Construct. - * - * @param type the @c node_type associated with this @c node. - * @param scope the @c scope to which the @c node belongs. - */ - string_sensor_node:: - string_sensor_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), - child_node(type, scope), - deletion_allowed_(*this, true), - enabled_(*this, true), - entered_text_emitter_(*this, this->entered_text_), - final_text_emitter_(*this, this->final_text_), - is_active_emitter_(*this, this->is_active_) - {} - - /** - * @brief Destroy. - */ - string_sensor_node::~string_sensor_node() OPENVRML_NOTHROW - {} -} Property changes on: trunk/src/node/x3d-core/metadata_double.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 + /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 Property changes on: trunk/src/node/x3d-core/metadata_double.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 + /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 Property changes on: trunk/src/node/x3d-core/metadata_float.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 + /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 Property changes on: trunk/src/node/x3d-core/metadata_float.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 + /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 Property changes on: trunk/src/node/x3d-core/metadata_integer.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 + /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 Property changes on: trunk/src/node/x3d-core/metadata_integer.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 + /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 Property changes on: trunk/src/node/x3d-core/metadata_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 + /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 Property changes on: trunk/src/node/x3d-core/metadata_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 + /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 Property changes on: trunk/src/node/x3d-core/metadata_string.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 + /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 Property changes on: trunk/src/node/x3d-core/metadata_string.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 + /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 Property changes on: trunk/src/node/x3d-geometry2d/arc2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/arc2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc2d.cpp:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/arc2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/arc2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc2d.h:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/arc_close2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/arc_close2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc_close2d.cpp:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/arc_close2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/arc_close2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/arc_close2d.h:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/circle2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/circle2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/circle2d.cpp:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/circle2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/circle2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/circle2d.h:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/disk2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/disk2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/disk2d.cpp:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/disk2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/disk2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/disk2d.h:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polyline2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/polyline2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polyline2d.cpp:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polyline2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/polyline2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polyline2d.h:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polypoint2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/polypoint2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polypoint2d.cpp:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/polypoint2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/polypoint2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/polypoint2d.h:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/rectangle2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/rectangle2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/rectangle2d.cpp:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/rectangle2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/rectangle2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/rectangle2d.h:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/triangle_set2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/triangle_set2d.cpp:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/triangle_set2d.cpp:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-geometry2d/triangle_set2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-geometry2d/triangle_set2d.h:3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 + /branches/node-modules/src/node/x3d-geometry2d/triangle_set2d.h:3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_geometry2d.cpp:3401-3630 Property changes on: trunk/src/node/x3d-grouping/static_group.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-grouping/static_group.cpp:3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 + /branches/node-modules/src/node/x3d-grouping/static_group.cpp:3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 Property changes on: trunk/src/node/x3d-grouping/static_group.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-grouping/static_group.h:3640-3641,3643-3644,3646-3647,3649-3650,3654-3655 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 + /branches/node-modules/src/node/x3d-grouping/static_group.h:3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658 /trunk/src/libopenvrml/openvrml/x3d_grouping.cpp:3401-3630 Property changes on: trunk/src/node/x3d-interpolation/coordinate_interpolator2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_interpolation.cpp:3401-3630 + /branches/node-modules/src/node/x3d-interpolation/coordinate_interpolator2d.cpp:3657-3658 /trunk/src/libopenvrml/openvrml/x3d_interpolation.cpp:3401-3630 Property changes on: trunk/src/node/x3d-interpolation/coordinate_interpolator2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_interpolation.cpp:3401-3630 + /branches/node-modules/src/node/x3d-interpolation/coordinate_interpolator2d.h:3657-3658 /trunk/src/libopenvrml/openvrml/x3d_interpolation.cpp:3401-3630 Property changes on: trunk/src/node/x3d-interpolation/position_interpolator2d.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_interpolation.cpp:3401-3630 + /branches/node-modules/src/node/x3d-interpolation/position_interpolator2d.cpp:3657-3658 /trunk/src/libopenvrml/openvrml/x3d_interpolation.cpp:3401-3630 Property changes on: trunk/src/node/x3d-interpolation/position_interpolator2d.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_interpolation.cpp:3401-3630 + /branches/node-modules/src/node/x3d-interpolation/position_interpolator2d.h:3657-3658 /trunk/src/libopenvrml/openvrml/x3d_interpolation.cpp:3401-3630 Deleted: trunk/src/node/x3d-key-device-sensor/key_sensor.cpp =================================================================== --- branches/node-modules/src/node/x3d-key-device-sensor/key_sensor.cpp 2008-09-21 08:06:57 UTC (rev 3658) +++ trunk/src/node/x3d-key-device-sensor/key_sensor.cpp 2008-09-21 08:22:42 UTC (rev 3659) @@ -1,305 +0,0 @@ -// -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// 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 -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# include "key_sensor.h" -# include <openvrml/node_impl_util.h> -# include <boost/array.hpp> - -# ifdef HAVE_CONFIG_H -# include <config.h> -# endif - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - class OPENVRML_LOCAL key_sensor_node : - public abstract_node<key_sensor_node>, - public child_node { - - friend class openvrml_node_x3d_key_device_sensor::key_sensor_metatype; - - exposedfield<sfbool> enabled_; - sfint32 action_key_press_; - sfint32_emitter action_key_press_emitter_; - sfint32 action_key_release_; - sfint32_emitter action_key_release_emitter_; - sfbool alt_key_; - sfbool_emitter alt_key_emitter_; - sfbool control_key_; - sfbool_emitter control_key_emitter_; - sfbool is_active_; - sfbool_emitter is_active_emitter_; - sfstring key_press_; - sfstring_emitter key_press_emitter_; - sfstring key_release_; - sfstring_emitter key_release_emitter_; - sfbool shift_key_; - sfbool_emitter shift_key_emitter_; - - public: - key_sensor_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~key_sensor_node() OPENVRML_NOTHROW; - }; - - /** - * @class key_sensor_node - * - * @brief Represents KeySensor node instances. - */ - - /** - * @var key_sensor_node::key_sensor_metatype - * - * @brief Class object for KeySensor nodes. - */ - - /** - * @var key_sensor_node::enabled_ - * - * @brief enabled exposedField - */ - - /** - * @var key_sensor_node::action_key_press_ - * - * @brief action_key_press eventOut - */ - - /** - * @var key_sensor_node::action_key_release_ - * - * @brief action_key_release eventOut - */ - - /** - * @var key_sensor_node::alt_key_ - * - * @brief alt_key eventOut - */ - - /** - * @var key_sensor_node::control_key_ - * - * @brief control_key eventOut - */ - - /** - * @var key_sensor_node::is_active_ - * - * @brief is_active eventOut - */ - - /** - * @var key_sensor_node::key_press_ - * - * @brief key_press eventOut - */ - - /** - * @var key_sensor_node::key_release_ - * - * @brief key_release eventOut - */ - - /** - * @var key_sensor_node::shift_key_ - * - * @brief shift_key eventOut - */ - - - /** - * @brief Construct. - * - * @param type the @c node_type associated with this @c node. - * @param scope the @c scope to which the @c node belongs. - */ - key_sensor_node:: - key_sensor_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), - child_node(type, scope), - enabled_(*this, true), - action_key_press_emitter_(*this, this->action_key_press_), - action_key_release_emitter_(*this, this->action_key_release_), - alt_key_emitter_(*this, this->alt_key_), - control_key_emitter_(*this, this->control_key_), - is_active_emitter_(*this, this->is_active_), - key_press_emitter_(*this, this->key_press_), - key_release_emitter_(*this, this->key_release_), - shift_key_emitter_(*this, this->shift_key_) - {} - - /** - * @brief Destroy. - */ - key_sensor_node::~key_sensor_node() OPENVRML_NOTHROW - {} -} - - -/** - * @brief @c node_metatype identifier. - */ -const char * const -openvrml_node_x3d_key_device_sensor::key_sensor_metatype::id = - "urn:X-openvrml:node:KeySensor"; - -/** - * @brief Construct. - * - * @param browser the @c browser associated with this @c key_sensor_metatype. - */ -openvrml_node_x3d_key_device_sensor::key_sensor_metatype:: -key_sensor_metatype(openvrml::browser & browser): - node_metatype(key_sensor_metatype::id, browser) -{} - -/** - * @brief Destroy. - */ -openvrml_node_x3d_key_device_sensor::key_sensor_metatype:: -~key_sensor_metatype() - OPENVRML_NOTHROW -{} - -/** - * @brief Create a @c node_type. - * - * @param id the name for the new @c node_type. - * @param interfaces the interfaces for the new @c node_type. - * - * @return a @c node_type capable of creating KeySensor nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by @c key_sensor_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ -const boost::shared_ptr<openvrml::node_type> -openvrml_node_x3d_key_device_sensor::key_sensor_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, 10> 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::exposedfield_id, - field_value::sfbool_id, - "enabled"), - node_interface(node_interface::eventout_id, - field_value::sfint32_id, - "actionKeyPress"), - node_interface(node_interface::eventout_id, - field_value::sfint32_id, - "actionKeyRelease"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "altKey"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "controlKey"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isActive"), - node_interface(node_interface::eventout_id, - field_value::sfstring_id, - "keyPress"), - node_interface(node_interface::eventout_id, - field_value::sfstring_id, - "keyRelease"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "shiftKey") - }; - typedef node_type_impl<key_sensor_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_... [truncated message content] |
From: <br...@us...> - 2008-09-21 22:47:49
|
Revision: 3663 http://openvrml.svn.sourceforge.net/openvrml/?rev=3663&view=rev Author: braden Date: 2008-09-21 22:47:35 +0000 (Sun, 21 Sep 2008) Log Message: ----------- Moved X3D Event Utilities 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_event_utilities.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj trunk/src/node/x3d-event-utilities/ 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 Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj 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 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-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-grouping/static_group.cpp trunk/src/node/x3d-grouping/static_group.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 + /branches/node-modules:3622-3623,3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-21 22:20:08 UTC (rev 3662) +++ trunk/ChangeLog 2008-09-21 22:47:35 UTC (rev 3663) @@ -1,5 +1,32 @@ 2008-09-21 Braden McDaniel <br...@en...> + Moved X3D Event Utilities node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-event-utilities static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj + * src/Makefile.am: Added convenience library + node/x3d-event-utilities/libx3d-event-utilities.la. + * src/libopenvrml/openvrml/x3d_event_utilities.cpp: Moved node + implementations to separate files. + * src/node/x3d-event-utilities/boolean_filter.cpp + * src/node/x3d-event-utilities/boolean_filter.h + * src/node/x3d-event-utilities/boolean_sequencer.cpp + * src/node/x3d-event-utilities/boolean_sequencer.h + * src/node/x3d-event-utilities/boolean_toggle.cpp + * src/node/x3d-event-utilities/boolean_toggle.h + * src/node/x3d-event-utilities/boolean_trigger.cpp + * src/node/x3d-event-utilities/boolean_trigger.h + * src/node/x3d-event-utilities/integer_sequencer.cpp + * src/node/x3d-event-utilities/integer_sequencer.h + * src/node/x3d-event-utilities/integer_trigger.cpp + * src/node/x3d-event-utilities/integer_trigger.h + * src/node/x3d-event-utilities/time_trigger.cpp + * src/node/x3d-event-utilities/time_trigger.h + +2008-09-21 Braden McDaniel <br...@en...> + Moved X3D Key Device Sensor node implementations into a convenience library. @@ -8,10 +35,11 @@ * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-key-device-sensor/x3d-key-device-sensor.vcproj * src/Makefile.am: Added convenience library node/x3d-key-device-sensor/libx3d-key-device-sensor.la. - * src/libopenvrml/openvrml/x3d_key_device_sensor.cpp + * src/libopenvrml/openvrml/x3d_key_device_sensor.cpp: Moved node + implementations to separate files. * src/node/x3d-key-device-sensor/string_sensor.cpp + * src/node/x3d-key-device-sensor/string_sensor.h * src/node/x3d-key-device-sensor/key_sensor.cpp - * src/node/x3d-key-device-sensor/string_sensor.h * src/node/x3d-key-device-sensor/key_sensor.h 2008-09-21 Braden McDaniel <br...@en...> @@ -27,9 +55,9 @@ * src/libopenvrml/openvrml/x3d_interpolation.cpp: Moved node implementations to separate files. * src/node/x3d-interpolation/coordinate_interpolator2d.cpp - * src/node/x3d-interpolation/position_interpolator2d.h * src/node/x3d-interpolation/coordinate_interpolator2d.h * src/node/x3d-interpolation/position_interpolator2d.cpp + * src/node/x3d-interpolation/position_interpolator2d.h 2008-09-21 Braden McDaniel <br...@en...> @@ -50,14 +78,14 @@ node/x3d-texturing/libx3d-texturing.la. * src/libopenvrml/openvrml/x3d_texturing.cpp: Moved node implementations to separate files. + * src/node/x3d-texturing/multi_texture.cpp * src/node/x3d-texturing/multi_texture.h * src/node/x3d-texturing/multi_texture_coordinate.cpp - * src/node/x3d-texturing/texture_coordinate_generator.h + * src/node/x3d-texturing/multi_texture_coordinate.h * src/node/x3d-texturing/multi_texture_transform.cpp - * src/node/x3d-texturing/multi_texture_coordinate.h - * src/node/x3d-texturing/multi_texture.cpp * src/node/x3d-texturing/multi_texture_transform.h * src/node/x3d-texturing/texture_coordinate_generator.cpp + * src/node/x3d-texturing/texture_coordinate_generator.h 2008-09-20 Braden McDaniel <br...@en...> @@ -71,22 +99,22 @@ node/x3d-geometry2d/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.cpp * 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/arc_close2d.h + * src/node/x3d-geometry2d/circle2d.cpp + * src/node/x3d-geometry2d/circle2d.h * src/node/x3d-geometry2d/disk2d.cpp + * src/node/x3d-geometry2d/disk2d.h * src/node/x3d-geometry2d/polyline2d.cpp + * src/node/x3d-geometry2d/polyline2d.h * 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 + * src/node/x3d-geometry2d/rectangle2d.h + * src/node/x3d-geometry2d/triangle_set2d.cpp + * src/node/x3d-geometry2d/triangle_set2d.h 2008-09-18 Braden McDaniel <br...@en...> @@ -117,20 +145,20 @@ node/x3d-rendering/libx3d-rendering.la. * src/libopenvrml/openvrml/x3d_rendering.cpp: Moved node implementations to separate files. + * src/node/x3d-rendering/color_rgba.cpp * src/node/x3d-rendering/color_rgba.h + * src/node/x3d-rendering/indexed_triangle_fan_set.cpp + * src/node/x3d-rendering/indexed_triangle_fan_set.h * src/node/x3d-rendering/indexed_triangle_set.cpp - * src/node/x3d-rendering/triangle_set.cpp + * src/node/x3d-rendering/indexed_triangle_set.h * src/node/x3d-rendering/indexed_triangle_strip_set.cpp - * src/node/x3d-rendering/triangle_strip_set.cpp - * src/node/x3d-rendering/indexed_triangle_fan_set.cpp + * src/node/x3d-rendering/indexed_triangle_strip_set.h * src/node/x3d-rendering/triangle_fan_set.cpp - * src/node/x3d-rendering/indexed_triangle_set.h + * src/node/x3d-rendering/triangle_fan_set.h + * src/node/x3d-rendering/triangle_set.cpp * src/node/x3d-rendering/triangle_set.h - * src/node/x3d-rendering/indexed_triangle_strip_set.h + * src/node/x3d-rendering/triangle_strip_set.cpp * src/node/x3d-rendering/triangle_strip_set.h - * src/node/x3d-rendering/color_rgba.cpp - * src/node/x3d-rendering/indexed_triangle_fan_set.h - * src/node/x3d-rendering/triangle_fan_set.h 2008-09-16 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-21 22:20:08 UTC (rev 3662) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 22:47:35 UTC (rev 3663) @@ -2,6 +2,7 @@ # Visual C++ Express 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openvrml", "openvrml\openvrml.vcproj", "{E5287CD2-4BAC-4341-AF28-A1F9C0F5949C}" ProjectSection(ProjectDependencies) = postProject + {CE946E0C-4880-4AB0-9170-42D6692791CC} = {CE946E0C-4880-4AB0-9170-42D6692791CC} {78133A10-3ADF-474C-B32A-74124A976482} = {78133A10-3ADF-474C-B32A-74124A976482} {E20E0E24-C0B6-4448-82E0-32CCDBA88957} = {E20E0E24-C0B6-4448-82E0-32CCDBA88957} {430B1A48-8E64-43DF-8CC4-AD09C41BA735} = {430B1A48-8E64-43DF-8CC4-AD09C41BA735} @@ -66,6 +67,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-key-device-sensor", "x3d-key-device-sensor\x3d-key-device-sensor.vcproj", "{E20E0E24-C0B6-4448-82E0-32CCDBA88957}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-event-utilities", "x3d-event-utilities\x3d-event-utilities.vcproj", "{CE946E0C-4880-4AB0-9170-42D6692791CC}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -140,6 +143,10 @@ {E20E0E24-C0B6-4448-82E0-32CCDBA88957}.Debug|Win32.Build.0 = Debug|Win32 {E20E0E24-C0B6-4448-82E0-32CCDBA88957}.Release|Win32.ActiveCfg = Release|Win32 {E20E0E24-C0B6-4448-82E0-32CCDBA88957}.Release|Win32.Build.0 = Release|Win32 + {CE946E0C-4880-4AB0-9170-42D6692791CC}.Debug|Win32.ActiveCfg = Debug|Win32 + {CE946E0C-4880-4AB0-9170-42D6692791CC}.Debug|Win32.Build.0 = Debug|Win32 + {CE946E0C-4880-4AB0-9170-42D6692791CC}.Release|Win32.ActiveCfg = Release|Win32 + {CE946E0C-4880-4AB0-9170-42D6692791CC}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-event-utilities.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj 2008-09-21 22:20:08 UTC (rev 3662) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj 2008-09-21 22:47:35 UTC (rev 3663) @@ -1,227 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-event-utilities" - ProjectGUID="{CE946E0C-4880-4AB0-9170-42D6692791CC}" - RootNamespace="x3deventutilities" - 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-event-utilities\boolean_filter.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_sequencer.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_toggle.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_trigger.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_sequencer.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_trigger.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\time_trigger.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-event-utilities\boolean_filter.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_sequencer.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_toggle.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_trigger.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_sequencer.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_trigger.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\time_trigger.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-event-utilities/x3d-event-utilities.vcproj (from rev 3662, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-event-utilities/x3d-event-utilities.vcproj 2008-09-21 22:47:35 UTC (rev 3663) @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-event-utilities" + ProjectGUID="{CE946E0C-4880-4AB0-9170-42D6692791CC}" + RootNamespace="x3deventutilities" + 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-event-utilities\boolean_filter.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_sequencer.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_toggle.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_trigger.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_sequencer.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_trigger.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\time_trigger.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-event-utilities\boolean_filter.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_sequencer.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_toggle.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\boolean_trigger.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_sequencer.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\integer_trigger.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-event-utilities\time_trigger.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 22:20:08 UTC (rev 3662) +++ trunk/src/Makefile.am 2008-09-21 22:47:35 UTC (rev 3663) @@ -13,7 +13,8 @@ node/x3d-geometry2d/libx3d-geometry2d.la \ node/x3d-texturing/libx3d-texturing.la \ node/x3d-interpolation/libx3d-interpolation.la \ - node/x3d-key-device-sensor/libx3d-key-device-sensor.la + node/x3d-key-device-sensor/libx3d-key-device-sensor.la \ + node/x3d-event-utilities/libx3d-event-utilities.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -155,6 +156,7 @@ node/x3d-texturing/libx3d-texturing.la \ node/x3d-interpolation/libx3d-interpolation.la \ node/x3d-key-device-sensor/libx3d-key-device-sensor.la \ + node/x3d-event-utilities/libx3d-event-utilities.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -460,6 +462,27 @@ node/x3d-key-device-sensor/string_sensor.cpp \ node/x3d-key-device-sensor/string_sensor.h +node_x3d_event_utilities_libx3d_event_utilities_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_event_utilities_libx3d_event_utilities_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_event_utilities_libx3d_event_utilities_la_SOURCES = \ + node/x3d-event-utilities/boolean_filter.cpp \ + node/x3d-event-utilities/boolean_filter.h \ + node/x3d-event-utilities/boolean_sequencer.cpp \ + node/x3d-event-utilities/boolean_sequencer.h \ + node/x3d-event-utilities/boolean_toggle.cpp \ + node/x3d-event-utilities/boolean_toggle.h \ + node/x3d-event-utilities/boolean_trigger.cpp \ + node/x3d-event-utilities/boolean_trigger.h \ + node/x3d-event-utilities/integer_sequencer.cpp \ + node/x3d-event-utilities/integer_sequencer.h \ + node/x3d-event-utilities/integer_trigger.cpp \ + node/x3d-event-utilities/integer_trigger.h \ + node/x3d-event-utilities/time_trigger.cpp \ + node/x3d-event-utilities/time_trigger.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_event_utilities.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_event_utilities.cpp 2008-09-21 22:20:08 UTC (rev 3662) +++ trunk/src/libopenvrml/openvrml/x3d_event_utilities.cpp 2008-09-21 22:47:35 UTC (rev 3663) @@ -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,1818 +18,44 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include <openvrml/browser.h> +# include "x3d_event_utilities.h" +# include <x3d-event-utilities/boolean_filter.h> +# include <x3d-event-utilities/boolean_sequencer.h> +# include <x3d-event-utilities/boolean_toggle.h> +# include <x3d-event-utilities/boolean_trigger.h> +# include <x3d-event-utilities/integer_sequencer.h> +# include <x3d-event-utilities/integer_trigger.h> +# include <x3d-event-utilities/time_trigger.h> + # ifdef HAVE_CONFIG_H # include <config.h> # endif -# include <boost/array.hpp> -# include <private.h> -# include <openvrml/browser.h> -# include "node_impl_util.h" -# include "x3d_event_utilities.h" - -namespace { - - /** - * @brief Class object for BooleanFilter nodes. - */ - class OPENVRML_LOCAL boolean_filter_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit boolean_filter_metatype(openvrml::browser & browser); - virtual ~boolean_filter_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for BooleanSequencer nodes. - */ - class OPENVRML_LOCAL boolean_sequencer_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit boolean_sequencer_metatype(openvrml::browser & browser); - virtual ~boolean_sequencer_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for BooleanToggle nodes. - */ - class OPENVRML_LOCAL boolean_toggle_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit boolean_toggle_metatype(openvrml::browser & browser); - virtual ~boolean_toggle_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for BooleanTrigger nodes. - */ - class OPENVRML_LOCAL boolean_trigger_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit boolean_trigger_metatype(openvrml::browser & browser); - virtual ~boolean_trigger_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for IntegerSequencer nodes. - */ - class OPENVRML_LOCAL integer_sequencer_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit integer_sequencer_metatype(openvrml::browser & browser); - virtual ~integer_sequencer_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for IntegerTrigger nodes. - */ - class OPENVRML_LOCAL integer_trigger_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit integer_trigger_metatype(openvrml::browser & browser); - virtual ~integer_trigger_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; - - - /** - * @brief Class object for TimeTrigger nodes. - */ - class OPENVRML_LOCAL time_trigger_metatype : public openvrml::node_metatype { - public: - static const char * const id; - - explicit time_trigger_metatype(openvrml::browser & browser); - virtual ~time_trigger_metatype() OPENVRML_NOTHROW; - - private: - virtual const boost::shared_ptr<openvrml::node_type> - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc); - }; -} - void register_event_utilities_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; - b.add_node_metatype(boolean_filter_metatype::id, - shared_ptr<node_metatype>(new boolean_filter_metatype(b))); - b.add_node_metatype(boolean_sequencer_metatype::id, - shared_ptr<node_metatype>(new boolean_sequencer_metatype(b))); - b.add_node_metatype(boolean_toggle_metatype::id, - shared_ptr<node_metatype>(new boolean_toggle_metatype(b))); - b.add_node_metatype(boolean_trigger_metatype::id, - shared_ptr<node_metatype>(new boolean_trigger_metatype(b))); - b.add_node_metatype(integer_sequencer_metatype::id, - shared_ptr<node_metatype>(new integer_sequencer_metatype(b))); - b.add_node_metatype(integer_trigger_metatype::id, - shared_ptr<node_metatype>(new integer_trigger_metatype(b))); - b.add_node_metatype(time_trigger_metatype::id, - shared_ptr<node_metatype>(new time_trigger_metatype(b))); + using namespace openvrml_node_x3d_event_utilities; + b.add_node_metatype( + boolean_filter_metatype::id, + shared_ptr<node_metatype>(new boolean_filter_metatype(b))); + b.add_node_metatype( + boolean_sequencer_metatype::id, + shared_ptr<node_metatype>(new boolean_sequencer_metatype(b))); + b.add_node_metatype( + boolean_toggle_metatype::id, + shared_ptr<node_metatype>(new boolean_toggle_metatype(b))); + b.add_node_metatype( + boolean_trigger_metatype::id, + shared_ptr<node_metatype>(new boolean_trigger_metatype(b))); + b.add_node_metatype( + integer_sequencer_metatype::id, + shared_ptr<node_metatype>(new integer_sequencer_metatype(b))); + b.add_node_metatype( + integer_trigger_metatype::id, + shared_ptr<node_metatype>(new integer_trigger_metatype(b))); + b.add_node_metatype( + time_trigger_metatype::id, + shared_ptr<node_metatype>(new time_trigger_metatype(b))); } - -namespace { - - using namespace openvrml_; - - class OPENVRML_LOCAL boolean_filter_node : - public openvrml::node_impl_util::abstract_node<boolean_filter_node>, - public openvrml::child_node { - - friend class boolean_filter_metatype; - - class set_boolean_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit set_boolean_listener(self_t & node); - virtual ~set_boolean_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_boolean_listener set_boolean_listener_; - openvrml::sfbool input_false_; - sfbool_emitter input_false_emitter_; - openvrml::sfbool input_negate_; - sfbool_emitter input_negate_emitter_; - openvrml::sfbool input_true_; - sfbool_emitter input_true_emitter_; - - public: - boolean_filter_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~boolean_filter_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL boolean_sequencer_node : - public openvrml::node_impl_util::abstract_node<boolean_sequencer_node>, - public openvrml::child_node { - - friend class boolean_sequencer_metatype; - - class next_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit next_listener(self_t & node); - virtual ~next_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class previous_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit previous_listener(self_t & node); - virtual ~previous_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_fraction_listener : - public openvrml::node_impl_util::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 openvrml::sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - next_listener next_listener_; - previous_listener previous_listener_; - set_fraction_listener set_fraction_listener_; - exposedfield<openvrml::mffloat> key_; - exposedfield<openvrml::mfbool> key_value_; - openvrml::sfbool value_changed_; - sfbool_emitter value_changed_emitter_; - - public: - boolean_sequencer_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~boolean_sequencer_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL boolean_toggle_node : - public openvrml::node_impl_util::abstract_node<boolean_toggle_node>, - public openvrml::child_node { - - friend class boolean_toggle_metatype; - - class set_boolean_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit set_boolean_listener(self_t & node); - virtual ~set_boolean_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_boolean_listener set_boolean_listener_; - exposedfield<openvrml::sfbool> toggle_; - - public: - boolean_toggle_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~boolean_toggle_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL boolean_trigger_node : - public openvrml::node_impl_util::abstract_node<boolean_trigger_node>, - public openvrml::child_node { - - friend class boolean_trigger_metatype; - - class set_trigger_time_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sftime_listener { - public: - explicit set_trigger_time_listener(self_t & node); - virtual ~set_trigger_time_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sftime & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_trigger_time_listener set_trigger_time_listener_; - openvrml::sfbool trigger_true_; - sfbool_emitter trigger_true_emitter_; - - public: - boolean_trigger_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~boolean_trigger_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL integer_sequencer_node : - public openvrml::node_impl_util::abstract_node<integer_sequencer_node>, - public openvrml::child_node { - - friend class integer_sequencer_metatype; - - class next_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit next_listener(self_t & node); - virtual ~next_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class previous_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit previous_listener(self_t & node); - virtual ~previous_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_fraction_listener : - public openvrml::node_impl_util::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 openvrml::sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - next_listener next_listener_; - previous_listener previous_listener_; - set_fraction_listener set_fraction_listener_; - exposedfield<openvrml::mffloat> key_; - exposedfield<openvrml::mfint32> key_value_; - openvrml::sfint32 value_changed_; - sfint32_emitter value_changed_emitter_; - - public: - integer_sequencer_node( - const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~integer_sequencer_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL integer_trigger_node : - public openvrml::node_impl_util::abstract_node<integer_trigger_node>, - public openvrml::child_node { - - friend class integer_trigger_metatype; - - class set_boolean_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit set_boolean_listener(self_t & node); - virtual ~set_boolean_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_boolean_listener set_boolean_listener_; - exposedfield<openvrml::mfint32> integer_key_; - openvrml::sfint32 trigger_value_; - sfint32_emitter trigger_value_emitter_; - - public: - integer_trigger_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~integer_trigger_node() OPENVRML_NOTHROW; - }; - - - class OPENVRML_LOCAL time_trigger_node : - public openvrml::node_impl_util::abstract_node<time_trigger_node>, - public openvrml::child_node { - - friend class time_trigger_metatype; - - class set_boolean_listener : - public openvrml::node_impl_util::event_listener_base<self_t>, - public sfbool_listener { - public: - explicit set_boolean_listener(self_t & node); - virtual ~set_boolean_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const openvrml::sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_boolean_listener set_boolean_listener_; - openvrml::sftime trigger_time_; - sftime_emitter trigger_time_emitter_; - - public: - time_trigger_node(const openvrml::node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~time_trigger_node() OPENVRML_NOTHROW; - }; - - - /** - * @brief @c node_metatype identifier. - */ - const char * const boolean_filter_metatype::id = - "urn:X-openvrml:node:BooleanFilter"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c boolean_filter_metatype. - */ - boolean_filter_metatype::boolean_filter_metatype(openvrml::browser & browser): - node_metatype(boolean_filter_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - boolean_filter_metatype::~boolean_filter_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 BooleanFilter nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by boolean_filter_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - boolean_filter_metatype:: - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc) - { - using namespace openvrml; - using namespace openvrml::node_impl_util; - - typedef boost::array<node_interface, 5> 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::sfbool_id, - "set_boolean"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "inputFalse"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "inputNegate"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "inputTrue") - }; - typedef node_type_impl<boolean_filter_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, - &boolean_filter_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &boolean_filter_node::set_boolean_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &boolean_filter_node::input_false_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &boolean_filter_node::input_negate_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &boolean_filter_node::input_true_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const boolean_sequencer_metatype::id = - "urn:X-openvrml:node:BooleanSequencer"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c boolean_sequencer_metatype. - */ - boolean_sequencer_metatype::boolean_sequencer_metatype(openvrml::browser & browser): - node_metatype(boolean_sequencer_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - boolean_sequencer_metatype::~boolean_sequencer_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 BooleanSequencer nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by boolean_sequencer_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - boolean_sequencer_metatype:: - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc) - { - using namespace openvrml; - using namespace openvrml::node_impl_util; - - typedef boost::array<node_interface, 7> 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::sfbool_id, - "next"), - node_interface(node_interface::eventin_id, - field_value::sfbool_id, - "previous"), - node_interface(node_interface::eventin_id, - field_value::sffloat_id, - "set_fraction"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "key"), - node_interface(node_interface::exposedfield_id, - field_value::mfbool_id, - "keyValue"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "value_changed") - }; - typedef node_type_impl<boolean_sequencer_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, - &boolean_sequencer_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::next_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::previous_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::set_fraction_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::key_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::key_value_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &boolean_sequencer_node::value_changed_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const boolean_toggle_metatype::id = - "urn:X-openvrml:node:BooleanToggle"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with - * @c this boolean_toggle_metatype. - */ - boolean_toggle_metatype::boolean_toggle_metatype(openvrml::browser & browser): - node_metatype(boolean_toggle_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - boolean_toggle_metatype::~boolean_toggle_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 BooleanToggle nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by boolean_toggle_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - boolean_toggle_metatype:: - do_create_type(const std::string & id, - const openvrml::node_interface_set & interfaces) const - OPENVRML_THROW2(openvrml::unsupported_interface, std::bad_alloc) - { - using namespace openvrml; - using namespace openvrml::node_impl_util; - - typedef boost::array<node_interface, 3> 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::sfbool_id, - "set_boolean"), - node_interface(node_interface::exposedfield_id, - field_value::sfbool_id, - "toggle") - }; - typedef node_type_impl<boolean_toggle_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, - &boolean_toggle_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &boolean_toggle_node::set_boolean_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &boolean_toggle_node::toggle_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const boolean_trigger_metatype::id = - "urn:X-openvrml:node:BooleanTrigger"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * ... [truncated message content] |
From: <br...@us...> - 2008-09-22 00:38:04
|
Revision: 3666 http://openvrml.svn.sourceforge.net/openvrml/?rev=3666&view=rev Author: braden Date: 2008-09-22 00:37:53 +0000 (Mon, 22 Sep 2008) Log Message: ----------- Moved X3D DIS 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_dis.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-dis/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-dis/x3d-dis.vcproj trunk/src/node/x3d-dis/ 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 Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-dis/x3d-dis.vcproj 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 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-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-grouping/static_group.cpp trunk/src/node/x3d-grouping/static_group.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 + /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 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-21 23:21:48 UTC (rev 3665) +++ trunk/ChangeLog 2008-09-22 00:37:53 UTC (rev 3666) @@ -1,5 +1,26 @@ 2008-09-21 Braden McDaniel <br...@en...> + Moved X3D DIS node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-dis static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-dis/x3d-dis.vcproj + * src/Makefile.am: Added convenience library + node/x3d-dis/libx3d-dis.la. + * src/libopenvrml/openvrml/x3d_dis.cpp: Moved node implementations + to separate files. + * src/node/x3d-dis/espdu_transform.cpp + * src/node/x3d-dis/espdu_transform.h + * src/node/x3d-dis/receiver_pdu.cpp + * src/node/x3d-dis/receiver_pdu.h + * src/node/x3d-dis/signal_pdu.cpp + * src/node/x3d-dis/signal_pdu.h + * src/node/x3d-dis/transmitter_pdu.cpp + * src/node/x3d-dis/transmitter_pdu.h + +2008-09-21 Braden McDaniel <br...@en...> + Moved X3D Event Utilities node implementations into a convenience library. Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-21 23:21:48 UTC (rev 3665) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-22 00:37:53 UTC (rev 3666) @@ -5,6 +5,7 @@ {CE946E0C-4880-4AB0-9170-42D6692791CC} = {CE946E0C-4880-4AB0-9170-42D6692791CC} {78133A10-3ADF-474C-B32A-74124A976482} = {78133A10-3ADF-474C-B32A-74124A976482} {E20E0E24-C0B6-4448-82E0-32CCDBA88957} = {E20E0E24-C0B6-4448-82E0-32CCDBA88957} + {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5} = {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5} {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} @@ -69,6 +70,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-event-utilities", "x3d-event-utilities\x3d-event-utilities.vcproj", "{CE946E0C-4880-4AB0-9170-42D6692791CC}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-dis", "x3d-dis\x3d-dis.vcproj", "{D5FF853A-6BD3-49AC-A5B6-ACA754C766F5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -147,6 +150,10 @@ {CE946E0C-4880-4AB0-9170-42D6692791CC}.Debug|Win32.Build.0 = Debug|Win32 {CE946E0C-4880-4AB0-9170-42D6692791CC}.Release|Win32.ActiveCfg = Release|Win32 {CE946E0C-4880-4AB0-9170-42D6692791CC}.Release|Win32.Build.0 = Release|Win32 + {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5}.Debug|Win32.ActiveCfg = Debug|Win32 + {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5}.Debug|Win32.Build.0 = Debug|Win32 + {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5}.Release|Win32.ActiveCfg = Release|Win32 + {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-dis ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-dis.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-dis/x3d-dis.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-dis/x3d-dis.vcproj 2008-09-21 23:21:48 UTC (rev 3665) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-dis/x3d-dis.vcproj 2008-09-22 00:37:53 UTC (rev 3666) @@ -1,203 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-dis" - ProjectGUID="{D5FF853A-6BD3-49AC-A5B6-ACA754C766F5}" - RootNamespace="x3ddis" - 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-dis\espdu_transform.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-dis\receiver_pdu.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-dis\signal_pdu.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-dis\transmitter_pdu.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-dis\espdu_transform.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-dis\receiver_pdu.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-dis\signal_pdu.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-dis\transmitter_pdu.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-dis/x3d-dis.vcproj (from rev 3665, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-dis/x3d-dis.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-dis/x3d-dis.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-dis/x3d-dis.vcproj 2008-09-22 00:37:53 UTC (rev 3666) @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-dis" + ProjectGUID="{D5FF853A-6BD3-49AC-A5B6-ACA754C766F5}" + RootNamespace="x3ddis" + 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-dis\espdu_transform.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-dis\receiver_pdu.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-dis\signal_pdu.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-dis\transmitter_pdu.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-dis\espdu_transform.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-dis\receiver_pdu.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-dis\signal_pdu.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-dis\transmitter_pdu.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 23:21:48 UTC (rev 3665) +++ trunk/src/Makefile.am 2008-09-22 00:37:53 UTC (rev 3666) @@ -14,7 +14,8 @@ node/x3d-texturing/libx3d-texturing.la \ node/x3d-interpolation/libx3d-interpolation.la \ node/x3d-key-device-sensor/libx3d-key-device-sensor.la \ - node/x3d-event-utilities/libx3d-event-utilities.la + node/x3d-event-utilities/libx3d-event-utilities.la \ + node/x3d-dis/libx3d-dis.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -157,6 +158,7 @@ node/x3d-interpolation/libx3d-interpolation.la \ node/x3d-key-device-sensor/libx3d-key-device-sensor.la \ node/x3d-event-utilities/libx3d-event-utilities.la \ + node/x3d-dis/libx3d-dis.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -483,6 +485,21 @@ node/x3d-event-utilities/time_trigger.cpp \ node/x3d-event-utilities/time_trigger.h +node_x3d_dis_libx3d_dis_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_dis_libx3d_dis_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_dis_libx3d_dis_la_SOURCES = \ + node/x3d-dis/espdu_transform.cpp \ + node/x3d-dis/espdu_transform.h \ + node/x3d-dis/receiver_pdu.cpp \ + node/x3d-dis/receiver_pdu.h \ + node/x3d-dis/signal_pdu.cpp \ + node/x3d-dis/signal_pdu.h \ + node/x3d-dis/transmitter_pdu.cpp \ + node/x3d-dis/transmitter_pdu.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_dis.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_dis.cpp 2008-09-21 23:21:48 UTC (rev 3665) +++ trunk/src/libopenvrml/openvrml/x3d_dis.cpp 2008-09-22 00:37:53 UTC (rev 3666) @@ -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,98 +18,22 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include "x3d_dis.h" +# include "browser.h" +# include <x3d-dis/espdu_transform.h> +# include <x3d-dis/receiver_pdu.h> +# include <x3d-dis/signal_pdu.h> +# include <x3d-dis/transmitter_pdu.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_dis.h" - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Class object for EspduTransform nodes. - */ - class OPENVRML_LOCAL espdu_transform_metatype : public node_metatype { - public: - static const char * const id; - - explicit espdu_transform_metatype(openvrml::browser & browser); - virtual ~espdu_transform_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 ReceiverPdu nodes. - */ - class OPENVRML_LOCAL receiver_pdu_metatype : public node_metatype { - public: - static const char * const id; - - explicit receiver_pdu_metatype(openvrml::browser & browser); - virtual ~receiver_pdu_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 SignalPdu nodes. - */ - class OPENVRML_LOCAL signal_pdu_metatype : public node_metatype { - public: - static const char * const id; - - explicit signal_pdu_metatype(openvrml::browser & browser); - virtual ~signal_pdu_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 TransmitterPdu nodes. - */ - class OPENVRML_LOCAL transmitter_pdu_metatype : public node_metatype { - public: - static const char * const id; - - explicit transmitter_pdu_metatype(openvrml::browser & browser); - virtual ~transmitter_pdu_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_dis_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; + using namespace openvrml_node_x3d_dis; b.add_node_metatype(espdu_transform_metatype::id, shared_ptr<node_metatype>( new espdu_transform_metatype(b))); @@ -122,3781 +46,3 @@ shared_ptr<node_metatype>( new transmitter_pdu_metatype(b))); } - -namespace { - using namespace openvrml_; - - class OPENVRML_LOCAL espdu_transform_node : - public abstract_node<espdu_transform_node>, - public child_node { - - friend class espdu_transform_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); - }; - - class set_articulation_parameter_value0_listener : - public event_listener_base<self_t>, - public sffloat_listener { - public: - explicit set_articulation_parameter_value0_listener(self_t & node); - virtual ~set_articulation_parameter_value0_listener() - OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_articulation_parameter_value1_listener : - public event_listener_base<self_t>, - public sffloat_listener { - public: - explicit set_articulation_parameter_value1_listener(self_t & node); - virtual ~set_articulation_parameter_value1_listener() - OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_articulation_parameter_value2_listener : - public event_listener_base<self_t>, - public sffloat_listener { - public: - explicit set_articulation_parameter_value2_listener(self_t & node); - virtual ~set_articulation_parameter_value2_listener() - OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_articulation_parameter_value3_listener : - public event_listener_base<self_t>, - public sffloat_listener { - public: - explicit set_articulation_parameter_value3_listener(self_t & node); - virtual ~set_articulation_parameter_value3_listener() - OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_articulation_parameter_value4_listener : - public event_listener_base<self_t>, - public sffloat_listener { - public: - explicit set_articulation_parameter_value4_listener(self_t & node); - virtual ~set_articulation_parameter_value4_listener() - OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_articulation_parameter_value5_listener : - public event_listener_base<self_t>, - public sffloat_listener { - public: - explicit set_articulation_parameter_value5_listener(self_t & node); - virtual ~set_articulation_parameter_value5_listener() - OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_articulation_parameter_value6_listener : - public event_listener_base<self_t>, - public sffloat_listener { - public: - explicit set_articulation_parameter_value6_listener(self_t & node); - virtual ~set_articulation_parameter_value6_listener() - OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_articulation_parameter_value7_listener : - public event_listener_base<self_t>, - public sffloat_listener { - public: - explicit set_articulation_parameter_value7_listener(self_t & node); - virtual ~set_articulation_parameter_value7_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sffloat & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - add_children_listener add_children_listener_; - remove_children_listener remove_children_listener_; - set_articulation_parameter_value0_listener set_articulation_parameter_value0_listener_; - set_articulation_parameter_value1_listener set_articulation_parameter_value1_listener_; - set_articulation_parameter_value2_listener set_articulation_parameter_value2_listener_; - set_articulation_parameter_value3_listener set_articulation_parameter_value3_listener_; - set_articulation_parameter_value4_listener set_articulation_parameter_value4_listener_; - set_articulation_parameter_value5_listener set_articulation_parameter_value5_listener_; - set_articulation_parameter_value6_listener set_articulation_parameter_value6_listener_; - set_articulation_parameter_value7_listener set_articulation_parameter_value7_listener_; - exposedfield<sfstring> address_; - exposedfield<sfint32> application_id_; - exposedfield<sfint32> articulation_parameter_count_; - exposedfield<mfint32> articulation_parameter_designator_array_; - exposedfield<mfint32> articulation_parameter_change_indicator_array_; - exposedfield<mfint32> articulation_parameter_id_part_attached_to_array_; - exposedfield<mfint32> articulation_parameter_type_array_; - exposedfield<mffloat> articulation_parameter_array_; - exposedfield<sfvec3f> center_; - exposedfield<mfnode> children_; - exposedfield<sfint32> collision_type_; - exposedfield<sfint32> dead_reckoning_; - exposedfield<sfvec3f> detonation_location_; - exposedfield<sfvec3f> detonation_relative_location_; - exposedfield<sfint32> detonation_result_; - exposedfield<sfint32> entity_category_; - exposedfield<sfint32> entity_country_; - exposedfield<sfint32> entity_domain_; - exposedfield<sfint32> entity_extra_; - exposedfield<sfint32> entity_id_; - exposedfield<sfint32> entity_kind_; - exposedfield<sfint32> entity_specific_; - exposedfield<sfint32> entity_sub_category_; - exposedfield<sfint32> event_application_id_; - exposedfield<sfint32> event_entity_id_; - exposedfield<sfint32> event_number_; - exposedfield<sfint32> event_site_id_; - exposedfield<sfbool> fired1_; - exposedfield<sfbool> fired2_; - exposedfield<sfint32> fire_mission_index_; - exposedfield<sffloat> firing_range_; - exposedfield<sfint32> firing_rate_; - exposedfield<sfint32> force_id_; - exposedfield<sfint32> fuse_; - exposedfield<sfvec3f> linear_velocity_; - exposedfield<sfvec3f> linear_acceleration_; - exposedfield<sfstring> marking_; - exposedfield<sfstring> multicast_relay_host_; - exposedfield<sfint32> multicast_relay_port_; - exposedfield<sfint32> munition_application_id_; - exposedfield<sfvec3f> munition_end_point_; - exposedfield<sfint32> munition_entity_id_; - exposedfield<sfint32> munition_quantity_; - exposedfield<sfint32> munition_site_id_; - exposedfield<sfvec3f> munition_start_point_; - exposedfield<sfstring> network_mode_; - exposedfield<sfint32> port_; - exposedfield<sftime> read_interval_; - exposedfield<sfrotation> rotation_; - exposedfield<sfvec3f> scale_; - exposedfield<sfrotation> scale_orientation_; - exposedfield<sfint32> site_id_; - exposedfield<sfvec3f> translation_; - exposedfield<sfint32> warhead_; - exposedfield<sftime> write_interval_; - sffloat articulation_parameter_value0_changed_; - sffloat_emitter articulation_parameter_value0_changed_emitter_; - sffloat articulation_parameter_value1_changed_; - sffloat_emitter articulation_parameter_value1_changed_emitter_; - sffloat articulation_parameter_value2_changed_; - sffloat_emitter articulation_parameter_value2_changed_emitter_; - sffloat articulation_parameter_value3_changed_; - sffloat_emitter articulation_parameter_value3_changed_emitter_; - sffloat articulation_parameter_value4_changed_; - sffloat_emitter articulation_parameter_value4_changed_emitter_; - sffloat articulation_parameter_value5_changed_; - sffloat_emitter articulation_parameter_value5_changed_emitter_; - sffloat articulation_parameter_value6_changed_; - sffloat_emitter articulation_parameter_value6_changed_emitter_; - sffloat articulation_parameter_value7_changed_; - sffloat_emitter articulation_parameter_value7_changed_emitter_; - sftime collide_time_; - sftime_emitter collide_time_emitter_; - sftime detonate_time_; - sftime_emitter detonate_time_emitter_; - sftime fired_time_; - sftime_emitter fired_time_emitter_; - sfbool is_active_; - sfbool_emitter is_active_emitter_; - sfbool is_collided_; - sfbool_emitter is_collided_emitter_; - sfbool is_detonated_; - sfbool_emitter is_detonated_emitter_; - sfbool is_network_reader_; - sfbool_emitter is_network_reader_emitter_; - sfbool is_network_writer_; - sfbool_emitter is_network_writer_emitter_; - sfbool is_rtp_header_heard_; - sfbool_emitter is_rtp_header_heard_emitter_; - sfbool is_stand_alone_; - sfbool_emitter is_stand_alone_emitter_; - sftime timestamp_; - sftime_emitter timestamp_emitter_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - sfbool rtp_header_expected_; - - public: - espdu_transform_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~espdu_transform_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL receiver_pdu_node : - public abstract_node<receiver_pdu_node>, - public child_node { - - friend class receiver_pdu_metatype; - - exposedfield<sfstring> address_; - exposedfield<sfint32> application_id_; - exposedfield<sfint32> entity_id_; - exposedfield<sfstring> multicast_relay_host_; - exposedfield<sfint32> multicast_relay_port_; - exposedfield<sfstring> network_mode_; - exposedfield<sfint32> port_; - exposedfield<sfint32> radio_id_; - exposedfield<sffloat> read_interval_; - exposedfield<sffloat> received_power_; - exposedfield<sfint32> receiver_state_; - exposedfield<sfbool> rtp_header_expected_; - exposedfield<sfint32> site_id_; - exposedfield<sfint32> transmitter_application_id_; - exposedfield<sfint32> transmitter_entity_id_; - exposedfield<sfint32> transmitter_radio_id_; - exposedfield<sfint32> transmitter_site_id_; - exposedfield<sfint32> which_geometry_; - exposedfield<sffloat> write_interval_; - sfbool is_active_; - sfbool_emitter is_active_emitter_; - sfbool is_network_reader_; - sfbool_emitter is_network_reader_emitter_; - sfbool is_network_writer_; - sfbool_emitter is_network_writer_emitter_; - sfbool is_rtp_header_heard_; - sfbool_emitter is_rtp_header_heard_emitter_; - sfbool is_stand_alone_; - sfbool_emitter is_stand_alone_emitter_; - sftime timestamp_; - sftime_emitter timestamp_emitter_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - public: - receiver_pdu_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~receiver_pdu_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL signal_pdu_node : - public abstract_node<signal_pdu_node>, - public child_node { - - friend class signal_pdu_metatype; - - exposedfield<sfstring> address_; - exposedfield<sfint32> application_id_; - exposedfield<mfint32> data_; - exposedfield<sfint32> data_length_; - exposedfield<sfint32> encoding_scheme_; - exposedfield<sfint32> entity_id_; - exposedfield<sfstring> multicast_relay_host_; - exposedfield<sfint32> multicast_relay_port_; - exposedfield<sfstring> network_mode_; - exposedfield<sfint32> port_; - exposedfield<sfint32> radio_id_; - exposedfield<sffloat> read_interval_; - exposedfield<sfbool> rtp_header_expected_; - exposedfield<sfint32> sample_rate_; - exposedfield<sfint32> samples_; - exposedfield<sfint32> site_id_; - exposedfield<sfint32> tdl_type_; - exposedfield<sfint32> which_geometry_; - exposedfield<sffloat> write_interval_; - sfbool is_active_; - sfbool_emitter is_active_emitter_; - sfbool is_network_reader_; - sfbool_emitter is_network_reader_emitter_; - sfbool is_network_writer_; - sfbool_emitter is_network_writer_emitter_; - sfbool is_rtp_header_heard_; - sfbool_emitter is_rtp_header_heard_emitter_; - sfbool is_stand_alone_; - sfbool_emitter is_stand_alone_emitter_; - sftime timestamp_; - sftime_emitter timestamp_emitter_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - public: - signal_pdu_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~signal_pdu_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL transmitter_pdu_node : - public abstract_node<transmitter_pdu_node>, - public child_node { - - friend class transmitter_pdu_metatype; - - exposedfield<sfstring> address_; - exposedfield<sfvec3f> antenna_location_; - exposedfield<mfint32> antenna_pattern_length_; - exposedfield<mfint32> antenna_pattern_type_; - exposedfield<sfint32> application_id_; - exposedfield<mfint32> crypto_key_id_; - exposedfield<mfint32> crypto_system_; - exposedfield<sfint32> entity_id_; - exposedfield<mfint32> frequency_; - exposedfield<mfint32> input_source_; - exposedfield<mfint32> length_of_modulation_parameters_; - exposedfield<mfint32> modulation_type_detail_; - exposedfield<mfint32> modulation_type_major_; - exposedfield<mfint32> modulation_type_spread_spectrum_; - exposedfield<mfint32> modulation_type_system_; - exposedfield<sfstring> multicast_relay_host_; - exposedfield<sfint32> multicast_relay_port_; - exposedfield<sfstring> network_mode_; - exposedfield<sfint32> port_; - exposedfield<sfint32> power_; - exposedfield<sfint32> radio_entity_type_category_; - exposedfield<sfint32> radio_entity_type_country_; - exposedfield<sfint32> radio_entity_type_domain_; - exposedfield<sfint32> radio_entity_type_kind_; - exposedfield<sfint32> radio_entity_type_nomenclature_; - exposedfield<sfint32> radio_entity_type_nomenclature_version_; - exposedfield<sfint32> radio_id_; - exposedfield<sffloat> read_interval_; - exposedfield<sfvec3f> relative_antenna_location_; - exposedfield<sfbool> rtp_header_expected_; - exposedfield<sfint32> site_id_; - exposedfield<sffloat> transmit_frequency_bandwidth_; - exposedfield<sfint32> transmit_state_; - exposedfield<sfint32> which_geometry_; - exposedfield<sffloat> write_interval_; - sfbool is_active_; - sfbool_emitter is_active_emitter_; - sfbool is_network_reader_; - sfbool_emitter is_network_reader_emitter_; - sfbool is_network_writer_; - sfbool_emitter is_network_writer_emitter_; - sfbool is_rtp_header_heard_; - sfbool_emitter is_rtp_header_heard_emitter_; - sfbool is_stand_alone_; - sfbool_emitter is_stand_alone_emitter_; - sftime timestamp_; - sftime_emitter timestamp_emitter_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - public: - transmitter_pdu_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~transmitter_pdu_node() OPENVRML_NOTHROW; - }; - - - /** - * @brief @c node_metatype identifier. - */ - const char * const espdu_transform_metatype::id = - "urn:X-openvrml:node:EspduTransform"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c espdu_transform_metatype. - */ - espdu_transform_metatype::espdu_transform_metatype(openvrml::browser & browser): - node_metatype(espdu_transform_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - espdu_transform_metatype::~espdu_transform_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 EspduTransform nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by espdu_transform_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - espdu_transform_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, 88> 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::eventin_id, - field_value::sffloat_id, - "set_articulationParameterValue0"), - node_interface(node_interface::eventin_id, - field_value::sffloat_id, - "set_articulationParameterValue1"), - node_interface(node_interface::eventin_id, - field_value::sffloat_id, - "set_articulationParameterValue2"), - node_interface(node_interface::eventin_id, - field_value::sffloat_id, - "set_articulationParameterValue3"), - node_interface(node_interface::eventin_id, - field_value::sffloat_id, - "set_articulationParameterValue4"), - node_interface(node_interface::eventin_id, - field_value::sffloat_id, - "set_articulationParameterValue5"), - node_interface(node_interface::eventin_id, - field_value::sffloat_id, - "set_articulationParameterValue6"), - node_interface(node_interface::eventin_id, - field_value::sffloat_id, - "set_articulationParameterValue7"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "address"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "applicationID"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "articulationParameterCount"), - node_interface(node_interface::exposedfield_id, - field_value::mfint32_id, - "articulationParameterDesignatorArray"), - node_interface(node_interface::exposedfield_id, - field_value::mfint32_id, - "articulationParameterChangeIndicatorArray"), - node_interface(node_interface::exposedfield_id, - field_value::mfint32_id, - "articulationParameterIdPartAttachedToArray"), - node_interface(node_interface::exposedfield_id, - field_value::mfint32_id, - "articulationParameterTypeArray"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "articulationParameterArray"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "center"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "children"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "collisionType"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "deadReckoning"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "detonationLocation"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "detonationRelativeLocation"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "detonationResult"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "entityCategory"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "entityCountry"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "entityDomain"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "entityExtra"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "entityID"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "entityKind"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "entitySpecific"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "entitySubCategory"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "eventApplicationID"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "eventEntityID"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "eventNumber"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "eventSiteID"), - node_interface(node_interface::exposedfield_id, - field_value::sfbool_id, - "fired1"), - node_interface(node_interface::exposedfield_id, - field_value::sfbool_id, - "fired2"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "fireMissionIndex"), - node_interface(node_interface::exposedfield_id, - field_value::sffloat_id, - "firingRange"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "firingRate"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "forceID"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "fuse"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "linearVelocity"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "linearAcceleration"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "marking"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "multicastRelayHost"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "multicastRelayPort"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "munitionApplicationID"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "munitionEndPoint"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "munitionEntityID"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "munitionQuantity"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "munitionSiteID"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "munitionStartPoint"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "networkMode"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "port"), - node_interface(node_interface::exposedfield_id, - field_value::sftime_id, - "readInterval"), - node_interface(node_interface::exposedfield_id, - field_value::sfrotation_id, - "rotation"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "scale"), - node_interface(node_interface::exposedfield_id, - field_value::sfrotation_id, - "scaleOrientation"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "siteID"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "translation"), - node_interface(node_interface::exposedfield_id, - field_value::sfint32_id, - "warhead"), - node_interface(node_interface::exposedfield_id, - field_value::sftime_id, - "writeInterval"), - node_interface(node_interface::eventout_id, - field_value::sffloat_id, - "articulationParameterValue0_changed"), - node_interface(node_interface::eventout_id, - field_value::sffloat_id, - "articulationParameterValue1_changed"), - node_interface(node_interface::eventout_id, - field_value::sffloat_id, - "articulationParameterValue2_changed"), - node_interface(node_interface::eventout_id, - field_value::sffloat_id, - "articulationParameterValue3_changed"), - node_interface(node_interface::eventout_id, - field_value::sffloat_id, - "articulationParameterValue4_changed"), - node_interface(node_interface::eventout_id, - field_value::sffloat_id, - "articulationParameterValue5_changed"), - node_interface(node_interface::eventout_id, - field_value::sffloat_id, - "articulationParameterValue6_changed"), - node_interface(node_interface::eventout_id, - field_value::sffloat_id, - "articulationParameterValue7_changed"), - node_interface(node_interface::eventout_id, - field_value::sftime_id, - "collideTime"), - node_interface(node_interface::eventout_id, - field_value::sftime_id, - "detonateTime"), - node_interface(node_interface::eventout_id, - field_value::sftime_id, - "firedTime"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isActive"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isCollided"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isDetonated"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isNetworkReader"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isNetworkWriter"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isRtpHeaderHeard"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isStandAlone"), - node_interface(node_interface::eventout_id, - field_value::sftime_id, - "timestamp"), - node_interface(node_interface::field_id, - field_value::sfvec3f_id, - "bboxCenter"), - node_interface(node_interface::field_id, - field_value::sfvec3f_id, - "bboxSize"), - node_interface(node_interface::field_id, - field_value::sfbool_id, - "rtpHeaderExpected") - }; - typedef node_type_impl<espdu_transform_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, - &espdu_transform_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &espdu_transform_node::add_children_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &espdu_transform_node::remove_children_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &espdu_transform_node::se... [truncated message content] |
From: <br...@us...> - 2008-09-22 02:38:16
|
Revision: 3669 http://openvrml.svn.sourceforge.net/openvrml/?rev=3669&view=rev Author: braden Date: 2008-09-22 02:38:00 +0000 (Mon, 22 Sep 2008) Log Message: ----------- Moved X3D Environmental Effects 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_environmental_effects.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-environmental-effects/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-environmental-effects/x3d-environmental-effects.vcproj trunk/src/node/x3d-environmental-effects/ trunk/src/node/x3d-environmental-effects/texture_background.cpp trunk/src/node/x3d-environmental-effects/texture_background.h Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-environmental-effects/x3d-environmental-effects.vcproj trunk/src/node/x3d-environmental-effects/texture_background.cpp trunk/src/node/x3d-environmental-effects/texture_background.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-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-grouping/static_group.cpp trunk/src/node/x3d-grouping/static_group.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 + /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 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-22 02:25:57 UTC (rev 3668) +++ trunk/ChangeLog 2008-09-22 02:38:00 UTC (rev 3669) @@ -1,5 +1,20 @@ 2008-09-21 Braden McDaniel <br...@en...> + Moved X3D Environmental Effects node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-environmental-effects static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-environmental-effects/x3d-environmental-effects.vcproj + * src/Makefile.am: Added convenience library + node/x3d-environmental-effectx/libx3d-environmental-effects.la. + * src/libopenvrml/openvrml/x3d_environmental_effects.cpp: Moved + node implementations to separate files. + * src/node/x3d-environmental-effects/texture_background.cpp + * src/node/x3d-environmental-effects/texture_background.h + +2008-09-21 Braden McDaniel <br...@en...> + Moved X3D DIS node implementations into a convenience library. Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-22 02:25:57 UTC (rev 3668) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-22 02:38:00 UTC (rev 3669) @@ -8,6 +8,7 @@ {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5} = {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5} {430B1A48-8E64-43DF-8CC4-AD09C41BA735} = {430B1A48-8E64-43DF-8CC4-AD09C41BA735} {61A31C6F-23A1-4243-A338-EF749912592A} = {61A31C6F-23A1-4243-A338-EF749912592A} + {12C5E485-59BD-40EB-9BE9-F856FBDC18B6} = {12C5E485-59BD-40EB-9BE9-F856FBDC18B6} {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} @@ -72,6 +73,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-dis", "x3d-dis\x3d-dis.vcproj", "{D5FF853A-6BD3-49AC-A5B6-ACA754C766F5}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-environmental-effects", "x3d-environmental-effects\x3d-environmental-effects.vcproj", "{12C5E485-59BD-40EB-9BE9-F856FBDC18B6}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -154,6 +157,10 @@ {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5}.Debug|Win32.Build.0 = Debug|Win32 {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5}.Release|Win32.ActiveCfg = Release|Win32 {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5}.Release|Win32.Build.0 = Release|Win32 + {12C5E485-59BD-40EB-9BE9-F856FBDC18B6}.Debug|Win32.ActiveCfg = Debug|Win32 + {12C5E485-59BD-40EB-9BE9-F856FBDC18B6}.Debug|Win32.Build.0 = Debug|Win32 + {12C5E485-59BD-40EB-9BE9-F856FBDC18B6}.Release|Win32.ActiveCfg = Release|Win32 + {12C5E485-59BD-40EB-9BE9-F856FBDC18B6}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-environmental-effects ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-environmental-effects.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-environmental-effects/x3d-environmental-effects.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-environmental-effects/x3d-environmental-effects.vcproj 2008-09-22 02:25:57 UTC (rev 3668) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-environmental-effects/x3d-environmental-effects.vcproj 2008-09-22 02:38:00 UTC (rev 3669) @@ -1,179 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-environmental-effects" - ProjectGUID="{12C5E485-59BD-40EB-9BE9-F856FBDC18B6}" - RootNamespace="x3denvironmentaleffects" - 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-environmental-effects\texture_background.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-environmental-effects\texture_background.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-environmental-effects/x3d-environmental-effects.vcproj (from rev 3668, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-environmental-effects/x3d-environmental-effects.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-environmental-effects/x3d-environmental-effects.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-environmental-effects/x3d-environmental-effects.vcproj 2008-09-22 02:38:00 UTC (rev 3669) @@ -0,0 +1,179 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-environmental-effects" + ProjectGUID="{12C5E485-59BD-40EB-9BE9-F856FBDC18B6}" + RootNamespace="x3denvironmentaleffects" + 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-environmental-effects\texture_background.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-environmental-effects\texture_background.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-22 02:25:57 UTC (rev 3668) +++ trunk/src/Makefile.am 2008-09-22 02:38:00 UTC (rev 3669) @@ -15,7 +15,8 @@ node/x3d-interpolation/libx3d-interpolation.la \ node/x3d-key-device-sensor/libx3d-key-device-sensor.la \ node/x3d-event-utilities/libx3d-event-utilities.la \ - node/x3d-dis/libx3d-dis.la + node/x3d-dis/libx3d-dis.la \ + node/x3d-environmental-effects/libx3d-environmental-effects.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -159,6 +160,7 @@ node/x3d-key-device-sensor/libx3d-key-device-sensor.la \ node/x3d-event-utilities/libx3d-event-utilities.la \ node/x3d-dis/libx3d-dis.la \ + node/x3d-environmental-effects/libx3d-environmental-effects.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -500,6 +502,15 @@ node/x3d-dis/transmitter_pdu.cpp \ node/x3d-dis/transmitter_pdu.h +node_x3d_environmental_effects_libx3d_environmental_effects_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_environmental_effects_libx3d_environmental_effects_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_environmental_effects_libx3d_environmental_effects_la_SOURCES = \ + node/x3d-environmental-effects/texture_background.cpp \ + node/x3d-environmental-effects/texture_background.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_environmental_effects.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_environmental_effects.cpp 2008-09-22 02:25:57 UTC (rev 3668) +++ trunk/src/libopenvrml/openvrml/x3d_environmental_effects.cpp 2008-09-22 02:38:00 UTC (rev 3669) @@ -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,434 +18,20 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include "browser.h" +# include "x3d_environmental_effects.h" +# include <x3d-environmental-effects/texture_background.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_environmental_effects.h" - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Class object for TextureBackground nodes. - */ - class OPENVRML_LOCAL texture_background_metatype : public node_metatype { - public: - static const char * const id; - - explicit texture_background_metatype(openvrml::browser & browser); - virtual ~texture_background_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_environmental_effects_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; + using namespace openvrml_node_x3d_environmental_effects; b.add_node_metatype(texture_background_metatype::id, shared_ptr<node_metatype>( new texture_background_metatype(b))); } - -namespace { - using namespace openvrml_; - - class OPENVRML_LOCAL texture_background_node : - public abstract_node<texture_background_node>, - public child_node { - - friend class texture_background_metatype; - - class set_bind_listener : public event_listener_base<self_t>, - public sfbool_listener { - public: - explicit set_bind_listener(self_t & node); - virtual ~set_bind_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_bind_listener set_bind_listener_; - exposedfield<mffloat> ground_angle_; - exposedfield<mfcolor> ground_color_; - exposedfield<sfnode> back_texture_; - exposedfield<sfnode> bottom_texture_; - exposedfield<sfnode> front_texture_; - exposedfield<sfnode> left_texture_; - exposedfield<sfnode> right_texture_; - exposedfield<sfnode> top_texture_; - exposedfield<mffloat> sky_angle_; - exposedfield<mfcolor> sky_color_; - exposedfield<mffloat> transparency_; - sftime bind_time_; - sftime_emitter bind_time_emitter_; - sfbool is_bound_; - sfbool_emitter is_bound_emitter_; - - public: - texture_background_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~texture_background_node() OPENVRML_NOTHROW; - }; - - /** - * @brief @c node_metatype identifier. - */ - const char * const texture_background_metatype::id = - "urn:X-openvrml:node:TextureBackground"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c texture_background_metatype. - */ - texture_background_metatype:: - texture_background_metatype(openvrml::browser & browser): - node_metatype(texture_background_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - texture_background_metatype::~texture_background_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 TextureBackground nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by texture_background_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - texture_background_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, 15> 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::sfbool_id, - "set_bind"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "groundAngle"), - node_interface(node_interface::exposedfield_id, - field_value::mfcolor_id, - "groundColor"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "backTexture"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "bottomTexture"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "frontTexture"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "leftTexture"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "rightTexture"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "topTexture"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "skyAngle"), - node_interface(node_interface::exposedfield_id, - field_value::mfcolor_id, - "skyColor"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "transparency"), - node_interface(node_interface::eventout_id, - field_value::sftime_id, - "bindTime"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isBound") - }; - typedef node_type_impl<texture_background_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, - &texture_background_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::set_bind_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::ground_angle_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::ground_color_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::back_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::bottom_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::front_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::left_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::right_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::top_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::sky_angle_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::sky_color_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::transparency_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::bind_time_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::is_bound_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @class texture_background_node - * - * @brief Represents TextureBackground node instances. - */ - - /** - * @var texture_background_node::texture_background_metatype - * - * @brief Class object for TextureBackground nodes. - */ - - /** - * @var texture_background_node::set_bind_listener texture_background_node::set_bind_listener_ - * - * @brief set_bind eventIn - */ - - /** - * @var exposedfield<mffloat> texture_background_node::ground_angle_ - * - * @brief ground_angle exposedField - */ - - /** - * @var exposedfield<mfcolor> texture_background_node::ground_color_ - * - * @brief ground_color exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::back_texture_ - * - * @brief back_texture exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::bottom_texture_ - * - * @brief bottom_texture exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::front_texture_ - * - * @brief front_texture exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::left_texture_ - * - * @brief left_texture exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::right_texture_ - * - * @brief right_texture exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::top_texture_ - * - * @brief top_texture exposedField - */ - - /** - * @var exposedfield<mffloat> texture_background_node::sky_angle_ - * - * @brief sky_angle exposedField - */ - - /** - * @var exposedfield<mfcolor> texture_background_node::sky_color_ - * - * @brief sky_color exposedField - */ - - /** - * @var exposedfield<mffloat> texture_background_node::transparency_ - * - * @brief transparency exposedField - */ - - /** - * @var sftime texture_background_node::bind_time_ - * - * @brief bind_time eventOut. - */ - - /** - * @var sftime_emitter texture_background_node::bind_time_emitter_ - * - * @brief bind_time eventOut emitter. - */ - - /** - * @var sfbool texture_background_node::is_bound_ - * - * @brief is_bound eventOut. - */ - - /** - * @var sfbool_emitter texture_background_node::is_bound_emitter_ - * - * @brief is_bound eventOut emitter. - */ - - texture_background_node::set_bind_listener:: - set_bind_listener(self_t & node): - node_event_listener(node), - event_listener_base<self_t>(node), - sfbool_listener(node) - {} - - texture_background_node::set_bind_listener:: - ~set_bind_listener() OPENVRML_NOTHROW - {} - - void texture_background_node::set_bind_listener:: - do_process_event(const sfbool & /* fraction */, const double /* timestamp */) - OPENVRML_THROW1(std::bad_alloc) - { - //TODO: add logic here - } - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - texture_background_node:: - texture_background_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), - child_node(type, scope), - set_bind_listener_(*this), - ground_angle_(*this), - ground_color_(*this), - back_texture_(*this), - bottom_texture_(*this), - front_texture_(*this), - left_texture_(*this), - right_texture_(*this), - top_texture_(*this), - sky_angle_(*this), - sky_color_(*this), - transparency_(*this), - bind_time_emitter_(*this, this->bind_time_), - is_bound_emitter_(*this, this->is_bound_) - {} - - /** - * @brief Destroy. - */ - texture_background_node::~texture_background_node() OPENVRML_NOTHROW - {} -} Property changes on: trunk/src/node/x3d-core/metadata_double.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665 + /branches/node-modules/src/node/x3d-core/metadata_double.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668 Property changes on: trunk/src/node/x3d-core/metadata_double.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665 + /branches/node-modules/src/node/x3d-core/metadata_double.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668 Property changes on: trunk/src/node/x3d-core/metadata_float.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665 + /branches/node-modules/src/node/x3d-core/metadata_float.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668 Property changes on: trunk/src/node/x3d-core/metadata_float.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665 + /branches/node-modules/src/node/x3d-core/metadata_float.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668 Property changes on: trunk/src/node/x3d-core/metadata_integer.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665 + /branches/node-modules/src/node/x3d-core/metadata_integer.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668 Property changes on: trunk/src/node/x3d-core/metadata_integer.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665 + /branches/node-modules/src/node/x3d-core/metadata_integer.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668 Property changes on: trunk/src/node/x3d-core/metadata_set.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665 + /branches/node-modules/src/node/x3d-core/metadata_set.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668 Property changes on: trunk/src/node/x3d-core/metadata_set.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665 + /branches/node-modules/src/node/x3d-core/metadata_set.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668 Property changes on: trunk/src/node/x3d-core/metadata_string.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665 + /branches/node-modules/src/node/x3d-core/metadata_string.cpp:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668 Property changes on: trunk/src/node/x3d-core/metadata_string.h ___________________________________________________________________ Modified: svn:mergeinfo - /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665 + /branches/node-modules/src/node/x3d-core/metadata_string.h:3632-3635,3637-3638,3640-3641,3643-3644,3646-3647,3649-3650,3654-3655,3657-3658,3661-3662,3664-3665,3667-3668 Property changes on: trunk/src/node/x3d-dis/espdu_transform.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 + /branches/node-modules/src/node/x3d-dis/espdu_transform.cpp:3667-3668 /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 Property changes on: trunk/src/node/x3d-dis/espdu_transform.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 + /branches/node-modules/src/node/x3d-dis/espdu_transform.h:3667-3668 /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 Property changes on: trunk/src/node/x3d-dis/receiver_pdu.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 + /branches/node-modules/src/node/x3d-dis/receiver_pdu.cpp:3667-3668 /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 Property changes on: trunk/src/node/x3d-dis/receiver_pdu.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 + /branches/node-modules/src/node/x3d-dis/receiver_pdu.h:3667-3668 /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 Property changes on: trunk/src/node/x3d-dis/signal_pdu.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 + /branches/node-modules/src/node/x3d-dis/signal_pdu.cpp:3667-3668 /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 Property changes on: trunk/src/node/x3d-dis/signal_pdu.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 + /branches/node-modules/src/node/x3d-dis/signal_pdu.h:3667-3668 /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 Property changes on: trunk/src/node/x3d-dis/transmitter_pdu.cpp ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 + /branches/node-modules/src/node/x3d-dis/transmitter_pdu.cpp:3667-3668 /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 Property changes on: trunk/src/node/x3d-dis/transmitter_pdu.h ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 + /branches/node-modules/src/node/x3d-dis/transmitter_pdu.h:3667-3668 /trunk/src/libopenvrml/openvrml/x3d_dis.cpp:3401-3630 Deleted: trunk/src/node/x3d-environmental-effects/texture_background.cpp =================================================================== --- branches/node-modules/src/node/x3d-environmental-effects/texture_background.cpp 2008-09-22 02:25:57 UTC (rev 3668) +++ trunk/src/node/x3d-environmental-effects/texture_background.cpp 2008-09-22 02:38:00 UTC (rev 3669) @@ -1,426 +0,0 @@ -// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- -// -// OpenVRML -// -// 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 -// the Free Software Foundation; either version 3 of the License, or (at your -// option) any later version. -// -// This library is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this library; if not, see <http://www.gnu.org/licenses/>. -// - -# include "texture_background.h" -# include <openvrml/node_impl_util.h> -# include <boost/array.hpp> - -# ifdef HAVE_CONFIG_H -# include <config.h> -# endif - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - class OPENVRML_LOCAL texture_background_node : - public abstract_node<texture_background_node>, - public child_node { - - friend - class openvrml_node_x3d_environmental_effects::texture_background_metatype; - - class set_bind_listener : public event_listener_base<self_t>, - public sfbool_listener { - public: - explicit set_bind_listener(self_t & node); - virtual ~set_bind_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_bind_listener set_bind_listener_; - exposedfield<mffloat> ground_angle_; - exposedfield<mfcolor> ground_color_; - exposedfield<sfnode> back_texture_; - exposedfield<sfnode> bottom_texture_; - exposedfield<sfnode> front_texture_; - exposedfield<sfnode> left_texture_; - exposedfield<sfnode> right_texture_; - exposedfield<sfnode> top_texture_; - exposedfield<mffloat> sky_angle_; - exposedfield<mfcolor> sky_color_; - exposedfield<mffloat> transparency_; - sftime bind_time_; - sftime_emitter bind_time_emitter_; - sfbool is_bound_; - sfbool_emitter is_bound_emitter_; - - public: - texture_background_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~texture_background_node() OPENVRML_NOTHROW; - }; - - - /** - * @class texture_background_node - * - * @brief Represents TextureBackground node instances. - */ - - /** - * @var texture_background_node::texture_background_metatype - * - * @brief Class object for TextureBackground nodes. - */ - - /** - * @var texture_background_node::set_bind_listener texture_background_node::set_bind_listener_ - * - * @brief set_bind eventIn - */ - - /** - * @var exposedfield<mffloat> texture_background_node::ground_angle_ - * - * @brief ground_angle exposedField - */ - - /** - * @var exposedfield<mfcolor> texture_background_node::ground_color_ - * - * @brief ground_color exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::back_texture_ - * - * @brief back_texture exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::bottom_texture_ - * - * @brief bottom_texture exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::front_texture_ - * - * @brief front_texture exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::left_texture_ - * - * @brief left_texture exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::right_texture_ - * - * @brief right_texture exposedField - */ - - /** - * @var exposedfield<sfnode> texture_background_node::top_texture_ - * - * @brief top_texture exposedField - */ - - /** - * @var exposedfield<mffloat> texture_background_node::sky_angle_ - * - * @brief sky_angle exposedField - */ - - /** - * @var exposedfield<mfcolor> texture_background_node::sky_color_ - * - * @brief sky_color exposedField - */ - - /** - * @var exposedfield<mffloat> texture_background_node::transparency_ - * - * @brief transparency exposedField - */ - - /** - * @var sftime texture_background_node::bind_time_ - * - * @brief bind_time eventOut. - */ - - /** - * @var sftime_emitter texture_background_node::bind_time_emitter_ - * - * @brief bind_time eventOut emitter. - */ - - /** - * @var sfbool texture_background_node::is_bound_ - * - * @brief is_bound eventOut. - */ - - /** - * @var sfbool_emitter texture_background_node::is_bound_emitter_ - * - * @brief is_bound eventOut emitter. - */ - - texture_background_node::set_bind_listener:: - set_bind_listener(self_t & node): - node_event_listener(node), - event_listener_base<self_t>(node), - sfbool_listener(node) - {} - - texture_background_node::set_bind_listener:: - ~set_bind_listener() OPENVRML_NOTHROW - {} - - void texture_background_node::set_bind_listener:: - do_process_event(const sfbool & /* fraction */, double /* timestamp */) - OPENVRML_THROW1(std::bad_alloc) - { - //TODO: add logic here - } - - - /** - * @brief Construct. - * - * @param type the node_type associated with this node. - * @param scope the scope to which the node belongs. - */ - texture_background_node:: - texture_background_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), - child_node(type, scope), - set_bind_listener_(*this), - ground_angle_(*this), - ground_color_(*this), - back_texture_(*this), - bottom_texture_(*this), - front_texture_(*this), - left_texture_(*this), - right_texture_(*this), - top_texture_(*this), - sky_angle_(*this), - sky_color_(*this), - transparency_(*this), - bind_time_emitter_(*this, this->bind_time_), - is_bound_emitter_(*this, this->is_bound_) - {} - - /** - * @brief Destroy. - */ - texture_background_node::~texture_background_node() OPENVRML_NOTHROW - {} -} - - -/** - * @brief @c node_metatype identifier. - */ -const char * const -openvrml_node_x3d_environmental_effects::texture_background_metatype::id = - "urn:X-openvrml:node:TextureBackground"; - -/** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c texture_background_metatype. - */ -openvrml_node_x3d_environmental_effects::texture_background_metatype:: -texture_background_metatype(openvrml::browser & browser): - node_metatype(texture_background_metatype::id, browser) -{} - -/** - * @brief Destroy. - */ -openvrml_node_x3d_environmental_effects::texture_background_metatype:: -~texture_background_metatype() - OPENVRML_NOTHROW -{} - -/** - * @brief Create a @c node_type. - * - * @param id the name for the new @c node_type. - * @param interfaces the interfaces for the new @c node_type. - * - * @return a @c node_type capable of creating TextureBackground nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by - * @c texture_background_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ -const boost::shared_ptr<openvrml::node_type> -openvrml_node_x3d_environmental_effects::texture_background_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, 15> 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::sfbool_id, - "set_bind"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "groundAngle"), - node_interface(node_interface::exposedfield_id, - field_value::mfcolor_id, - "groundColor"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "backTexture"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "bottomTexture"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "frontTexture"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "leftTexture"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "rightTexture"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "topTexture"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "skyAngle"), - node_interface(node_interface::exposedfield_id, - field_value::mfcolor_id, - "skyColor"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "transparency"), - node_interface(node_interface::eventout_id, - field_value::sftime_id, - "bindTime"), - node_interface(node_interface::eventout_id, - field_value::sfbool_id, - "isBound") - }; - typedef node_type_impl<texture_background_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, - &texture_background_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::set_bind_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::ground_angle_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::ground_color_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::back_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::bottom_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::front_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::left_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::right_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::top_texture_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::sky_angle_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::sky_color_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::transparency_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::bind_time_emitter_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventout( - supported_interface->field_type, - supported_interface->id, - &texture_background_node::is_bound_emitter_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; -} Copied: trunk/src/node/x3d-environmental-effects/texture_background.cpp (from rev 3668, branches/node-modules/src/node/x3d-environmental-effects/texture_background.cpp) =================================================================== --- trunk/src/node/x3d-environmental-effects/texture_background.cpp (rev 0) +++ trunk/src/node/x3d-environmental-effects/texture_background.cpp 2008-09-22 02:38:0... [truncated message content] |
From: <br...@us...> - 2008-09-22 16:03:18
|
Revision: 3672 http://openvrml.svn.sourceforge.net/openvrml/?rev=3672&view=rev Author: braden Date: 2008-09-22 16:02:47 +0000 (Mon, 22 Sep 2008) Log Message: ----------- Moved X3D Geospatial 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_geospatial.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj trunk/src/node/x3d-geospatial/ 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-geospatial/geospatial-common.cpp trunk/src/node/x3d-geospatial/geospatial-common.h Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj 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-geospatial/geospatial-common.cpp trunk/src/node/x3d-geospatial/geospatial-common.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-grouping/static_group.cpp trunk/src/node/x3d-grouping/static_group.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 + /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 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-22 15:48:06 UTC (rev 3671) +++ trunk/ChangeLog 2008-09-22 16:02:47 UTC (rev 3672) @@ -1,3 +1,36 @@ +2008-09-22 Braden McDaniel <br...@en...> + + Moved X3D Geospatial node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-environmental-effects static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj + * src/Makefile.am: Added convenience library + node/x3d-geospatial/libx3d-geospatial.la. + * src/libopenvrml/openvrml/x3d_geospatial.cpp: Moved node + implementations to separate files. + * src/node/x3d-geospatial/geo_coordinate.cpp + * src/node/x3d-geospatial/geo_coordinate.h + * src/node/x3d-geospatial/geo_elevation_grid.cpp + * src/node/x3d-geospatial/geo_elevation_grid.h + * src/node/x3d-geospatial/geo_location.cpp + * src/node/x3d-geospatial/geo_location.h + * src/node/x3d-geospatial/geo_lod.cpp + * src/node/x3d-geospatial/geo_lod.h + * src/node/x3d-geospatial/geo_metadata.cpp + * src/node/x3d-geospatial/geo_metadata.h + * src/node/x3d-geospatial/geo_origin.cpp + * src/node/x3d-geospatial/geo_origin.h + * src/node/x3d-geospatial/geo_position_interpolator.cpp + * src/node/x3d-geospatial/geo_position_interpolator.h + * src/node/x3d-geospatial/geo_touch_sensor.cpp + * src/node/x3d-geospatial/geo_touch_sensor.h + * src/node/x3d-geospatial/geo_viewpoint.cpp + * src/node/x3d-geospatial/geo_viewpoint.h + * src/node/x3d-geospatial/geospatial-common.cpp + * src/node/x3d-geospatial/geospatial-common.h + 2008-09-21 Braden McDaniel <br...@en...> Moved X3D Environmental Effects 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-22 15:48:06 UTC (rev 3671) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-22 16:02:47 UTC (rev 3672) @@ -13,6 +13,7 @@ {5ED398C0-0529-40D5-AB2C-C7EF0769002B} = {5ED398C0-0529-40D5-AB2C-C7EF0769002B} {95D646C4-B759-469D-BDBB-A370A5778CA5} = {95D646C4-B759-469D-BDBB-A370A5778CA5} {BFF962C6-4CC1-4DD1-965A-163EADE74986} = {BFF962C6-4CC1-4DD1-965A-163EADE74986} + {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} EndProjectSection @@ -75,6 +76,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-environmental-effects", "x3d-environmental-effects\x3d-environmental-effects.vcproj", "{12C5E485-59BD-40EB-9BE9-F856FBDC18B6}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-geospatial", "x3d-geospatial\x3d-geospatial.vcproj", "{3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -161,6 +164,10 @@ {12C5E485-59BD-40EB-9BE9-F856FBDC18B6}.Debug|Win32.Build.0 = Debug|Win32 {12C5E485-59BD-40EB-9BE9-F856FBDC18B6}.Release|Win32.ActiveCfg = Release|Win32 {12C5E485-59BD-40EB-9BE9-F856FBDC18B6}.Release|Win32.Build.0 = Release|Win32 + {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}.Debug|Win32.ActiveCfg = Debug|Win32 + {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}.Debug|Win32.Build.0 = Debug|Win32 + {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}.Release|Win32.ActiveCfg = Release|Win32 + {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-geospatial.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj 2008-09-22 15:48:06 UTC (rev 3671) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj 2008-09-22 16:02:47 UTC (rev 3672) @@ -1,251 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-geospatial" - ProjectGUID="{3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}" - RootNamespace="x3dgeospatial" - 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-geospatial\geo_coordinate.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_elevation_grid.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_location.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_lod.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_metadata.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_origin.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_position_interpolator.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_touch_sensor.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_viewpoint.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geospatial-common.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-geospatial\geo_coordinate.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_elevation_grid.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_location.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_lod.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_metadata.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_origin.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_position_interpolator.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_touch_sensor.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_viewpoint.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geospatial-common.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-geospatial/x3d-geospatial.vcproj (from rev 3671, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj 2008-09-22 16:02:47 UTC (rev 3672) @@ -0,0 +1,251 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-geospatial" + ProjectGUID="{3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}" + RootNamespace="x3dgeospatial" + 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-geospatial\geo_coordinate.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_elevation_grid.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_location.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_lod.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_metadata.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_origin.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_position_interpolator.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_touch_sensor.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_viewpoint.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geospatial-common.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-geospatial\geo_coordinate.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_elevation_grid.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_location.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_lod.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_metadata.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_origin.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_position_interpolator.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_touch_sensor.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geo_viewpoint.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-geospatial\geospatial-common.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-22 15:48:06 UTC (rev 3671) +++ trunk/src/Makefile.am 2008-09-22 16:02:47 UTC (rev 3672) @@ -16,7 +16,8 @@ node/x3d-key-device-sensor/libx3d-key-device-sensor.la \ node/x3d-event-utilities/libx3d-event-utilities.la \ node/x3d-dis/libx3d-dis.la \ - node/x3d-environmental-effects/libx3d-environmental-effects.la + node/x3d-environmental-effects/libx3d-environmental-effects.la \ + node/x3d-geospatial/libx3d-geospatial.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -161,6 +162,7 @@ node/x3d-event-utilities/libx3d-event-utilities.la \ node/x3d-dis/libx3d-dis.la \ node/x3d-environmental-effects/libx3d-environmental-effects.la \ + node/x3d-geospatial/libx3d-geospatial.la \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -511,6 +513,33 @@ node/x3d-environmental-effects/texture_background.cpp \ node/x3d-environmental-effects/texture_background.h +node_x3d_geospatial_libx3d_geospatial_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_geospatial_libx3d_geospatial_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_geospatial_libx3d_geospatial_la_SOURCES = \ + node/x3d-geospatial/geospatial-common.h \ + node/x3d-geospatial/geospatial-common.cpp \ + node/x3d-geospatial/geo_coordinate.cpp \ + node/x3d-geospatial/geo_coordinate.h \ + node/x3d-geospatial/geo_elevation_grid.cpp \ + node/x3d-geospatial/geo_elevation_grid.h \ + node/x3d-geospatial/geo_location.cpp \ + node/x3d-geospatial/geo_location.h \ + node/x3d-geospatial/geo_lod.cpp \ + node/x3d-geospatial/geo_lod.h \ + node/x3d-geospatial/geo_metadata.cpp \ + node/x3d-geospatial/geo_metadata.h \ + node/x3d-geospatial/geo_origin.cpp \ + node/x3d-geospatial/geo_origin.h \ + node/x3d-geospatial/geo_position_interpolator.cpp \ + node/x3d-geospatial/geo_position_interpolator.h \ + node/x3d-geospatial/geo_touch_sensor.cpp \ + node/x3d-geospatial/geo_touch_sensor.h \ + node/x3d-geospatial/geo_viewpoint.cpp \ + node/x3d-geospatial/geo_viewpoint.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_geospatial.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_geospatial.cpp 2008-09-22 15:48:06 UTC (rev 3671) +++ trunk/src/libopenvrml/openvrml/x3d_geospatial.cpp 2008-09-22 16:02:47 UTC (rev 3672) @@ -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,188 +18,27 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include "browser.h" +# include "x3d_geospatial.h" +# include <x3d-geospatial/geo_coordinate.h> +# include <x3d-geospatial/geo_elevation_grid.h> +# include <x3d-geospatial/geo_location.h> +# include <x3d-geospatial/geo_lod.h> +# include <x3d-geospatial/geo_metadata.h> +# include <x3d-geospatial/geo_origin.h> +# include <x3d-geospatial/geo_position_interpolator.h> +# include <x3d-geospatial/geo_touch_sensor.h> +# include <x3d-geospatial/geo_viewpoint.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_geospatial.h" - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Class object for GeoCoordinate nodes. - */ - class OPENVRML_LOCAL geo_coordinate_metatype : public node_metatype { - public: - static const char * const id; - - explicit geo_coordinate_metatype(openvrml::browser & browser); - virtual ~geo_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 GeoElevationGrid nodes. - */ - class OPENVRML_LOCAL geo_elevation_grid_metatype : public node_metatype { - public: - static const char * const id; - - explicit geo_elevation_grid_metatype(openvrml::browser & browser); - virtual ~geo_elevation_grid_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 GeoLocation nodes. - */ - class OPENVRML_LOCAL geo_location_metatype : public node_metatype { - public: - static const char * const id; - - explicit geo_location_metatype(openvrml::browser & browser); - virtual ~geo_location_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 GeoLOD nodes. - */ - class OPENVRML_LOCAL geo_lod_metatype : public node_metatype { - public: - static const char * const id; - - explicit geo_lod_metatype(openvrml::browser & browser); - virtual ~geo_lod_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 GeoMetadata nodes. - */ - class OPENVRML_LOCAL geo_metadata_metatype : public node_metatype { - public: - static const char * const id; - - explicit geo_metadata_metatype(openvrml::browser & browser); - virtual ~geo_metadata_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 GeoOrigin nodes. - */ - class OPENVRML_LOCAL geo_origin_metatype : public node_metatype { - public: - static const char * const id; - - explicit geo_origin_metatype(openvrml::browser & browser); - virtual ~geo_origin_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 GeoPositionInterpolator nodes. - */ - class OPENVRML_LOCAL geo_position_interpolator_metatype : public node_metatype { - public: - static const char * const id; - - explicit geo_position_interpolator_metatype(openvrml::browser & browser); - virtual ~geo_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 GeoTouchSensor nodes. - */ - class OPENVRML_LOCAL geo_touch_sensor_metatype : public node_metatype { - public: - static const char * const id; - - explicit geo_touch_sensor_metatype(openvrml::browser & browser); - virtual ~geo_touch_sensor_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 GeoViewpoint nodes. - */ - class OPENVRML_LOCAL geo_viewpoint_metatype : public node_metatype { - public: - static const char * const id; - - explicit geo_viewpoint_metatype(openvrml::browser & browser); - virtual ~geo_viewpoint_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_geospatial_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; + using namespace openvrml_node_x3d_geospatial; b.add_node_metatype(geo_coordinate_metatype::id, shared_ptr<node_metatype>( new geo_coordinate_metatype(b))); @@ -226,2677 +65,3 @@ shared_ptr<node_metatype>( new geo_viewpoint_metatype(b))); } - -namespace { - using namespace openvrml_; - - class OPENVRML_LOCAL geo_coordinate_node : - public abstract_node<geo_coordinate_node> { - - friend class geo_coordinate_metatype; - - exposedfield<mfvec3d> point_; - sfnode geo_origin_; - mfstring geo_system_; - - public: - geo_coordinate_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~geo_coordinate_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL geo_elevation_grid_node : - public abstract_node<geo_elevation_grid_node>, - public geometry_node, - public child_node { - - friend class geo_elevation_grid_metatype; - - class set_height_listener : public event_listener_base<self_t>, - public mfdouble_listener { - public: - explicit set_height_listener(self_t & node); - virtual ~set_height_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const mfdouble & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_height_listener set_height_listener_; - exposedfield<sfnode> color_; - exposedfield<sfnode> normal_; - exposedfield<sfnode> tex_coord_; - exposedfield<sffloat> y_scale_; - sfbool ccw_; - sfbool color_per_vertex_; - sfdouble crease_angle_; - sfvec3d geo_grid_origin_; - sfnode geo_origin_; - mfstring geo_system_; - mfdouble height_; - sfbool normal_per_vertex_; - sfbool solid_; - sfint32 x_dimension_; - sfdouble x_spacing_; - sfint32 z_dimension_; - sfdouble z_spacing_; - - public: - geo_elevation_grid_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~geo_elevation_grid_node() OPENVRML_NOTHROW; - - virtual bool modified() const; - virtual const color_node * color() const OPENVRML_NOTHROW; - private: - virtual viewer::object_t do_render_geometry(openvrml::viewer & viewer, - rendering_context context); - }; - - class OPENVRML_LOCAL geo_location_node : - public abstract_node<geo_location_node>, - public child_node { - - friend class geo_location_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_; - exposedfield<sfvec3d> geo_coords_; - sfnode geo_origin_; - mfstring geo_system_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - public: - geo_location_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~geo_location_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL geo_lod_node : public abstract_node<geo_lod_node>, - public child_node { - friend class geo_lod_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_; - mfnode children_; - mfnode_emitter children_emitter_; - sfvec3d center_; - mfstring child1url_; - mfstring child2url_; - mfstring child3url_; - mfstring child4url_; - sfnode geo_origin_; - mfstring geo_system_; - sffloat range_; - mfstring root_url_; - mfnode root_node_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - public: - geo_lod_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~geo_lod_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL geo_metadata_node : - public abstract_node<geo_metadata_node>, - public child_node { - - friend class geo_metadata_metatype; - - exposedfield<mfnode> data_; - exposedfield<mfstring> summary_; - exposedfield<mfstring> url_; - - public: - geo_metadata_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~geo_metadata_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL geo_origin_node : - public abstract_node<geo_origin_node> { - - friend class geo_origin_metatype; - - exposedfield<sfvec3d> geo_coords_; - exposedfield<mfstring> geo_system_; - sfbool rotate_yup_; - - public: - geo_origin_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~geo_origin_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL geo_position_interpolator_node : - public abstract_node<geo_position_interpolator_node>, - public child_node { - - friend class geo_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<mffloat> key_; - exposedfield<mfvec3d> key_value_; - sfvec3d geovalue_changed_; - sfvec3d_emitter geovalue_changed_emitter_; - sfvec3f value_changed_; - sfvec3f_emitter value_changed_emitter_; - sfnode geo_origin_; - mfstring geo_system_; - - public: - geo_position_interpolator_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~geo_position_interpolator_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL geo_touch_sensor_node : - public abstract_node<geo_touch_sensor_node>, - public child_node { - - friend class geo_touch_sensor_metatype; - - exposedfield<sfbool> enabled_; - sfvec3f hit_normal_changed_; - sfvec3f_emitter hit_normal_changed_emitter_; - sfvec3f hit_point_changed_; - sfvec3f_emitter hit_point_changed_emitter_; - sfvec2f hit_tex_coord_changed_; - sfvec2f_emitter hit_tex_coord_changed_emitter_; - sfvec3d hit_geo_coord_changed_; - sfvec3d_emitter hit_geo_coord_changed_emitter_; - sfbool is_active_; - sfbool_emitter is_active_emitter_; - sfbool is_over_; - sfbool_emitter is_over_emitter_; - sftime touch_time_; - sftime_emitter touch_time_emitter_; - sfnode geo_origin_; - mfstring geo_system_; - - public: - geo_touch_sensor_node( - const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~geo_touch_sensor_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL geo_viewpoint_node : - public abstract_node<geo_viewpoint_node>, - public child_node { - - friend class geo_viewpoint_metatype; - - class set_bind_listener : public event_listener_base<self_t>, - public sfbool_listener { - public: - explicit set_bind_listener(self_t & node); - virtual ~set_bind_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sfbool & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_orientation_listener : public event_listener_base<self_t>, - public sfrotation_listener { - public: - explicit set_orientation_listener(self_t & node); - virtual ~set_orientation_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sfrotation & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - class set_position_listener : public event_listener_base<self_t>, - public sfvec3d_listener { - public: - explicit set_position_listener(self_t & node); - virtual ~set_position_listener() OPENVRML_NOTHROW; - - private: - virtual void do_process_event(const sfvec3d & fraction, - double timestamp) - OPENVRML_THROW1(std::bad_alloc); - }; - - set_bind_listener set_bind_listener_; - set_orientation_listener set_orientation_listener_; - set_position_listener set_position_listener_; - exposedfield<sfstring> description_; - exposedfield<sffloat> field_of_view_; - exposedfield<sfbool> headlight_; - exposedfield<sfbool> jump_; - exposedfield<mfstring> nav_type_; - sftime bind_time_; - sftime_emitter bind_time_emitter_; - sfbool is_bound_; - sfbool_emitter is_bound_emitter_; - sfnode geo_origin_; - mfstring geo_system_; - sfrotation orientation_; - sfvec3d position_; - sffloat speed_factor_; - - public: - geo_viewpoint_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~geo_viewpoint_node() OPENVRML_NOTHROW; - }; - - - /** - * @brief @c node_metatype identifier. - */ - const char * const geo_coordinate_metatype::id = - "urn:X-openvrml:node:GeoCoordinate"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c geo_coordinate_metatype. - */ - geo_coordinate_metatype::geo_coordinate_metatype(openvrml::browser & browser): - node_metatype(geo_coordinate_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - geo_coordinate_metatype::~geo_coordinate_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 GeoCoordinate nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by geo_coordinate_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - geo_coordinate_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::exposedfield_id, - field_value::mfvec3d_id, - "point"), - node_interface(node_interface::field_id, - field_value::sfnode_id, - "geoOrigin"), - node_interface(node_interface::field_id, - field_value::mfstring_id, - "geoSystem") - }; - typedef node_type_impl<geo_coordinate_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, - &geo_coordinate_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &geo_coordinate_node::point_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_coordinate_node::geo_origin_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_coordinate_node::geo_system_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const geo_elevation_grid_metatype::id = - "urn:X-openvrml:node:GeoElevationGrid"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c geo_elevation_grid_metatype. - */ - geo_elevation_grid_metatype:: - geo_elevation_grid_metatype(openvrml::browser & browser): - node_metatype(geo_elevation_grid_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - geo_elevation_grid_metatype::~geo_elevation_grid_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 GeoElevationGrid nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by geo_elevation_grid_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - geo_elevation_grid_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, 19> 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::mfdouble_id, - "set_height"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "color"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "normal"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "texCoord"), - node_interface(node_interface::exposedfield_id, - field_value::sffloat_id, - "yScale"), - node_interface(node_interface::field_id, - field_value::sfbool_id, - "ccw"), - node_interface(node_interface::field_id, - field_value::sfbool_id, - "colorPerVertex"), - node_interface(node_interface::field_id, - field_value::sfdouble_id, - "creaseAngle"), - node_interface(node_interface::field_id, - field_value::sfvec3d_id, - "geoGridOrigin"), - node_interface(node_interface::field_id, - field_value::sfnode_id, - "geoOrigin"), - node_interface(node_interface::field_id, - field_value::mfstring_id, - "geoSystem"), - node_interface(node_interface::field_id, - field_value::mfdouble_id, - "height"), - node_interface(node_interface::field_id, - field_value::sfbool_id, - "normalPerVertex"), - node_interface(node_interface::field_id, - field_value::sfbool_id, - "solid"), - node_interface(node_interface::field_id, - field_value::sfint32_id, - "xDimension"), - node_interface(node_interface::field_id, - field_value::sfdouble_id, - "xSpacing"), - node_interface(node_interface::field_id, - field_value::sfint32_id, - "zDimension"), - node_interface(node_interface::field_id, - field_value::sfdouble_id, - "zSpacing") - }; - typedef node_type_impl<geo_elevation_grid_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, - &geo_elevation_grid_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::set_height_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::color_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::normal_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::tex_coord_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::y_scale_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::ccw_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::color_per_vertex_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::crease_angle_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::geo_grid_origin_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::geo_origin_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::geo_system_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::height_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::normal_per_vertex_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::solid_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::x_dimension_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::x_spacing_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::z_dimension_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &geo_elevation_grid_node::z_spacing_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c nod... [truncated message content] |
From: <br...@us...> - 2008-09-23 03:02:03
|
Revision: 3675 http://openvrml.svn.sourceforge.net/openvrml/?rev=3675&view=rev Author: braden Date: 2008-09-23 03:01:49 +0000 (Tue, 23 Sep 2008) Log Message: ----------- Moved X3D H-Anim 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_hanim.cpp Added Paths: ----------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-h-anim/ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-h-anim/x3d-h-anim.vcproj trunk/src/node/x3d-h-anim/ 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 Removed Paths: ------------- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-h-anim/x3d-h-anim.vcproj 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 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-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 + /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 Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-09-23 02:46:13 UTC (rev 3674) +++ trunk/ChangeLog 2008-09-23 03:01:49 UTC (rev 3675) @@ -1,10 +1,33 @@ 2008-09-22 Braden McDaniel <br...@en...> + Moved X3D H-Anim node implementations into a convenience + library. + + * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added + x3d-h-anim static library project. + * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-h-anim/x3d-h-anim.vcproj + * src/Makefile.am: Added convenience library + 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_joint.cpp + * src/node/x3d-h-anim/h_anim_humanoid.cpp + * 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...> + Moved X3D Geospatial node implementations into a convenience library. * ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln: Added - x3d-environmental-effects static library project. + x3d-geospatial static library project. * ide-projects/Windows/VisualC9_0/OpenVRML/x3d-geospatial/x3d-geospatial.vcproj * src/Makefile.am: Added convenience library node/x3d-geospatial/libx3d-geospatial.la. Modified: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-23 02:46:13 UTC (rev 3674) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/OpenVRML.sln 2008-09-23 03:01:49 UTC (rev 3675) @@ -4,6 +4,7 @@ ProjectSection(ProjectDependencies) = postProject {CE946E0C-4880-4AB0-9170-42D6692791CC} = {CE946E0C-4880-4AB0-9170-42D6692791CC} {78133A10-3ADF-474C-B32A-74124A976482} = {78133A10-3ADF-474C-B32A-74124A976482} + {3DA77516-5D3A-42AA-8D99-BF87643A75A2} = {3DA77516-5D3A-42AA-8D99-BF87643A75A2} {E20E0E24-C0B6-4448-82E0-32CCDBA88957} = {E20E0E24-C0B6-4448-82E0-32CCDBA88957} {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5} = {D5FF853A-6BD3-49AC-A5B6-ACA754C766F5} {430B1A48-8E64-43DF-8CC4-AD09C41BA735} = {430B1A48-8E64-43DF-8CC4-AD09C41BA735} @@ -78,6 +79,8 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-geospatial", "x3d-geospatial\x3d-geospatial.vcproj", "{3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x3d-h-anim", "x3d-h-anim\x3d-h-anim.vcproj", "{3DA77516-5D3A-42AA-8D99-BF87643A75A2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -168,6 +171,10 @@ {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}.Debug|Win32.Build.0 = Debug|Win32 {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}.Release|Win32.ActiveCfg = Release|Win32 {3C7DA0E4-D769-4C8A-9911-BE5C2651ED30}.Release|Win32.Build.0 = Release|Win32 + {3DA77516-5D3A-42AA-8D99-BF87643A75A2}.Debug|Win32.ActiveCfg = Debug|Win32 + {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 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Property changes on: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-h-anim ___________________________________________________________________ Added: svn:ignore + Debug Release x3d-h-anim.vcproj.*.user Deleted: trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-h-anim/x3d-h-anim.vcproj =================================================================== --- branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-h-anim/x3d-h-anim.vcproj 2008-09-23 02:46:13 UTC (rev 3674) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-h-anim/x3d-h-anim.vcproj 2008-09-23 03:01:49 UTC (rev 3675) @@ -1,211 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="9.00" - Name="x3d-h-anim" - ProjectGUID="{3DA77516-5D3A-42AA-8D99-BF87643A75A2}" - RootNamespace="x3dhanim" - 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-h-anim\h_anim_displacer.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_humanoid.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_joint.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_segment.cpp" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_site.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-h-anim\h_anim_displacer.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_humanoid.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_joint.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_segment.h" - > - </File> - <File - RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_site.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-h-anim/x3d-h-anim.vcproj (from rev 3674, branches/node-modules/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-h-anim/x3d-h-anim.vcproj) =================================================================== --- trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-h-anim/x3d-h-anim.vcproj (rev 0) +++ trunk/ide-projects/Windows/VisualC9_0/OpenVRML/x3d-h-anim/x3d-h-anim.vcproj 2008-09-23 03:01:49 UTC (rev 3675) @@ -0,0 +1,211 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="9.00" + Name="x3d-h-anim" + ProjectGUID="{3DA77516-5D3A-42AA-8D99-BF87643A75A2}" + RootNamespace="x3dhanim" + 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-h-anim\h_anim_displacer.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_humanoid.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_joint.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_segment.cpp" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_site.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-h-anim\h_anim_displacer.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_humanoid.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_joint.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_segment.h" + > + </File> + <File + RelativePath="..\..\..\..\..\src\node\x3d-h-anim\h_anim_site.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-23 02:46:13 UTC (rev 3674) +++ trunk/src/Makefile.am 2008-09-23 03:01:49 UTC (rev 3675) @@ -17,7 +17,8 @@ node/x3d-event-utilities/libx3d-event-utilities.la \ node/x3d-dis/libx3d-dis.la \ node/x3d-environmental-effects/libx3d-environmental-effects.la \ - node/x3d-geospatial/libx3d-geospatial.la + node/x3d-geospatial/libx3d-geospatial.la \ + node/x3d-h-anim/libx3d-h-anim.la if ENABLE_GL_RENDERER lib_LTLIBRARIES += libopenvrml-gl/libopenvrml-gl.la endif @@ -163,6 +164,7 @@ 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 \ -lboost_thread$(BOOST_LIB_SUFFIX) \ -lboost_filesystem$(BOOST_LIB_SUFFIX) \ -lltdl @@ -540,6 +542,23 @@ node/x3d-geospatial/geo_viewpoint.cpp \ node/x3d-geospatial/geo_viewpoint.h +node_x3d_h_anim_libx3d_h_anim_la_CPPFLAGS = \ + -I$(top_builddir)/src/libopenvrml \ + -I$(top_srcdir)/src/libopenvrml +node_x3d_h_anim_libx3d_h_anim_la_CXXFLAGS = \ + $(PTHREAD_CFLAGS) +node_x3d_h_anim_libx3d_h_anim_la_SOURCES = \ + node/x3d-h-anim/h_anim_displacer.cpp \ + node/x3d-h-anim/h_anim_displacer.h \ + node/x3d-h-anim/h_anim_humanoid.cpp \ + node/x3d-h-anim/h_anim_humanoid.h \ + node/x3d-h-anim/h_anim_joint.cpp \ + node/x3d-h-anim/h_anim_joint.h \ + node/x3d-h-anim/h_anim_segment.cpp \ + node/x3d-h-anim/h_anim_segment.h \ + node/x3d-h-anim/h_anim_site.cpp \ + node/x3d-h-anim/h_anim_site.h + libopenvrml_gl_libopenvrml_gl_la_CPPFLAGS = \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ Modified: trunk/src/libopenvrml/openvrml/x3d_hanim.cpp =================================================================== --- trunk/src/libopenvrml/openvrml/x3d_hanim.cpp 2008-09-23 02:46:13 UTC (rev 3674) +++ trunk/src/libopenvrml/openvrml/x3d_hanim.cpp 2008-09-23 03:01:49 UTC (rev 3675) @@ -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,1879 +18,35 @@ // along with this library; if not, see <http://www.gnu.org/licenses/>. // +# include "browser.h" +# include "x3d_hanim.h" +# include <x3d-h-anim/h_anim_displacer.h> +# include <x3d-h-anim/h_anim_humanoid.h> +# include <x3d-h-anim/h_anim_joint.h> +# include <x3d-h-anim/h_anim_segment.h> +# include <x3d-h-anim/h_anim_site.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_hanim.h" - -using namespace openvrml; -using namespace openvrml::node_impl_util; -using namespace std; - -namespace { - - /** - * @brief Class object for HAnimDisplacer nodes. - */ - class OPENVRML_LOCAL hanim_displacer_metatype : public node_metatype { - public: - static const char * const id; - - explicit hanim_displacer_metatype(openvrml::browser & browser); - virtual ~hanim_displacer_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 HAnimHumanoid nodes. - */ - class OPENVRML_LOCAL hanim_humanoid_metatype : public node_metatype { - public: - static const char * const id; - - explicit hanim_humanoid_metatype(openvrml::browser & browser); - virtual ~hanim_humanoid_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 HAnimJoint nodes. - */ - class OPENVRML_LOCAL hanim_joint_metatype : public node_metatype { - public: - static const char * const id; - - explicit hanim_joint_metatype(openvrml::browser & browser); - virtual ~hanim_joint_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 HAnimSegment nodes. - */ - class OPENVRML_LOCAL hanim_segment_metatype : public node_metatype { - public: - static const char * const id; - - explicit hanim_segment_metatype(openvrml::browser & browser); - virtual ~hanim_segment_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 HAnimSite nodes. - */ - class OPENVRML_LOCAL hanim_site_metatype : public node_metatype { - public: - static const char * const id; - - explicit hanim_site_metatype(openvrml::browser & browser); - virtual ~hanim_site_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_hanim_node_metatypes(openvrml::browser & b) { using boost::shared_ptr; using openvrml::node_metatype; - b.add_node_metatype(hanim_displacer_metatype::id, + using namespace openvrml_node_x3d_h_anim; + b.add_node_metatype(h_anim_displacer_metatype::id, shared_ptr<node_metatype>( - new hanim_displacer_metatype(b))); - b.add_node_metatype(hanim_humanoid_metatype::id, + new h_anim_displacer_metatype(b))); + b.add_node_metatype(h_anim_humanoid_metatype::id, shared_ptr<node_metatype>( - new hanim_humanoid_metatype(b))); - b.add_node_metatype(hanim_joint_metatype::id, + new h_anim_humanoid_metatype(b))); + b.add_node_metatype(h_anim_joint_metatype::id, shared_ptr<node_metatype>( - new hanim_joint_metatype(b))); - b.add_node_metatype(hanim_segment_metatype::id, + new h_anim_joint_metatype(b))); + b.add_node_metatype(h_anim_segment_metatype::id, shared_ptr<node_metatype>( - new hanim_segment_metatype(b))); - b.add_node_metatype(hanim_site_metatype::id, - shared_ptr<node_metatype>(new hanim_site_metatype(b))); + new h_anim_segment_metatype(b))); + b.add_node_metatype(h_anim_site_metatype::id, + shared_ptr<node_metatype>(new h_anim_site_metatype(b))); } - -namespace { - using namespace openvrml_; - - class OPENVRML_LOCAL hanim_displacer_node : - public abstract_node<hanim_displacer_node> { - - friend class hanim_displacer_metatype; - - exposedfield<mfint32> coord_index_; - exposedfield<mfvec3f> displacements_; - exposedfield<sfstring> name_; - exposedfield<sffloat> weight_; - - public: - hanim_displacer_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~hanim_displacer_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL hanim_humanoid_node : - public abstract_node<hanim_humanoid_node>, - public child_node { - - friend class hanim_humanoid_metatype; - - exposedfield<sfvec3f> center_; - exposedfield<mfstring> info_; - exposedfield<mfnode> joints_; - exposedfield<sfstring> name_; - exposedfield<sfrotation> rotation_; - exposedfield<sfvec3f> scale_; - exposedfield<sfrotation> scale_orientation_; - exposedfield<mfnode> segments_; - exposedfield<mfnode> sites_; - exposedfield<mfnode> skeleton_; - exposedfield<mfnode> skin_; - exposedfield<sfnode> skin_coord_; - exposedfield<sfnode> skin_normal_; - exposedfield<sfvec3f> translation_; - exposedfield<sfstring> version_; - exposedfield<mfnode> viewpoints_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - public: - hanim_humanoid_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~hanim_humanoid_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL hanim_joint_node : - public abstract_node<hanim_joint_node>, - public child_node { - - friend class hanim_joint_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<sfvec3f> center_; - exposedfield<mfnode> children_; - exposedfield<mfnode> displacers_; - exposedfield<sfrotation> limit_orientation_; - exposedfield<mffloat> llimit_; - exposedfield<sfstring> name_; - exposedfield<sfrotation> rotation_; - exposedfield<sfvec3f> scale_; - exposedfield<sfrotation> scale_orientation_; - exposedfield<mfint32> skin_coord_index_; - exposedfield<mffloat> skin_coord_weight_; - exposedfield<mffloat> stiffness_; - exposedfield<sfvec3f> translation_; - exposedfield<mffloat> ulimit_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - public: - hanim_joint_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~hanim_joint_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL hanim_segment_node : - public abstract_node<hanim_segment_node>, - public child_node { - - friend class hanim_segment_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<sfvec3f> center_of_mass_; - exposedfield<mfnode> children_; - exposedfield<sfnode> coord_; - exposedfield<mfnode> displacers_; - exposedfield<sffloat> mass_; - exposedfield<mffloat> moments_of_inertia_; - exposedfield<sfstring> name_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - public: - hanim_segment_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~hanim_segment_node() OPENVRML_NOTHROW; - }; - - class OPENVRML_LOCAL hanim_site_node : - public abstract_node<hanim_site_node>, - public child_node { - - friend class hanim_site_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<sfvec3f> center_; - exposedfield<mfnode> children_; - exposedfield<sfstring> name_; - exposedfield<sfrotation> rotation_; - exposedfield<sfvec3f> scale_; - exposedfield<sfrotation> scale_orientation_; - exposedfield<sfvec3f> translation_; - sfvec3f bbox_center_; - sfvec3f bbox_size_; - - public: - hanim_site_node(const node_type & type, - const boost::shared_ptr<openvrml::scope> & scope); - virtual ~hanim_site_node() OPENVRML_NOTHROW; - }; - - - /** - * @brief @c node_metatype identifier. - */ - const char * const hanim_displacer_metatype::id = - "urn:X-openvrml:node:HAnimDisplacer"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c hanim_displacer_metatype. - */ - hanim_displacer_metatype::hanim_displacer_metatype(openvrml::browser & browser): - node_metatype(hanim_displacer_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - hanim_displacer_metatype::~hanim_displacer_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 HAnimDisplacer nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by hanim_displacer_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - hanim_displacer_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, 5> 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::exposedfield_id, - field_value::mfint32_id, - "coordIndex"), - node_interface(node_interface::exposedfield_id, - field_value::mfvec3f_id, - "displacements"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "name"), - node_interface(node_interface::exposedfield_id, - field_value::sffloat_id, - "weight") - }; - typedef node_type_impl<hanim_displacer_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, - &hanim_displacer_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_displacer_node::coord_index_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_displacer_node::displacements_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_displacer_node::name_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_displacer_node::weight_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const hanim_humanoid_metatype::id = - "urn:X-openvrml:node:HAnimHumanoid"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this - * @c hanim_humanoid_metatype. - */ - hanim_humanoid_metatype::hanim_humanoid_metatype(openvrml::browser & browser): - node_metatype(hanim_humanoid_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - hanim_humanoid_metatype::~hanim_humanoid_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 HAnimHumanoid nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by hanim_humanoid_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - hanim_humanoid_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, 19> 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::exposedfield_id, - field_value::sfvec3f_id, - "center"), - node_interface(node_interface::exposedfield_id, - field_value::mfstring_id, - "info"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "joints"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "name"), - node_interface(node_interface::exposedfield_id, - field_value::sfrotation_id, - "rotation"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "scale"), - node_interface(node_interface::exposedfield_id, - field_value::sfrotation_id, - "scaleOrientation"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "segments"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "sites"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "skeleton"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "skin"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "skinCoord"), - node_interface(node_interface::exposedfield_id, - field_value::sfnode_id, - "skinNormal"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "translation"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "version"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "viewpoints"), - node_interface(node_interface::field_id, - field_value::sfvec3f_id, - "bboxCenter"), - node_interface(node_interface::field_id, - field_value::sfvec3f_id, - "bboxSize") - }; - typedef node_type_impl<hanim_humanoid_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, - &hanim_humanoid_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::center_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::info_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::joints_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::name_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::rotation_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::scale_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::scale_orientation_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::segments_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::sites_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::skeleton_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::skin_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::skin_coord_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::skin_normal_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::translation_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::version_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::viewpoints_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::bbox_center_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_field( - supported_interface->field_type, - supported_interface->id, - &hanim_humanoid_node::bbox_size_); - } else { - throw unsupported_interface(*interface_); - } - } - return type; - } - - - /** - * @brief @c node_metatype identifier. - */ - const char * const hanim_joint_metatype::id = - "urn:X-openvrml:node:HAnimJoint"; - - /** - * @brief Construct. - * - * @param browser the @c browser associated with this @c hanim_joint_metatype. - */ - hanim_joint_metatype::hanim_joint_metatype(openvrml::browser & browser): - node_metatype(hanim_joint_metatype::id, browser) - {} - - /** - * @brief Destroy. - */ - hanim_joint_metatype::~hanim_joint_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 HAnimJoint nodes. - * - * @exception unsupported_interface if @p interfaces includes an interface - * not supported by hanim_joint_metatype. - * @exception std::bad_alloc if memory allocation fails. - */ - const boost::shared_ptr<openvrml::node_type> - hanim_joint_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, 19> 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::sfvec3f_id, - "center"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "children"), - node_interface(node_interface::exposedfield_id, - field_value::mfnode_id, - "displacers"), - node_interface(node_interface::exposedfield_id, - field_value::sfrotation_id, - "limitOrientation"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "llimit"), - node_interface(node_interface::exposedfield_id, - field_value::sfstring_id, - "name"), - node_interface(node_interface::exposedfield_id, - field_value::sfrotation_id, - "rotation"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "scale"), - node_interface(node_interface::exposedfield_id, - field_value::sfrotation_id, - "scaleOrientation"), - node_interface(node_interface::exposedfield_id, - field_value::mfint32_id, - "skinCoordIndex"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "skinCoordWeight"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "stiffness"), - node_interface(node_interface::exposedfield_id, - field_value::sfvec3f_id, - "translation"), - node_interface(node_interface::exposedfield_id, - field_value::mffloat_id, - "ulimit"), - node_interface(node_interface::field_id, - field_value::sfvec3f_id, - "bboxCenter"), - node_interface(node_interface::field_id, - field_value::sfvec3f_id, - "bboxSize") - }; - typedef node_type_impl<hanim_joint_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, - &hanim_joint_node::metadata); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::add_children_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_eventin( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::remove_children_listener_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::center_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::children_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::displacers_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::limit_orientation_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::llimit_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::name_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::rotation_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::scale_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::scale_orientation_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id, - &hanim_joint_node::skin_coord_index_); - } else if (*interface_ == *++supported_interface) { - the_node_type.add_exposedfield( - supported_interface->field_type, - supported_interface->id... [truncated message content] |