How can I calculate dependent properties and assign them to the object?
    5 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
Given a property for an object, need to calculate some values and assign them to the properties of the same object. I use following code but it does not work, showing three error messages.
 classdef GCSSetup
    properties
        Preference
    end
    properties (Dependent)
        VDir
        NDir
        EDir
        EDirAzDeg
        iCol
    end
    methods
        function [] = GCSDefine(GCS)
            % GCSPreference = 'VZ_NY'; % Vertical-Z / North -Y
            switch GCS.Preference
                case 'VZ_NY'
                    GCS.VDir = 'ZDir'; % System coordinate frame for Vertical direction
                    GCS.NDir = 'YDir'; % System coordinate frame for North direction
                    GCS.EDir = 'XDir'; % System coordinate frame for East direction
                    GCS.EDirAzDeg = 90;% Azimuth angle for east direction
                    % XDirDeg = 90;  % Azimuth for the X-frame direction in global coordinate system
                case ''
            end
            % iCol is the index to
            if     strcmp(GCS.VDir,'ZDir')==1, GCS.iCol=3;
            elseif strcmp(GCS.VDir,'YDir')==1, GCS.iCol=2;
            elseif strcmp(GCS.VDir,'XDir')==1, GCS.iCol=1;
            else
            end
        end
    end
end
Please help. Thanks...
2 commentaires
  Image Analyst
      
      
 le 28 Sep 2013
				How are you instantiating and calling this? Please attach your classdef file and the test script that you use to call it.
Réponses (2)
  Matt J
      
      
 le 29 Sep 2013
        
      Modifié(e) : Matt J
      
      
 le 29 Sep 2013
  
      You cannot store actual data to a Dependent property as you try to do, for example, in
 GCS.VDir = 'ZDir';
The whole point of a Dependent property is that it never actually stores data.
5 commentaires
  per isakson
      
      
 le 6 Oct 2013
				Here (R2013a, Win7) your code returns the following error
    In class 'GCSSetup', no set method is defined for Dependent property
    'VDir'.  A Dependent property needs a set method to assign its value.
    Error in GCSSetup (line 24)
       Obj.VDir = 'ZDir'; % System coordinate frame for Vertical direction
Voir également
Catégories
				En savoir plus sur Line Plots dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




