why don't you explain what you want to do exactly.
this class extends Object3D and has a mesh generator build a mesh, which is 
already extending Object3D...

simply make a static class that returns you an instance LatheExtrusion as Mesh

in your main code simply import this class 
and say 

var myTube:Mesh = MagicTubeMaker.pleaseDoYourThing(depth, thickness, etc);

On Apr 1, 2011, at 3:11 PM, Melanikus wrote:

> Hiya,
> 
> Thanks for your response Fabrice.  I have tried it out in the Main
> code and it seems to work fine.  However I am still haveing problems
> when I try creating a new Class outside the main code using the
> LatheExtrusion method.  I think it is simply down to my lack of
> knowledge about class structures and which classes extend others.  At
> the moment, calling this Class results in a blank screen, although the
> end trace is called, so the Class is being called and run through.
> 
> Here is my cut down version of the code using the new profile:
> 
> [code]
> package {
>       import flash.display.*;
>       import flash.geom.Vector3D;
> 
>       import away3d.arcane;
>       import away3d.extrusions.*;
>       import away3d.materials.*;
>       import away3d.core.utils.*;
>       import away3d.core.base.*;
> 
>       public class RoundTube extends Object3D {
> 
>               public function RoundTube(radius:Number, thickness:Number,
> depth:Number, init:Object = null):void {
>                       super(init);
>                       drawRoundTube(radius, thickness, depth);
>               }
> 
>               //draw round tube
>               public function drawRoundTube(radius:Number, thickness:Number,
> depth:Number):void {
>                       var profile:Array = [
>                               new Vector3D(-radius, depth, 0),
>                               new Vector3D(-radius, 0, 0)
>                       ];
> 
>                       var roundTube:LatheExtrusion = new 
> LatheExtrusion(profile);
>                       roundTube.subdivision = 18;
>                       roundTube.thickness = thickness;
>                       roundTube.centerMesh = false;
>                       roundTube.revolutions = 1;
>                       roundTube.bothsides = false;
> 
>                       //flips the model over
>                       roundTube.rotationX = -90;
> 
>                       var wMaterial:WireColorMaterial = new 
> WireColorMaterial(0x373737);
>                       wMaterial.wireColor = 0x373737;
>                       roundTube.material = wMaterial;
> 
>                       //add to holder
>                       //addChild(roundTube);
> 
>                       trace("model complete");
> 
>               }
> 
> 
>       }
> }
> [/code]
> 
> 
> 
> On Apr 1, 11:55 am, Fabrice3D <[email protected]> wrote:
>> You think too complex!
>> A single straight line, (PathSegment or PathCommand for 3.6)as profile is 
>> enough, such as -100,0,0 0,0,0 100, 0,0
>> Check the Broomstick example class, I've pushed few rings in there, 
>> inclusive one with thickness which is exactly what you want.
>> 
>> Even if slightly different from 3.x engine version, the profile principle is 
>> exactly the same.
>> 
>> Fabrice
>> 

Reply via email to