Flash 3D uygulamalarıFlash 3D uygulamaları için papervision3d öneriyoruz.
İçeriği Göster
Gtech Yazılım Çözümleri , DuyurularGtech Yazılım çözümleri hakkında bu alanda detaylı bilgi ve haber bulabilirsiniz.
İçeriği Göster
İlaç Takip Sistemi 1 Temmuzda BaşlıyorSahte ilaçların önlenmesi amacıyla her ilaca bir kimlik numarası verilmesi yoluyla ''İlaç Takip Sistemi'' kurulmasına öngören uygulamanın yürürlük tarihi 1 ay ertelendi. Sistem 1 Haziran yerine 1 Temmuzda hayata geçecek.
İçeriği Göster
KAREKOD Nedir?KAREKOD Nedir?
İçeriği Göster
Karekod İle İlgili SorularKarekod İle İlgili Sorular
İçeriği Göster
Karekod içerisinde ne kadar bilgi saklayabilirim?Karekod içerisinde ne kadar bilgi saklayabilirim?
İçeriği Göster
Neden KAREKOD ( Datamatris Barkod ) İlaç Takip sistemi için seçildi ?Neden KAREKOD ( Datamatris Barkod ) İlaç Takip sistemi için seçildi ?
İçeriği Göster
Barkod Neden Gereklidir?Barkod Neden Gereklidir?
İçeriği Göster
Küpür kalkıyor mu?Küpür kalkıyor mu?
İçeriği Göster
Karekod imalat esnasında mı basılmalıdır?Karekod imalat esnasında mı basılmalıdır?
İçeriği Göster

 

Eskiden Flash animasyonları içerisinde 3 boyutlu görüntüler elde etmek için 2 li koordinat sistemi üzerinde bir çok matematiksel dönüşüm yapmamız gerekiyordu.  Papervision3D kütüphanesi bize Flash için kolay kullanılabilir ve güvenili3 3D motoru sunuyor.

Papervision3D nin en çok sevdiğim özelliği size de hareket alanı bırakması. Her sınıf nesne yönelimli programcılık mantığı ile yazılmış. Sınıfları genişleterek ( extend ) kütüphane özelliklerini arttırmanız mümkün.

Papervision3D temel yapılandırmasında : Kameralar ( Camera ), Görüntü Kapıları ( Viewports ), Sahne ( Scene ), ve Sahneleme Motorundan ( Renderer Engine ) oluşuyor. Bunun haricinde isterseniz benim yaptığım gibi Görüntü Kapısı Katmanlarını ( Viewport Layers ) kullanabilirsiniz. Bu katmanlar size katman bazında filtreleme seçeneği sunuyor.

Aşağıda gördüğünüz animasyonu yapmak sadece 15 dakikanızı alıyor. 4 adet yazıyı 3 boyutlu uzayda yerleştirdim. Herbir yazı için görüntü kapısı katmanı oluşturdum. Kameranın yazı ile olan mesafesine bakarak katman üzerinde Bulanıklık (blur) filtresi uyguladım. ( Bulanıklık için x2 formulü kullandım bu yüzden biraz keskin sonuçlar aldık. Daha yumuşak geçişler için farklı formüller kullanabilirsiniz. )

 

 

Aşağıdaki alanda animasyona ait 3D kodunu bulabilirsiniz.

package tr.semere.works.orkestra.uc
{
    import flash.display.DisplayObject;
    import flash.display.MovieClip;
    import flash.display.Sprite;   
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.filters.BlurFilter;
    import org.papervision3d.core.math.Number3D;
    import org.papervision3d.objects.DisplayObject3D;
    import org.papervision3d.view.layer.ViewportLayer;
    import org.papervision3d.view.Viewport3D;
    import org.papervision3d.scenes.Scene3D;
    import org.papervision3d.cameras.Camera3D;
    import org.papervision3d.materials.ColorMaterial;
    import org.papervision3d.objects.primitives.Plane;
    import org.papervision3d.render.BasicRenderEngine;        
    import tr.semere.threed.fonts.gtech_font_orkestra;
    import tr.semere.threed.fonts.gtech_font_std3d;
    import org.papervision3d.typography.Font3D;
    import org.papervision3d.typography.Text3D;
    import tr.semere.util.Gtech3D_Util;
    import com.hydrotik.go.HydroSequence;
    import com.hydrotik.go.HydroTween;   
    /**
    $(CBI)* ...
    $(CBI)* @author Volkan Günaydın
    $(CBI)*/
    public class OrkestraUC_MainMovie extends MovieClip
    {
        public var viewport: Viewport3D;
        public var scene: Scene3D;
        public var camera: Camera3D;
        public var material: ColorMaterial;
        public var primitive: Plane;
        public var renderer: BasicRenderEngine;       
        public var stageWidth:Number;
        public var stageHeight:Number;
        public var autoScaleToStage:Boolean = true;
        public var isInteractive: Boolean = true;
        public var autoClipping : Boolean = false;
        public var autoCulling : Boolean = false;               
        public var orkestraYazisi:Text3D;
        public var orkestraLayer:ViewportLayer;
       
        public var text1:Text3D;
        public var layer1:ViewportLayer;
        public var text2:Text3D;
        public var layer2:ViewportLayer;               
        public var text3:Text3D;
        public var layer3:ViewportLayer;
        public var text4:Text3D;
        public var layer4:ViewportLayer;
       
        public var orkestraYaziDepth:Number = 0;
        public var tmpCounter:Number = 0;
        public var layerDepths = [];
       
        public var cameraTarget:DisplayObject3D;
        //public var cameraPositionVariable:Number3D = new Number3D(0,0,-500);
        public function OrkestraUC_MainMovie()
        {
            this.initSimple3D();
            this.simpleSetup();
            HydroTween.init3D(this.renderer, this.scene, this.camera, this.viewport);
            this.animationStart();
        }
        public function simpleSetup()
        {
            this.orkestraYazisi = Gtech3D_Util.create3DText("Orkestra", new gtech_font_orkestra(), "orkestra1", 0xFFFFFF, 1.0);
            this.orkestraYazisi.scale = 3;
            this.orkestraYazisi.material.doubleSided = true;
            this.scene.addChild(this.orkestraYazisi );
            this.orkestraLayer =   this.viewport.getChildLayer(this.orkestraYazisi, true, true);
           
           
            this.text1 = Gtech3D_Util.create3DText("Web Sitemiz", new gtech_font_std3d(), "text1", 0xFFFFFF, 1.0);
            this.text2 = Gtech3D_Util.create3DText("Yapım Aşamasındadır", new gtech_font_std3d(), "text2", 0xFFFFFF, 1.0);
            this.text1.material.doubleSided = true;
            this.text2.material.doubleSided = true;
            text1.x = 500;
            text1.y = 500;
            text1.z = 800;
            text2.x = 500;
            text2.y = 400;
            text2.z = 800;
            text1.rotationY = 130;
            text2.rotationY = 145;
           
            this.scene.addChild(text1);
            this.scene.addChild(text2);           
            this.layer1 =  this.viewport.getChildLayer(this.text1, true, true);
            this.layer2 =  this.viewport.getChildLayer(this.text2, true, true);
           
            this.text3 = Gtech3D_Util.create3DText("FLASH ile 3D", new gtech_font_std3d(), "text3", 0xFFFFFF, 1.0);
            this.text3.material.doubleSided = true;
            this.text3.position = new Number3D( -300, -300, -400);
            this.scene.addChild(text3);
            this.layer3 = this.viewport.getChildLayer(this.text3, true, true);
           
            this.text4 = Gtech3D_Util.create3DText("www.orkestra.com.tr", new gtech_font_std3d(), "text4", 0xFFFFFF, 1.0);
            this.text4.material.doubleSided = true;
            this.text4.position = new Number3D( -300, 300, 400);
            this.text4.rotationY = 45;
            this.scene.addChild(text4);
            this.layer4 = this.viewport.getChildLayer(this.text4, true, true);
           
           
            this.addEventListener(Event.ENTER_FRAME, this.onEnterFrameDefault);
            this.addEventListener(MouseEvent.MOUSE_OVER, this.onMouseOver);
           
            //this.camera.target = this.orkestraYazisi;
        }
        public function updateYaziDepth(s:String, d:Number, l:ViewportLayer) {                       
            var tmp = parseFloat(this.layerDepths[s]);
            if (d > 0 && tmp != d) {
                if (d > 10) { d = 10;  }
                l.filters = [new BlurFilter(d, d, 1)];
                this.layerDepths[s] = d;
            }           
        }   
        public function cameraUzakliginiKontrolEt(s:String,e:Number3D,l:ViewportLayer) {
            tmpCounter++;
            if (true) {
                tmpCounter = 0;
                var dx   = camera.x -e.x;
                var dy   = camera.y -e.y;
                var dz   = camera.z -e.z;
                var dist = Math.sqrt(dx * dx + dy * dy + dz * dz);
                var blurVal = Math.round(dist*dist / 4000) / 100 - 1.0;
                this.updateYaziDepth( s, blurVal, l );               
            }
        }
        public function initSimple3D() {
            this.viewport = new Viewport3D(this.stageWidth, this.stageHeight, this.autoScaleToStage, this.isInteractive, this.autoClipping, this.autoCulling);           
            this.scene  = new Scene3D();
            this.camera = new Camera3D();
            this.renderer = new BasicRenderEngine();           
            this.addChild(this.viewport);
            this.cameraTarget = new DisplayObject3D();
            this.scene.addChild(this.cameraTarget);
            this.camera.target = this.cameraTarget;
        }       
        public function renderScene() {
            this.renderer.renderScene(this.scene,this.camera,this.viewport);
        }
        public function onEnterFrameDefault(e:Event):void {       
            cameraUzakliginiKontrolEt("orkestra", this.orkestraYazisi.position, this.orkestraLayer);
            cameraUzakliginiKontrolEt("text1", this.text1.position, this.layer1);
            cameraUzakliginiKontrolEt("text2", this.text2.position, this.layer2);
            cameraUzakliginiKontrolEt("text3", this.text3.position, this.layer3);
            cameraUzakliginiKontrolEt("text4",this.text4.position,this.layer4);
            this.renderScene();
        }           
        public function onMouseOver(e:MouseEvent):void {
        }
        public function startOver() {
            this.animationStart();
        }
        public function animationStart() {
            var fuse:HydroSequence = new HydroSequence();
           
            fuse.addItem( { target:camera, x:300, y:300, z: -1000, duration:5 } );
            fuse.addItem( { target:camera, x:2000, y:2000, z: -3000, duration:2 } );
            fuse.addItem( { target:camera, x:530, y:0, z: 2000, duration:4 } );           
            fuse.addItem( { target:this.cameraTarget, x:text3.x, y:text3.y, z:text3.z } );           
            fuse.addItem( { target:camera, x: -800, y: -300, z: -610, duration:5 } );
           
            fuse.addItem( { target:this.cameraTarget, x:text4.x, y:text4.y, z:text4.z, duration:1 } );
            fuse.addItem( { target:camera, x: -800, y: 300, z: -610, duration:1 } );
            fuse.addItem( { target:camera, x: -800, y: 300, z: -110, duration:5 } );
           
            fuse.addItem( { target:this.cameraTarget, x:0, y:0, z:0, duration:1 } );
            fuse.addItem( { target:camera, x:0, y:0, z: -1000, duration:5 },{func: startOver } );
            fuse.start();
        }
    }
   
}

 

 

 

 


 

Orkestra e-fatura ürünlerinin tanıtımı amacı ile oluşturduğumuz www.gibentegrasyon.com adresi açılmıştır.

İlaç Takip Sistemi 1 Temmuz 2009 da başlayacak

Bilgi Teknolojileri Ve İletişim Kurumu Yer Sağlayıcılığı Faaliyet Belgesi

5651 nolu kanun, kanunun gerekçesi, basında çıkmış haberler

 

 


 

İlaç Takip Sistemi 1 Temmuz 2009 da başlayacak

SGK ve TEB'in talepleri üzerine İlaç Takip Sistemi, 1 Temmuz 2009 tarihi itibariyle sadece pilot eczanelerde başlatılacak, pilot uygulama 1 Temmuz - 1 Ekim tarihleri arasında sürecektir. Pilot uygulama süresince, pilot uygulama kapsamı dışındaki tüm eczaneler eskiden olduğu gibi ilaç vermeye devam edecekler, pilot eczaneler ise karekodlu ilaçların İlaç Takip Sistemi'nden onay alarak, geri ödeme kurumlarına satışını yapabileceklerdir.

Bu itibarla, tüm üreticiler tarafından 1 Temmuz 2009 tarihinden itibaren karekodlu olarak üretilen ilaçlar, kupürlü veya sürşarj etiketli olarak piyasaya verilebilecektir. Karekodlu ilaçlarda kupür yoksa, sürşarj etiketi veya kupür şeklinde bir etiket uygulanacak, barkodu bulunmayan ilaçlarda karekod barkod yerine kesilerek satılabilecektir.

Karekodlu üretilen ilaçların satışı hakkında pilot eczanelere bilgi verilecek, üretici ya da ithalatçıların izleyeceği yol hakkında ayrıca bilgi verilecektir.

İlaç Takip Sistemine uygun olarak geliştirilen ürünümüz Orkestra İTS ile tüm karekod barkod yazma işlemlerinizi yapabilirsiniz. Ayrıca İEGM bildirimlerini programımız aracılığı ile yapabilirsiniz. Orkestra İTS hakkında daha fazla bilgi almak için lütfen iletişime geçiniz.

İTS İlaç Takip Sistemi Basında Çıkmış Haberler


 

intranet uygulamaları