sv_Appearance
This class is used to create Java3D Appearances
Contents
classdef sv_Appearance
% This defines the sv_Appearance class. % URL : $URL: $ % Log : $Id: sv_Appearance.html,v 1.1 2008/07/23 12:51:21 jberg Exp $ % Copyright (c) 2008 The MathWorks, Inc.
Class Properties
properties ( SetAccess = 'private', GetAccess = 'public', Constant = true ) RED = sv_Appearance.create_static_appearance([1 0 0],[1 0 0],[],[],75,0.25); GREEN = sv_Appearance.create_static_appearance([0 1 0],[0 1 0],[],[],75,0.25); BLUE = sv_Appearance.create_static_appearance([0 0 1],[0 0 1],[],[],75,0.25); CYAN = sv_Appearance.create_static_appearance([0 1 1],[0 1 1],[],[],75,0.25); WHITE = sv_Appearance.create_static_appearance([1 1 1],[1 1 1],[],[],75,0.25); BLACK = sv_Appearance.create_static_appearance([0 0 0],[0 0 0],[],[],75,0.25); BRIGHT_RED = sv_Appearance.create_static_appearance([1 0 0],[1 0 0],[],[],128,0.0); BRIGHT_GREEN = sv_Appearance.create_static_appearance([0 1 0],[0 1 0],[],[],128,0.0); BRIGHT_BLUE = sv_Appearance.create_static_appearance([0 0 1],[0 0 1],[],[],128,0.0); BRIGHT_CYAN = sv_Appearance.create_static_appearance([0 1 1],[0 1 1],[],[],128,0.0); %#ok<REDEF> end methods ( Static = true )
Public Static HELPER Methods
function out = create_appearance(varargin) [material transparencyAttribute] = ... sv_Appearance.create_attributes(varargin{:}); out = javax.media.j3d.Appearance(); out.setMaterial(material); out.setCapability(out.ALLOW_TRANSPARENCY_ATTRIBUTES_WRITE); out.setTransparencyAttributes(transparencyAttribute); end
end methods ( Access = 'private', Static = true )
Private Static HELPER Methods
function out = create_static_appearance(varargin) [material transparencyAttribute] = ... sv_Appearance.create_attributes(varargin{:}); out = javax.media.j3d.Appearance(); out.setCapability(out.ALLOW_MATERIAL_WRITE); out.setCapability(out.ALLOW_TRANSPARENCY_ATTRIBUTES_WRITE); out.setMaterial(material); out.setTransparencyAttributes(transparencyAttribute); end function [material transparencyAttribute] = create_attributes(varargin) import javax.media.j3d.*; import javax.vecmath.*; % Define Defaults the_args = cell(6,1); the_args{1} = [0.5 0.5 0.5];% default ambientColor (grey) the_args{2} = [0.5 0.5 0.5];% default emissiveColor (grey) the_args{3} = [0 0 0]; % default diffuseColor (black) the_args{4} = [1 1 1]; % default specularColor (white) the_args{5} = 100; % default shininess (1-128) dull -to- shiny the_args{6} = 0.25; % default transparency (0-1) opaque -to- invisible % Assign any inputs to arguments for ii = 1:nargin if(~isempty(varargin{ii})) the_args{ii} = varargin{ii}; end end ambientColor = the_args{1}; emissiveColor = the_args{2}; diffuseColor = the_args{3}; specularColor = the_args{4}; shininess = the_args{5}; transparency = the_args{6}; material = Material(... Color3f(ambientColor(1),ambientColor(2),ambientColor(3)),... Color3f(emissiveColor(1),emissiveColor(2),emissiveColor(3)),... Color3f(diffuseColor(1),diffuseColor(2),diffuseColor(3)),... Color3f(specularColor(1),specularColor(2),specularColor(3)),... shininess); transparencyAttribute = ... TransparencyAttributes(TransparencyAttributes.NICEST,transparency); end
end
end